
FUNCTION 0xdb2830
00db2830 sub esp, 8
00db2833 push ebx
00db2834 push ebp
00db2835 push esi
00db2836 push edi
00db2837 mov esi, ecx
00db2839 cmp byte ptr [esi + 0x330], 0
00db2840 mov edi, edx
00db2842 mov edx, 1
00db2847 mov byte ptr [esi + 0x331], dl
00db284d je 0xdb2854
00db284f call 0xdb2210
00db2854 mov eax, dword ptr [edi + 0x1c]
00db2857 cmp eax, dword ptr [esi + 0xa0]
00db285d je 0xdb2891
00db285f mov ecx, eax
00db2861 mov eax, dword ptr [esi + 0x14]
00db2864 mov dword ptr [esi + 0xa0], ecx
00db286a mov edx, dword ptr [eax]
00db286c mov ecx, dword ptr [edi + 0x1c]
00db286f and edx, 0xffffff2c
00db2875 or edx, 0x2c
00db2878 mov dword ptr [eax], edx
00db287a mov dword ptr [eax + 4], 0xdade10
00db2881 mov dword ptr [eax + 8], ecx
00db2884 mov ecx, 8
00db2889 mov word ptr [eax + 2], cx
00db288d add dword ptr [esi + 0x14], 0xc
00db2891 cmp dword ptr [esi + 0x4c], 0
00db2895 je 0xdb28ef
00db2897 mov eax, dword ptr [edi + 0x10]
00db289a mov ecx, dword ptr [edi + 0xc]
00db289d mov ebx, dword ptr [edi + 0x18]
00db28a0 mov ebp, dword ptr [edi + 0x14]
00db28a3 mov edx, dword ptr [edi + 4]
00db28a6 mov dword ptr [esp + 0x14], eax
00db28aa mov eax, dword ptr [edi]
00db28ac mov dword ptr [esp + 0x10], eax
00db28b0 mov eax, dword ptr [esi + 0x14]
00db28b3 mov edi, dword ptr [eax]
00db28b5 and edi, 0xffffff1b
00db28bb or edi, 0x1b
00db28be mov dword ptr [eax], edi
00db28c0 mov edi, dword ptr [esp + 0x10]
00db28c4 mov dword ptr [eax + 4], edi
00db28c7 mov edi, dword ptr [esp + 0x14]
00db28cb mov dword ptr [eax + 8], edi
00db28ce mov dword ptr [eax + 0xc], ebp
00db28d1 mov dword ptr [eax + 0x10], ebx
00db28d4 mov dword ptr [eax + 0x14], edx
00db28d7 mov dword ptr [eax + 0x18], ecx
00db28da mov ecx, 0x18
00db28df pop edi
00db28e0 mov word ptr [eax + 2], cx
00db28e4 add dword ptr [esi + 0x14], 0x1c
00db28e8 pop esi
00db28e9 pop ebp
00db28ea pop ebx
00db28eb add esp, 8
00db28ee ret 
00db28ef call 0xda3620
00db28f4 mov ebx, dword ptr [edi]
00db28f6 cmp ebx, 7
00db28f9 je 0xdb2932
00db28fb mov ecx, dword ptr [edi + 0x10]
00db28fe mov edx, dword ptr [edi + 0xc]
00db2901 add ecx, dword ptr [edi + 4]
00db2904 mov eax, dword ptr [esi + 0x14]
00db2907 mov edi, dword ptr [eax]
00db2909 and edi, 0xffffff1a
00db290f or edi, 0x1a
00db2912 mov dword ptr [eax], edi
00db2914 mov dword ptr [eax + 4], ebx
00db2917 mov dword ptr [eax + 8], ecx
00db291a mov dword ptr [eax + 0xc], edx
00db291d mov edx, 0xc
00db2922 pop edi
00db2923 mov word ptr [eax + 2], dx
00db2927 add dword ptr [esi + 0x14], 0x10
00db292b pop esi
00db292c pop ebp
00db292d pop ebx
00db292e add esp, 8
00db2931 ret 
00db2932 mov ebp, dword ptr [edi + 0xc]
00db2935 lea eax, [esp + 0x14]
00db2939 push eax
00db293a mov edx, ebp
00db293c mov ecx, esi
00db293e call 0xddb610
00db2943 mov ecx, dword ptr [esi + 0x14]
00db2946 mov edx, dword ptr [ecx]
00db2948 and edx, 0xffffff25
00db294e or edx, 0x25
00db2951 mov dword ptr [ecx], edx
00db2953 mov dword ptr [ecx + 4], eax
00db2956 lea edx, [ecx + 4]
00db2959 mov eax, 4
00db295e mov word ptr [ecx + 2], ax
00db2962 mov eax, dword ptr [esp + 0x14]
00db2966 add dword ptr [esi + 0x14], 8
00db296a test eax, eax
00db296c je 0xdb2970
00db296e mov dword ptr [eax], edx
00db2970 call 0xddb740
00db2975 mov ebx, dword ptr [edi + 0x10]
00db2978 add ebx, dword ptr [edi + 4]
00db297b mov ecx, eax
00db297d mov eax, 0x2aaaaaab
00db2982 imul ecx
00db2984 mov ecx, edx
00db2986 shr ecx, 0x1f
00db2989 add ecx, edx
00db298b xor edi, edi
00db298d mov dword ptr [esp + 0x14], ecx
00db2991 cmp ebp, edi
00db2993 jle 0xdb29e8
00db2995 jmp 0xdb299b
00db2997 mov ecx, dword ptr [esp + 0x14]
00db299b cmp ebp, ecx
00db299d jge 0xdb29a1
00db299f mov ecx, ebp
00db29a1 mov eax, dword ptr [esi + 0x14]
00db29a4 mov edx, dword ptr [eax]
00db29a6 and edx, 0xffffff1b
00db29ac or edx, 0x1b
00db29af mov dword ptr [eax], edx
00db29b1 mov dword ptr [eax + 4], 4
00db29b8 mov dword ptr [eax + 8], ebx
00db29bb mov dword ptr [eax + 0xc], edi
00db29be lea edx, [ecx*4]
00db29c5 mov dword ptr [eax + 0x10], edx
00db29c8 mov dword ptr [eax + 0x14], edi
00db29cb lea edi, [ecx + ecx]
00db29ce mov dword ptr [eax + 0x18], edi
00db29d1 mov edi, 0x18
00db29d6 mov word ptr [eax + 2], di
00db29da add dword ptr [esi + 0x14], 0x1c
00db29de sub ebp, ecx
00db29e0 add ebx, edx
00db29e2 xor edi, edi
00db29e4 test ebp, ebp
00db29e6 jg 0xdb2997
00db29e8 mov eax, dword ptr [esi + 0x14]
00db29eb mov ecx, dword ptr [eax]
00db29ed and ecx, 0xffffff25
00db29f3 or ecx, 0x25
00db29f6 mov dword ptr [eax], ecx
00db29f8 mov dword ptr [eax + 4], edi
00db29fb mov edx, 4
00db2a00 pop edi
00db2a01 mov word ptr [eax + 2], dx
00db2a05 add dword ptr [esi + 0x14], 8
00db2a09 pop esi
00db2a0a pop ebp
00db2a0b pop ebx
00db2a0c add esp, 8
00db2a0f ret 
00db2a10 push ebp
00db2a11 mov ebp, esp
00db2a13 and esp, 0xfffffff0
00db2a16 sub esp, 0x24
00db2a19 push ebx
00db2a1a push esi
00db2a1b push edi
00db2a1c mov edi, edx
00db2a1e xor ebx, ebx
00db2a20 mov esi, ecx
00db2a22 cmp edi, ebx
00db2a24 jne 0xdb2a2b
00db2a26 mov edi, 0xfd1330
00db2a2b mov eax, dword ptr [esi + 0xb4]
00db2a31 mov dword ptr [esp + 0x10], ebx
00db2a35 cmp dword ptr [eax + 0x44], ebx
00db2a38 je 0xdb2a57
00db2a3a mov eax, dword ptr [edi]
00db2a3c test eax, 0x400
00db2a41 je 0xdb2a4b
00db2a43 mov dword ptr [esp + 0x10], 4
00db2a4b test eax, 0x200
00db2a50 je 0xdb2a57
00db2a52 or dword ptr [esp + 0x10], 2
00db2a57 mov ecx, dword ptr [edi]
00db2a59 shr ecx, 4
00db2a5c mov eax, 1
00db2a61 test cl, 0x1f
00db2a64 jle 0xdb2a6a
00db2a66 or dword ptr [esp + 0x10], eax
00db2a6a cmp dword ptr [esp + 0x10], ebx
00db2a6e je 0xdb2c0d
00db2a74 mov byte ptr [esi + 0x331], al
00db2a7a cmp byte ptr [esi + 0x330], bl
00db2a80 je 0xdb2a8b
00db2a82 xor edx, edx
00db2a84 mov ecx, esi
00db2a86 call 0xdb2210
00db2a8b mov edx, dword ptr [esi + 0x25a4]
00db2a91 push ebx
00db2a92 mov dword ptr [esp + 0x20], edx
00db2a96 push ebx
00db2a97 mov edx, 0x59
00db2a9c mov ecx, esi
00db2a9e call 0xdb12e0
00db2aa3 lea eax, [edi + 0x10]
00db2aa6 xor ecx, ecx
00db2aa8 cmp eax, ebx
00db2aaa je 0xdb2bb8
00db2ab0 movaps xmm0, xmmword ptr [eax]
00db2ab3 movss xmm1, dword ptr [0xec6fd4]
00db2abb movaps xmmword ptr [esp + 0x20], xmm0
00db2ac0 movss xmm2, dword ptr [esp + 0x28]
00db2ac6 movss xmm0, dword ptr [0xec9494]
00db2ace mulss xmm2, xmm0
00db2ad2 addss xmm2, xmm1
00db2ad6 movss dword ptr [esp + 0x14], xmm2
00db2adc cvttss2si eax, dword ptr [esp + 0x14]
00db2ae2 cmp eax, ebx
00db2ae4 jg 0xdb2aee
00db2ae6 xor eax, eax
00db2ae8 mov dword ptr [esp + 0x14], eax
00db2aec jmp 0xdb2b03
00db2aee cmp eax, 0xff
00db2af3 jge 0xdb2afb
00db2af5 mov dword ptr [esp + 0x14], eax
00db2af9 jmp 0xdb2b03
00db2afb mov dword ptr [esp + 0x14], 0xff
00db2b03 movss xmm2, dword ptr [esp + 0x24]
00db2b09 mulss xmm2, xmm0
00db2b0d addss xmm2, xmm1
00db2b11 movss dword ptr [esp + 0x18], xmm2
00db2b17 cvttss2si eax, dword ptr [esp + 0x18]
00db2b1d cmp eax, ebx
00db2b1f jg 0xdb2b27
00db2b21 xor eax, eax
00db2b23 mov ebx, eax
00db2b25 jmp 0xdb2b37
00db2b27 cmp eax, 0xff
00db2b2c jge 0xdb2b32
00db2b2e mov ebx, eax
00db2b30 jmp 0xdb2b37
00db2b32 mov ebx, 0xff
00db2b37 movss xmm2, dword ptr [esp + 0x20]
00db2b3d mulss xmm2, xmm0
00db2b41 addss xmm2, xmm1
00db2b45 movss dword ptr [esp + 0x18], xmm2
00db2b4b cvttss2si eax, dword ptr [esp + 0x18]
00db2b51 test eax, eax
00db2b53 jg 0xdb2b5b
00db2b55 xor eax, eax
00db2b57 mov edx, eax
00db2b59 jmp 0xdb2b6b
00db2b5b cmp eax, 0xff
00db2b60 jge 0xdb2b66
00db2b62 mov edx, eax
00db2b64 jmp 0xdb2b6b
00db2b66 mov edx, 0xff
00db2b6b movss xmm2, dword ptr [esp + 0x2c]
00db2b71 mulss xmm2, xmm0
00db2b75 addss xmm2, xmm1
00db2b79 movss dword ptr [esp + 0x18], xmm2
00db2b7f cvttss2si eax, dword ptr [esp + 0x18]
00db2b85 test eax, eax
00db2b87 jg 0xdb2b8d
00db2b89 xor eax, eax
00db2b8b jmp 0xdb2b99
00db2b8d cmp eax, 0xff
00db2b92 jl 0xdb2b99
00db2b94 mov eax, 0xff
00db2b99 movzx ecx, al
00db2b9c shl ecx, 8
00db2b9f movzx eax, dl
00db2ba2 or ecx, eax
00db2ba4 movzx eax, byte ptr [esp + 0x14]
00db2ba9 shl ecx, 8
00db2bac movzx edx, bl
00db2baf or ecx, edx
00db2bb1 shl ecx, 8
00db2bb4 or ecx, eax
00db2bb6 xor ebx, ebx
00db2bb8 mov edx, dword ptr [edi]
00db2bba movss xmm0, dword ptr [edi + 4]
00db2bbf mov eax, dword ptr [esi + 0x14]
00db2bc2 mov edi, dword ptr [eax]
00db2bc4 and edi, 0xffffff13
00db2bca or edi, 0x13
00db2bcd mov dword ptr [eax], edi
00db2bcf mov edi, dword ptr [esp + 0x10]
00db2bd3 mov dword ptr [eax + 4], ebx
00db2bd6 mov dword ptr [eax + 8], ebx
00db2bd9 mov dword ptr [eax + 0xc], edi
00db2bdc mov dword ptr [eax + 0x10], ecx
00db2bdf shr edx, 0xb
00db2be2 and edx, 0xff
00db2be8 movss dword ptr [eax + 0x14], xmm0
00db2bed mov dword ptr [eax + 0x18], edx
00db2bf0 mov edx, dword ptr [esp + 0x1c]
00db2bf4 mov ecx, 0x18
00db2bf9 push ebx
00db2bfa mov word ptr [eax + 2], cx
00db2bfe add dword ptr [esi + 0x14], 0x1c
00db2c02 push edx
00db2c03 lea edx, [ecx + 0x41]
00db2c06 mov ecx, esi
00db2c08 call 0xdb12e0
00db2c0d pop edi
00db2c0e pop esi
00db2c0f pop ebx
00db2c10 mov esp, ebp
00db2c12 pop ebp
00db2c13 ret 
00db2c14 int3 
00db2c15 int3 
00db2c16 int3 
00db2c17 int3 
00db2c18 int3 
00db2c19 int3 
00db2c1a int3 
00db2c1b int3 
00db2c1c int3 
00db2c1d int3 
00db2c1e int3 
00db2c1f int3 
00db2c20 push esi
00db2c21 mov esi, ecx
00db2c23 cmp byte ptr [esi + 0x330], 0
00db2c2a mov eax, 1
00db2c2f push edi
00db2c30 mov edi, edx
00db2c32 mov dword ptr [esi + 0x3e4], eax
00db2c38 mov byte ptr [esi + 0x331], al
00db2c3e je 0xdb2c47
00db2c40 xor edx, edx
00db2c42 call 0xdb2210
00db2c47 mov eax, dword ptr [esi + 0x14]
00db2c4a mov ecx, 8
00db2c4f mov word ptr [eax + 2], cx
00db2c53 add dword ptr [esi + 0x14], 0xc
00db2c57 mov edx, dword ptr [eax]
00db2c59 and edx, 0xffffff07
00db2c5f or edx, 7
00db2c62 mov dword ptr [eax], edx
00db2c64 mov dword ptr [eax + 4], edi
00db2c67 pop edi
00db2c68 mov ecx, esi
00db2c6a pop esi
00db2c6b jmp 0xdb2060
00db2c70 sub esp, 8
00db2c73 push edi
00db2c74 mov edi, ecx
00db2c76 mov eax, dword ptr [edi + 0xb4]
00db2c7c mov ecx, dword ptr [esp + 0x10]
00db2c80 mov dword ptr [esp + 4], edx
00db2c84 cmp ecx, dword ptr [eax + edx*8 + 0x24]
00db2c88 je 0xdb2d9b
00db2c8e push ebx
00db2c8f mov ebx, dword ptr [esp + 0x24]
00db2c93 push ebp
00db2c94 mov ebp, dword ptr [esp + 0x2c]
00db2c98 push esi
00db2c99 mov esi, dword ptr [edi + 0x18]
00db2c9c sub esi, 0x20
00db2c9f mov eax, esi
00db2ca1 and eax, 3
00db2ca4 sub esi, eax
00db2ca6 mov dword ptr [edi + 0x18], esi
00db2ca9 mov ecx, dword ptr [ebx]
00db2cab mov dword ptr [esi], ecx
00db2cad mov ecx, dword ptr [ebx + 4]

FUNCTION 0xdb2db0
00db2db0 sub esp, 8
00db2db3 push ebx
00db2db4 push ebp
00db2db5 push esi
00db2db6 mov esi, ecx
00db2db8 xor ebp, ebp
00db2dba cmp byte ptr [esi + 0x330], 0
00db2dc1 mov dword ptr [esp + 0xc], edx
00db2dc5 mov edx, 1
00db2dca push edi
00db2dcb mov dword ptr [esi + 0x48], ebp
00db2dce mov dword ptr [esi + 0x4c], ebp
00db2dd1 mov byte ptr [esi + 0x331], dl
00db2dd7 je 0xdb2dde
00db2dd9 call 0xdb2210
00db2dde mov edx, dword ptr [esp + 0x20]
00db2de2 mov ebx, dword ptr [esp + 0x24]
00db2de6 cmp edx, ebp
00db2de8 jne 0xdb2e8d
00db2dee mov edi, dword ptr [esp + 0x1c]
00db2df2 lea eax, [esp + 0x24]
00db2df6 push eax
00db2df7 mov edx, edi
00db2df9 mov ecx, esi
00db2dfb call 0xddb360
00db2e00 mov ecx, dword ptr [esi + 0x14]
00db2e03 mov edx, dword ptr [ecx]
00db2e05 and edx, 0xffffff23
00db2e0b or edx, 0x23
00db2e0e mov dword ptr [ecx], edx
00db2e10 mov dword ptr [ecx + 4], ebp
00db2e13 mov dword ptr [ecx + 8], eax
00db2e16 lea edx, [ecx + 8]
00db2e19 mov dword ptr [ecx + 0xc], ebp
00db2e1c mov dword ptr [ecx + 0x10], 4
00db2e23 mov eax, 0x10
00db2e28 mov word ptr [ecx + 2], ax
00db2e2c mov eax, dword ptr [esp + 0x24]
00db2e30 add dword ptr [esi + 0x14], 0x14
00db2e34 cmp eax, ebp
00db2e36 je 0xdb2e3a
00db2e38 mov dword ptr [eax], edx
00db2e3a cmp dword ptr [0x14576c4], ebp
00db2e40 jne 0xdb2e4c
00db2e42 mov ecx, 0x14576c4
00db2e47 call 0xdf3f40
00db2e4c mov eax, dword ptr [esi + 0x14]
00db2e4f mov edx, dword ptr [eax]
00db2e51 mov ecx, dword ptr [0x14576c4]
00db2e57 and edx, 0xffffff2c
00db2e5d or edx, 0x2c
00db2e60 mov dword ptr [eax], edx
00db2e62 mov dword ptr [eax + 4], 0xdae360
00db2e69 mov dword ptr [eax + 8], ecx
00db2e6c mov ecx, 8
00db2e71 mov word ptr [eax + 2], cx
00db2e75 add dword ptr [esi + 0x14], 0xc
00db2e79 cmp dword ptr [esi + 0x44], ebp
00db2e7c mov dword ptr [esi + 0x90], ebp
00db2e82 setne dl
00db2e85 or byte ptr [esi + 0x330], dl
00db2e8b jmp 0xdb2ec3
00db2e8d cmp dword ptr [esp + 0x28], ebp
00db2e91 jne 0xdb2ebf
00db2e93 mov eax, dword ptr [esi + 0x1c]
00db2e96 cmp eax, dword ptr [esi + 0x20]
00db2e99 je 0xdb2ebf
00db2e9b mov ecx, dword ptr [esp + 0x1c]
00db2e9f mov eax, dword ptr [esi + 0x18]
00db2ea2 imul ecx, ebx
00db2ea5 sub eax, ecx
00db2ea7 mov edi, eax
00db2ea9 and edi, 3
00db2eac sub eax, edi
00db2eae mov edi, eax
00db2eb0 push ecx
00db2eb1 mov ecx, edi
00db2eb3 mov dword ptr [esi + 0x18], edi
00db2eb6 call 0xd958b0
00db2ebb mov dword ptr [esp + 0x20], edi
00db2ebf mov edi, dword ptr [esp + 0x1c]
00db2ec3 cmp edi, ebp
00db2ec5 jle 0xdb3101
00db2ecb jmp 0xdb2ed4
00db2ecd lea ecx, [ecx]
00db2ed0 mov edi, dword ptr [esp + 0x1c]
00db2ed4 mov ecx, dword ptr [esp + 0x10]
00db2ed8 mov edx, edi
00db2eda mov dword ptr [esp + 0x24], edi
00db2ede call 0xdd1f60
00db2ee3 mov edi, eax
00db2ee5 call 0xda3620
00db2eea cmp dword ptr [esp + 0x10], 7
00db2eef mov eax, dword ptr [eax + 0x21df0]
00db2ef5 jne 0xdb2ef9
00db2ef7 sar eax, 1
00db2ef9 cmp edi, eax
00db2efb jle 0xdb2f0e
00db2efd mov ecx, dword ptr [esp + 0x10]
00db2f01 mov edx, eax
00db2f03 mov edi, eax
00db2f05 call 0xdd1f40
00db2f0a mov dword ptr [esp + 0x24], eax
00db2f0e mov ecx, dword ptr [esp + 0x10]
00db2f12 cmp ecx, 7
00db2f15 je 0xdb2f65
00db2f17 cmp dword ptr [esp + 0x20], 0
00db2f1c mov eax, dword ptr [esi + 0x14]
00db2f1f mov edx, dword ptr [eax]
00db2f21 jne 0xdb2f49
00db2f23 and edx, 0xffffff1a
00db2f29 or edx, 0x1a
00db2f2c mov dword ptr [eax], edx
00db2f2e mov dword ptr [eax + 4], ecx
00db2f31 mov dword ptr [eax + 8], ebp
00db2f34 mov dword ptr [eax + 0xc], edi
00db2f37 mov ecx, 0xc
00db2f3c mov word ptr [eax + 2], cx
00db2f40 add dword ptr [esi + 0x14], 0x10
00db2f44 jmp 0xdb30e9
00db2f49 and edx, 0xffffff1c
00db2f4f or edx, 0x1c
00db2f52 mov dword ptr [eax], edx
00db2f54 mov dword ptr [eax + 4], ecx
00db2f57 mov ecx, ebp
00db2f59 imul ecx, ebx
00db2f5c add ecx, dword ptr [esp + 0x20]
00db2f60 mov dword ptr [eax + 8], edi
00db2f63 jmp 0xdb2fcc
00db2f65 mov edi, dword ptr [esp + 0x1c]
00db2f69 cmp edi, 4
00db2f6c jne 0xdb2fe4
00db2f6e mov edx, dword ptr [esp + 0x20]
00db2f72 mov eax, dword ptr [esi + 0x14]
00db2f75 mov ecx, 6
00db2f7a mov dword ptr [esp + 0x10], ecx
00db2f7e test edx, edx
00db2f80 jne 0xdb2fae
00db2f82 mov edx, dword ptr [eax]
00db2f84 and edx, 0xffffff1a
00db2f8a or edx, 0x1a
00db2f8d mov dword ptr [eax], edx
00db2f8f mov dword ptr [eax + 4], ecx
00db2f92 mov dword ptr [eax + 8], ebp
00db2f95 mov dword ptr [eax + 0xc], 2
00db2f9c mov ecx, 0xc
00db2fa1 mov word ptr [eax + 2], cx
00db2fa5 add dword ptr [esi + 0x14], 0x10
00db2fa9 jmp 0xdb30e9
00db2fae mov edi, dword ptr [eax]
00db2fb0 and edi, 0xffffff1c
00db2fb6 or edi, 0x1c
00db2fb9 mov dword ptr [eax], edi
00db2fbb mov dword ptr [eax + 4], ecx
00db2fbe mov ecx, ebp
00db2fc0 imul ecx, ebx
00db2fc3 mov dword ptr [eax + 8], 2
00db2fca add ecx, edx
00db2fcc mov dword ptr [eax + 0xc], ecx
00db2fcf mov dword ptr [eax + 0x10], ebx
00db2fd2 mov edx, 0x10
00db2fd7 mov word ptr [eax + 2], dx
00db2fdb add dword ptr [esi + 0x14], 0x14
00db2fdf jmp 0xdb30e9
00db2fe4 sar edi, 2
00db2fe7 cmp dword ptr [esp + 0x20], 0
00db2fec jne 0xdb306c
00db2fee test ebp, ebp
00db2ff0 jne 0xdb302d
00db2ff2 lea eax, [esp + 0x28]
00db2ff6 push eax
00db2ff7 mov edx, edi
00db2ff9 mov ecx, esi
00db2ffb call 0xddb610
00db3000 mov ecx, dword ptr [esi + 0x14]
00db3003 mov edx, dword ptr [ecx]
00db3005 and edx, 0xffffff25
00db300b or edx, 0x25
00db300e mov dword ptr [ecx], edx
00db3010 mov dword ptr [ecx + 4], eax
00db3013 lea edx, [ecx + 4]
00db3016 mov eax, 4
00db301b mov word ptr [ecx + 2], ax
00db301f mov eax, dword ptr [esp + 0x28]
00db3023 add dword ptr [esi + 0x14], 8
00db3027 test eax, eax
00db3029 je 0xdb302d
00db302b mov dword ptr [eax], edx
00db302d mov eax, dword ptr [esi + 0x14]
00db3030 mov ecx, dword ptr [eax]
00db3032 and ecx, 0xffffff1b
00db3038 or ecx, 0x1b
00db303b mov dword ptr [eax], ecx
00db303d mov dword ptr [eax + 4], 4
00db3044 mov dword ptr [eax + 8], ebp
00db3047 xor ecx, ecx
00db3049 mov dword ptr [eax + 0xc], ecx
00db304c lea edx, [edi + edi*2]
00db304f add edx, edx
00db3051 mov dword ptr [eax + 0x10], edx
00db3054 mov dword ptr [eax + 0x14], ecx
00db3057 lea ecx, [edi + edi]
00db305a mov dword ptr [eax + 0x18], ecx
00db305d mov edx, 0x18
00db3062 mov word ptr [eax + 2], dx
00db3066 add dword ptr [esi + 0x14], 0x1c
00db306a jmp 0xdb30e9
00db306c call 0xddb740
00db3071 lea ecx, [edi + edi*2]
00db3074 add ecx, ecx
00db3076 cmp eax, ecx
00db3078 jl 0xdb30e9
00db307a lea edx, [esp + 0x14]
00db307e push edx
00db307f mov edx, edi
00db3081 mov ecx, esi
00db3083 call 0xddb6b0
00db3088 mov ecx, dword ptr [esi + 0x14]
00db308b mov edx, dword ptr [ecx]
00db308d and edx, 0xffffff1d
00db3093 or edx, 0x1d
00db3096 mov dword ptr [ecx], edx
00db3098 mov dword ptr [ecx + 4], 4
00db309f mov dword ptr [ecx + 8], 0
00db30a6 lea edx, [edi*4]
00db30ad mov dword ptr [ecx + 0xc], edx
00db30b0 lea edx, [edi + edi]
00db30b3 mov dword ptr [ecx + 0x10], edx
00db30b6 mov dword ptr [ecx + 0x14], eax
00db30b9 lea edx, [ecx + 0x14]
00db30bc mov eax, ebp
00db30be imul eax, ebx
00db30c1 add eax, dword ptr [esp + 0x20]
00db30c5 mov dword ptr [ecx + 0x18], 0x66
00db30cc mov dword ptr [ecx + 0x1c], eax
00db30cf mov dword ptr [ecx + 0x20], ebx
00db30d2 mov eax, 0x20
00db30d7 mov word ptr [ecx + 2], ax
00db30db mov eax, dword ptr [esp + 0x14]
00db30df add dword ptr [esi + 0x14], 0x24
00db30e3 test eax, eax
00db30e5 je 0xdb30e9
00db30e7 mov dword ptr [eax], edx
00db30e9 mov eax, dword ptr [esp + 0x24]
00db30ed mov ecx, dword ptr [esp + 0x1c]
00db30f1 sub ecx, eax
00db30f3 add ebp, eax
00db30f5 mov dword ptr [esp + 0x1c], ecx
00db30f9 test ecx, ecx
00db30fb jg 0xdb2ed0
00db3101 pop edi
00db3102 pop esi
00db3103 pop ebp
00db3104 pop ebx
00db3105 add esp, 8
00db3108 ret 0x10
00db310b int3 
00db310c int3 
00db310d int3 
00db310e int3 
00db310f int3 
00db3110 push ecx
00db3111 push ebx
00db3112 push ebp
00db3113 push esi
00db3114 mov ebx, edx
00db3116 mov esi, ecx
00db3118 cmp byte ptr [esi + 0x330], 0
00db311f mov edx, 1
00db3124 push edi
00db3125 mov dword ptr [esp + 0x10], ebx
00db3129 mov byte ptr [esi + 0x331], dl
00db312f je 0xdb3136
00db3131 call 0xdb2210
00db3136 cmp dword ptr [esp + 0x24], 0
00db313b jne 0xdb316f
00db313d mov eax, dword ptr [esi + 0x1c]
00db3140 cmp eax, dword ptr [esi + 0x20]
00db3143 je 0xdb316f
00db3145 mov ecx, dword ptr [esp + 0x18]
00db3149 imul ecx, dword ptr [esp + 0x20]
00db314e mov eax, dword ptr [esi + 0x18]
00db3151 sub eax, ecx
00db3153 mov edx, eax
00db3155 and edx, 3
00db3158 sub eax, edx
00db315a mov edx, dword ptr [esp + 0x1c]
00db315e mov edi, eax
00db3160 push ecx
00db3161 mov ecx, edi
00db3163 mov dword ptr [esi + 0x18], edi
00db3166 call 0xd958b0
00db316b mov dword ptr [esp + 0x1c], edi
00db316f cmp dword ptr [esp + 0x30], 0
00db3174 mov ebp, dword ptr [esp + 0x2c]
00db3178 mov edi, dword ptr [esp + 0x28]
00db317c jne 0xdb31b2
00db317e test edi, edi
00db3180 je 0xdb31b2
00db3182 mov eax, dword ptr [esi + 0x1c]
00db3185 cmp eax, dword ptr [esi + 0x20]
00db3188 je 0xdb31b2
00db318a mov eax, dword ptr [esi + 0x18]
00db318d lea ecx, [ebp*4]
00db3194 sub eax, ecx
00db3196 mov edx, eax
00db3198 and edx, 3
00db319b sub eax, edx
00db319d mov ebx, eax
00db319f push ecx
00db31a0 mov edx, edi
00db31a2 mov ecx, ebx
00db31a4 mov dword ptr [esi + 0x18], ebx
00db31a7 call 0xd958b0
00db31ac mov edi, ebx

FUNCTION 0xdbff40
00dbff40 movss xmm1, dword ptr [esp + 0xc]
00dbff46 movss xmm3, dword ptr [esp + 8]
00dbff4c movss xmm5, dword ptr [0xec6e14]
00dbff54 xorps xmm4, xmm4
00dbff57 movaps xmm0, xmm1
00dbff5a divss xmm0, xmm3
00dbff5e comiss xmm0, xmm5
00dbff61 movaps xmm2, xmm4
00dbff64 jbe 0xdbff69
00dbff66 movaps xmm0, xmm5
00dbff69 mov eax, dword ptr [ecx + 0x14]
00dbff6c mov eax, dword ptr [eax + 0x74]
00dbff6f jmp dword ptr [eax*4 + 0xdbfff4]
00dbff76 mov eax, dword ptr [ecx + 0x14]
00dbff79 movaps xmm1, xmm0
00dbff7c mulss xmm1, xmm3
00dbff80 movss xmm3, dword ptr [eax + 0x64]
00dbff85 subss xmm3, xmm1
00dbff89 movss dword ptr [eax + 0x10], xmm3
00dbff8e jmp 0xdbffd9
00dbff90 mov eax, dword ptr [ecx + 0x14]
00dbff93 movss xmm1, dword ptr [eax + 0x64]
00dbff98 addss xmm1, dword ptr [eax + 0x60]
00dbff9d movaps xmm4, xmm0
00dbffa0 mulss xmm4, xmm3
00dbffa4 subss xmm1, xmm4
00dbffa8 mulss xmm1, dword ptr [0xec6fd4]
00dbffb0 movss dword ptr [eax + 0x10], xmm1
00dbffb5 jmp 0xdbffd9
00dbffb7 mov eax, dword ptr [esp + 0x10]
00dbffbb test eax, eax
00dbffbd jle 0xdbffd9
00dbffbf xorps xmm2, xmm2
00dbffc2 cvtsi2ss xmm2, eax
00dbffc6 subss xmm1, xmm3
00dbffca divss xmm1, xmm2
00dbffce movaps xmm2, xmm1
00dbffd1 comiss xmm4, xmm2
00dbffd4 jbe 0xdbffd9
00dbffd6 movaps xmm2, xmm4
00dbffd9 mov eax, dword ptr [esp + 4]
00dbffdd sub esp, 8
00dbffe0 movss dword ptr [esp + 4], xmm2
00dbffe6 movss dword ptr [esp], xmm0
00dbffeb push eax
00dbffec call 0xdbfc40
00dbfff1 ret 0x10
00dbfff4 fcos 
00dbfff6 fild dword ptr [eax]
00dbfff8 jbe 0xdbfff9
00dbfffa fild dword ptr [eax]
00dbfffc nop 
