
FUNCTION 0xdb59f0
00db59f0 sub esp, 0x28
00db59f3 push ebx
00db59f4 push ebp
00db59f5 push esi
00db59f6 push edi
00db59f7 mov dword ptr [esp + 0x10], edx
00db59fb mov edi, ecx
00db59fd call 0xd96820
00db5a02 mov ebx, dword ptr [esp + 0x44]
00db5a06 or ebx, dword ptr [edi + 0x14]
00db5a09 mov dword ptr [esp + 0x18], eax
00db5a0d mov dword ptr [esp + 0x1c], edx
00db5a11 call 0xda3620
00db5a16 mov eax, dword ptr [eax + 0x3094]
00db5a1c mov esi, dword ptr [eax + 8]
00db5a1f mov ecx, dword ptr [esi + 0x10]
00db5a22 xor edx, edx
00db5a24 mov eax, ecx
00db5a26 div dword ptr [edi + 0x84]
00db5a2c mov dword ptr [esp + 0x44], ecx
00db5a30 mov ebp, edx
00db5a32 mov edx, dword ptr [esp + 0x40]
00db5a36 test edx, edx
00db5a38 je 0xdb5a53
00db5a3a cmp dword ptr [edi + 0x68], 0
00db5a3e jle 0xdb5a53
00db5a40 cmp dword ptr [edi + 0x18], ecx
00db5a43 je 0xdb5a53
00db5a45 mov eax, dword ptr [edi + 8]
00db5a48 mov eax, dword ptr [eax]
00db5a4a push ebp
00db5a4b mov ecx, edi
00db5a4d call eax
00db5a4f mov ecx, dword ptr [esp + 0x44]
00db5a53 mov dword ptr [edi + 0x18], ecx
00db5a56 cmp dword ptr [0x1457720], 0
00db5a5d je 0xdb5b02
00db5a63 cmp dword ptr [esp + 0x3c], 0
00db5a68 je 0xdb5b02
00db5a6e mov ecx, ebx
00db5a70 mov eax, ebx
00db5a72 shr ecx, 0xc
00db5a75 shr eax, 0xd
00db5a78 and eax, 1
00db5a7b and ecx, 1
00db5a7e mov dword ptr [esp + 0x44], ecx
00db5a82 mov dword ptr [esp + 0x40], eax
00db5a86 mov dword ptr [esp + 0x14], eax
00db5a8a test ebx, 0x3000
00db5a90 je 0xdb5aba
00db5a92 mov ecx, dword ptr [esp + 0x48]
00db5a96 push ecx
00db5a97 lea edx, [esp + 0x18]
00db5a9b push edx
00db5a9c mov edx, dword ptr [esp + 0x44]
00db5aa0 lea eax, [esp + 0x48]
00db5aa4 push eax
00db5aa5 lea ecx, [esp + 0x50]
00db5aa9 push ecx
00db5aaa push edx
00db5aab mov edx, dword ptr [esp + 0x24]
00db5aaf mov ecx, edi
00db5ab1 call 0xe0b260
00db5ab6 mov ecx, dword ptr [esp + 0x44]
00db5aba test ecx, ecx
00db5abc jne 0xdb5ac5
00db5abe and dword ptr [edi + 0x14], 0xffffefff
00db5ac5 cmp dword ptr [esp + 0x40], 0
00db5aca jne 0xdb5ada
00db5acc cmp dword ptr [esp + 0x14], 0
00db5ad1 jne 0xdb5ada
00db5ad3 and dword ptr [edi + 0x14], 0xffffdfff
00db5ada test ebx, 0x4000
00db5ae0 je 0xdb5b02
00db5ae2 mov eax, dword ptr [esp + 0x48]
00db5ae6 mov ecx, dword ptr [esp + 0x3c]
00db5aea mov edx, dword ptr [esp + 0x10]
00db5aee push eax
00db5aef push ecx
00db5af0 mov ecx, edi
00db5af2 call 0xe0ab30
00db5af7 test eax, eax
00db5af9 jne 0xdb5b02
00db5afb and dword ptr [edi + 0x14], 0xffffbfff
00db5b02 cmp dword ptr [edi + 0xa8], 0
00db5b09 jne 0xdb5b15
00db5b0b mov dword ptr [esp + 0x44], 0
00db5b13 jmp 0xdb5b1f
00db5b15 lea edx, [edi + 0xa0]
00db5b1b mov dword ptr [esp + 0x44], edx
00db5b1f mov ecx, dword ptr [edi + 0x88]
00db5b25 shl ebp, 5
00db5b28 mov eax, ebp
00db5b2a lea ebp, [edi + 0x8c]
00db5b30 cmp dword ptr [esi + 0x44], ebp
00db5b33 lea ecx, [eax + ecx + 8]
00db5b37 setne dl
00db5b3a or byte ptr [esi + 0x330], dl
00db5b40 cmp dword ptr [esi + 0x48], ecx
00db5b43 mov dword ptr [esi + 0x44], ebp
00db5b46 mov ebp, dword ptr [esp + 0x44]
00db5b4a setne dl
00db5b4d or byte ptr [esi + 0x330], dl
00db5b53 cmp dword ptr [esi + 0x4c], ebp
00db5b56 mov dword ptr [esi + 0x48], ecx
00db5b59 setne cl
00db5b5c or byte ptr [esi + 0x330], cl
00db5b62 mov dword ptr [esi + 0x4c], ebp
00db5b65 mov ebp, dword ptr [esp + 0x10]
00db5b69 cmp dword ptr [esi + 0x50], ebp
00db5b6c setne dl
00db5b6f or byte ptr [esi + 0x330], dl
00db5b75 mov dword ptr [esi + 0x50], ebp
00db5b78 mov ecx, dword ptr [edi + 0x88]
00db5b7e mov edx, dword ptr [edi + 0x80]
00db5b84 mov dword ptr [esp + 0x2c], ebx
00db5b88 mov ebx, dword ptr [esp + 0x48]
00db5b8c add ecx, eax
00db5b8e cmp dword ptr [esp + 0x3c], 0
00db5b93 mov dword ptr [esp + 0x44], edx
00db5b97 mov dword ptr [esp + 0x24], edi
00db5b9b mov dword ptr [esp + 0x30], ebx
00db5b9f mov dword ptr [esp + 0x34], ecx
00db5ba3 jne 0xdb5c13
00db5ba5 mov edi, dword ptr [edi + 0x7c]
00db5ba8 xor eax, eax
00db5baa test edi, edi
00db5bac jle 0xdb5bc4
00db5bae lea ecx, [edx + 0x24]
00db5bb1 movzx ebp, word ptr [ecx - 2]
00db5bb5 mov ebp, dword ptr [ebx + ebp*4]
00db5bb8 test dword ptr [ecx], ebp
00db5bba jne 0xdb5bc4
00db5bbc inc eax
00db5bbd add ecx, 0x40
00db5bc0 cmp eax, edi
00db5bc2 jl 0xdb5bb1
00db5bc4 sub edi, eax
00db5bc6 test edi, edi
00db5bc8 jle 0xdb5be5
00db5bca shl eax, 6
00db5bcd add eax, edx
00db5bcf lea edx, [esp + 0x20]
00db5bd3 push edx
00db5bd4 xor edx, edx
00db5bd6 mov ecx, esi
00db5bd8 mov dword ptr [esp + 0x2c], eax
00db5bdc mov dword ptr [esp + 0x24], edi
00db5be0 call 0xdb57a0
00db5be5 xor eax, eax
00db5be7 mov dword ptr [esi + 0x44], eax
00db5bea mov dword ptr [esi + 0x48], eax
00db5bed mov dword ptr [esi + 0x4c], eax
00db5bf0 call 0xd96820
00db5bf5 sub eax, dword ptr [esp + 0x18]
00db5bf9 pop edi
00db5bfa sbb edx, dword ptr [esp + 0x18]
00db5bfe add dword ptr [0x1457850], eax
00db5c04 pop esi
00db5c05 pop ebp
00db5c06 adc dword ptr [0x1457854], edx
00db5c0c pop ebx
00db5c0d add esp, 0x28
00db5c10 ret 0x10
00db5c13 cmp dword ptr [edi + 0x7c], 0
00db5c17 jle 0xdb5be5
00db5c19 xor ebx, ebx
00db5c1b jmp 0xdb5c20
00db5c1d lea ecx, [ecx]
00db5c20 cmp ebx, dword ptr [edi + 0x7c]
00db5c23 jge 0xdb5be5
00db5c25 mov eax, ebx
00db5c27 shl eax, 6
00db5c2a lea eax, [eax + edx + 0x24]
00db5c2e mov edi, edi
00db5c30 movzx ecx, word ptr [eax - 2]
00db5c34 mov ebp, dword ptr [esp + 0x48]
00db5c38 mov ecx, dword ptr [ebp + ecx*4]
00db5c3c test dword ptr [eax], ecx
00db5c3e jne 0xdb5c49
00db5c40 inc ebx
00db5c41 add eax, 0x40
00db5c44 cmp ebx, dword ptr [edi + 0x7c]
00db5c47 jl 0xdb5c30
00db5c49 cmp ebx, dword ptr [edi + 0x7c]
00db5c4c jge 0xdb5be5
00db5c4e mov ebp, dword ptr [esp + 0x3c]
00db5c52 mov eax, ebx
00db5c54 shl eax, 6
00db5c57 movzx ecx, word ptr [eax + edx + 0x20]
00db5c5c add eax, edx
00db5c5e movzx edx, word ptr [eax + 0x2a]
00db5c62 inc edx
00db5c63 add ebx, edx
00db5c65 mov dword ptr [esp + 0x20], edx
00db5c69 lea edx, [esp + 0x20]
00db5c6d lea ecx, [ecx + ecx*4]
00db5c70 push edx
00db5c71 lea ecx, [ebp + ecx*8]
00db5c75 mov edx, 0xdb57a0
00db5c7a mov dword ptr [esp + 0x2c], eax
00db5c7e call 0xdd2ba0
00db5c83 mov edx, dword ptr [esp + 0x44]
00db5c87 jmp 0xdb5c20
00db5c90 sub esp, 0x10
00db5c93 push ebx
00db5c94 push ebp
00db5c95 push esi
00db5c96 mov esi, edx
00db5c98 mov edx, ecx
00db5c9a cmp dword ptr [edx + 0x60], 0
00db5c9e push edi
00db5c9f mov dword ptr [esp + 0x10], esi
00db5ca3 mov dword ptr [esp + 0x18], edx
00db5ca7 jle 0xdb5cb9
00db5ca9 cmp dword ptr [edx + 0x64], 0
00db5cad jne 0xdb5cb9
00db5caf mov eax, dword ptr [esi + 0x64]
00db5cb2 test eax, eax
00db5cb4 je 0xdb5cb9
00db5cb6 mov dword ptr [edx + 0x64], eax
00db5cb9 cmp word ptr [edx + 0x2a], 0
00db5cbe jbe 0xdb5cd0
00db5cc0 cmp dword ptr [edx + 0x2c], 0
00db5cc4 jne 0xdb5cd0
00db5cc6 mov eax, dword ptr [esi + 0x2c]
00db5cc9 test eax, eax
00db5ccb je 0xdb5cd0
00db5ccd mov dword ptr [edx + 0x2c], eax
00db5cd0 cmp dword ptr [edx + 0x7c], 0
00db5cd4 jle 0xdb5cef
00db5cd6 cmp dword ptr [edx + 0x80], 0
00db5cdd jne 0xdb5cef
00db5cdf mov eax, dword ptr [esi + 0x80]
00db5ce5 test eax, eax
00db5ce7 je 0xdb5cef
00db5ce9 mov dword ptr [edx + 0x80], eax
00db5cef cmp dword ptr [edx + 0x58], 0
00db5cf3 jle 0xdb5d05
00db5cf5 cmp dword ptr [edx + 0x5c], 0
00db5cf9 jne 0xdb5d05
00db5cfb mov eax, dword ptr [esi + 0x5c]
00db5cfe test eax, eax
00db5d00 je 0xdb5d05
00db5d02 mov dword ptr [edx + 0x5c], eax
00db5d05 cmp dword ptr [edx + 0x74], 0
00db5d09 jle 0xdb5d1b
00db5d0b cmp dword ptr [edx + 0x78], 0
00db5d0f jne 0xdb5d1b
00db5d11 mov eax, dword ptr [esi + 0x78]
00db5d14 test eax, eax
00db5d16 je 0xdb5d1b
00db5d18 mov dword ptr [edx + 0x78], eax
00db5d1b mov eax, dword ptr [esi + 0x84]
00db5d21 mov ecx, dword ptr [edx + 0x84]
00db5d27 cmp ecx, eax
00db5d29 jl 0xdb5d2d
00db5d2b mov ecx, eax
00db5d2d cmp dword ptr [edx + 0x68], 0
00db5d31 jle 0xdb5d9b
00db5d33 cmp dword ptr [edx + 0x6c], 0
00db5d37 jne 0xdb5d9b
00db5d39 mov eax, dword ptr [esi + 0x6c]
00db5d3c test eax, eax
00db5d3e je 0xdb5d9b
00db5d40 mov dword ptr [edx + 0x6c], eax
00db5d43 test ecx, ecx
00db5d45 jle 0xdb5d9b
00db5d47 xor ebp, ebp
00db5d49 mov dword ptr [esp + 0x14], ecx
00db5d4d lea ecx, [ecx]
00db5d50 mov eax, dword ptr [edx + 0x88]
00db5d56 mov edi, dword ptr [esi + 0x88]
00db5d5c xor ebx, ebx
00db5d5e cmp dword ptr [eax + ebp + 0x18], ebx
00db5d62 jle 0xdb5d92
00db5d64 xor esi, esi
00db5d66 jmp 0xdb5d70
00db5d68 lea esp, [esp]
00db5d6f nop 
00db5d70 mov ecx, dword ptr [edi + ebp + 0x1c]
00db5d74 mov ecx, dword ptr [esi + ecx + 0x1c]
00db5d78 mov edx, dword ptr [eax + ebp + 0x1c]
00db5d7c mov dword ptr [esi + edx + 0x1c], ecx
00db5d80 inc ebx
00db5d81 add esi, 0x20
00db5d84 cmp ebx, dword ptr [eax + ebp + 0x18]
00db5d88 jl 0xdb5d70
00db5d8a mov edx, dword ptr [esp + 0x18]
00db5d8e mov esi, dword ptr [esp + 0x10]
00db5d92 add ebp, 0x20
00db5d95 dec dword ptr [esp + 0x14]
00db5d99 jne 0xdb5d50
00db5d9b mov ecx, dword ptr [edx + 0x6c]
00db5d9e test ecx, ecx
00db5da0 je 0xdb5e82
00db5da6 mov eax, dword ptr [esi + 0x6c]
00db5da9 test eax, eax
00db5dab je 0xdb5e82
00db5db1 cmp ecx, eax
00db5db3 je 0xdb5e82
00db5db9 mov esi, dword ptr [esi + 0x68]
00db5dbc mov eax, dword ptr [edx + 0x68]
00db5dbf cmp eax, esi
00db5dc1 jl 0xdb5dc5
00db5dc3 mov eax, esi
00db5dc5 xor ebx, ebx
00db5dc7 test eax, eax
00db5dc9 jle 0xdb5e82
00db5dcf xor edi, edi
00db5dd1 mov ecx, eax
00db5dd3 mov esi, dword ptr [edx + 0x6c]
00db5dd6 cmp dword ptr [esi + edi + 8], 0
00db5ddb jle 0xdb5dfc
00db5ddd cmp dword ptr [esi + edi + 0xc], 0
00db5de2 jne 0xdb5dfc
00db5de4 mov eax, dword ptr [esp + 0x10]
00db5de8 mov eax, dword ptr [eax + 0x6c]
00db5deb mov eax, dword ptr [eax + edi + 0xc]
00db5def test eax, eax
00db5df1 je 0xdb5dfc
00db5df3 mov dword ptr [esi + edi + 0xc], eax
00db5df7 mov ebx, 1
00db5dfc add edi, 0x10
00db5dff dec ecx
00db5e00 jne 0xdb5dd3
00db5e02 test ebx, ebx
00db5e04 je 0xdb5e82
00db5e06 mov ecx, dword ptr [esp + 0x10]
00db5e0a mov esi, dword ptr [ecx + 0x88]
00db5e10 cmp dword ptr [esi + 0x18], 0
00db5e14 mov eax, dword ptr [edx + 0x88]
00db5e1a mov dword ptr [esp + 0x1c], esi
00db5e1e mov dword ptr [esp + 0x10], eax
00db5e22 mov dword ptr [esp + 0x14], 0
00db5e2a jle 0xdb5e82
00db5e2c xor ecx, ecx
00db5e2e mov edi, edi
00db5e30 mov eax, dword ptr [esp + 0x10]
00db5e34 mov eax, dword ptr [eax + 0x1c]
00db5e37 mov ebp, dword ptr [esi + 0x1c]
00db5e3a xor edi, edi
00db5e3c xor ebx, ebx
00db5e3e cmp di, word ptr [eax + ecx + 0x16]
00db5e43 jae 0xdb5e71
00db5e45 mov esi, dword ptr [eax + ecx + 0x1c]
00db5e49 cmp dword ptr [esi + edi + 0xc], 0
00db5e4e jne 0xdb5e60
00db5e50 mov edx, dword ptr [ebp + ecx + 0x1c]
00db5e54 mov edx, dword ptr [edx + edi + 0xc]
00db5e58 mov dword ptr [esi + edi + 0xc], edx
00db5e5c mov edx, dword ptr [esp + 0x18]
00db5e60 movzx esi, word ptr [eax + ecx + 0x16]
00db5e65 inc ebx
00db5e66 add edi, 0x10
00db5e69 cmp ebx, esi
00db5e6b jl 0xdb5e45
00db5e6d mov esi, dword ptr [esp + 0x1c]
00db5e71 mov eax, dword ptr [esp + 0x14]
00db5e75 inc eax
00db5e76 add ecx, 0x20
00db5e79 mov dword ptr [esp + 0x14], eax
00db5e7d cmp eax, dword ptr [esi + 0x18]
00db5e80 jl 0xdb5e30
00db5e82 cmp dword ptr [edx + 0x7c], 0
00db5e86 pop edi
00db5e87 pop esi
00db5e88 pop ebp
00db5e89 pop ebx
00db5e8a jle 0xdb5e95
00db5e8c cmp dword ptr [edx + 0x80], 0
00db5e93 je 0xdb5eaa
00db5e95 cmp dword ptr [edx + 0x68], 0
00db5e99 jle 0xdb5ea1
00db5e9b cmp dword ptr [edx + 0x6c], 0
00db5e9f je 0xdb5eaa
00db5ea1 push 0
00db5ea3 push 0
00db5ea5 call 0xdb4430
00db5eaa add esp, 0x10
00db5ead ret 
00db5eb0 sub esp, 0x1c
00db5eb3 push ebx
00db5eb4 push ebp
00db5eb5 xor ebp, ebp
00db5eb7 push esi
00db5eb8 push edi
00db5eb9 mov dword ptr [esp + 0x10], edx
00db5ebd mov dword ptr [esp + 0x28], ecx
00db5ec1 cmp dword ptr [ecx + 0x60], ebp
00db5ec4 jle 0xdb5ed5
00db5ec6 mov eax, dword ptr [edx + 0x64]
00db5ec9 cmp dword ptr [ecx + 0x64], eax
00db5ecc jne 0xdb5ed5
00db5ece cmp eax, ebp
00db5ed0 je 0xdb5ed5
00db5ed2 mov dword ptr [ecx + 0x64], ebp
00db5ed5 cmp word ptr [ecx + 0x2a], bp
00db5ed9 jbe 0xdb5eea
00db5edb mov eax, dword ptr [edx + 0x2c]
00db5ede cmp dword ptr [ecx + 0x2c], eax
00db5ee1 jne 0xdb5eea
00db5ee3 cmp eax, ebp
00db5ee5 je 0xdb5eea
00db5ee7 mov dword ptr [ecx + 0x2c], ebp
00db5eea cmp dword ptr [ecx + 0x7c], ebp
00db5eed jle 0xdb5f07
00db5eef mov eax, dword ptr [edx + 0x80]
00db5ef5 cmp dword ptr [ecx + 0x80], eax
00db5efb jne 0xdb5f07
00db5efd cmp eax, ebp
00db5eff je 0xdb5f07
00db5f01 mov dword ptr [ecx + 0x80], ebp
00db5f07 cmp dword ptr [ecx + 0x58], ebp
00db5f0a jle 0xdb5f1b
00db5f0c mov eax, dword ptr [edx + 0x5c]
00db5f0f cmp dword ptr [ecx + 0x5c], eax
00db5f12 jne 0xdb5f1b
00db5f14 cmp eax, ebp
00db5f16 je 0xdb5f1b
00db5f18 mov dword ptr [ecx + 0x5c], ebp
00db5f1b cmp dword ptr [ecx + 0x74], ebp
00db5f1e jle 0xdb5f2f
00db5f20 mov eax, dword ptr [edx + 0x78]
00db5f23 cmp dword ptr [ecx + 0x78], eax
00db5f26 jne 0xdb5f2f
00db5f28 cmp eax, ebp
00db5f2a je 0xdb5f2f
00db5f2c mov dword ptr [ecx + 0x78], ebp
00db5f2f mov esi, dword ptr [ecx + 0x84]
00db5f35 mov eax, dword ptr [edx + 0x84]
00db5f3b mov dword ptr [esp + 0x1c], esi
00db5f3f cmp esi, eax
00db5f41 jl 0xdb5f47
00db5f43 mov dword ptr [esp + 0x1c], eax
00db5f47 mov eax, dword ptr [ecx + 0x6c]
00db5f4a cmp eax, ebp
00db5f4c je 0xdb604b
00db5f52 mov esi, dword ptr [edx + 0x6c]
00db5f55 cmp esi, ebp
00db5f57 je 0xdb604b
00db5f5d cmp eax, esi
00db5f5f je 0xdb604b
00db5f65 mov eax, dword ptr [edx + 0x68]
00db5f68 mov esi, dword ptr [ecx + 0x68]
00db5f6b cmp esi, eax
00db5f6d jge 0xdb5f71
00db5f6f mov eax, esi
00db5f71 cmp eax, ebp
00db5f73 jle 0xdb604b
00db5f79 xor esi, esi
00db5f7b mov ebx, eax
00db5f7d lea ecx, [ecx]
00db5f80 mov eax, dword ptr [ecx + 0x6c]
00db5f83 cmp dword ptr [eax + esi + 8], 0
00db5f88 jle 0xdb5fa8
00db5f8a mov edi, dword ptr [edx + 0x6c]
00db5f8d mov edi, dword ptr [edi + esi + 0xc]
00db5f91 cmp dword ptr [eax + esi + 0xc], edi
00db5f95 jne 0xdb5fa8
00db5f97 test edi, edi
00db5f99 je 0xdb5fa8
00db5f9b mov dword ptr [eax + esi + 0xc], 0
00db5fa3 mov ebp, 1
00db5fa8 add esi, 0x10
00db5fab dec ebx
00db5fac jne 0xdb5f80
00db5fae test ebp, ebp
00db5fb0 je 0xdb6049
00db5fb6 mov edi, dword ptr [edx + 0x88]
00db5fbc mov eax, dword ptr [ecx + 0x88]
00db5fc2 mov dword ptr [esp + 0x24], edi
00db5fc6 mov dword ptr [esp + 0x20], eax
00db5fca mov dword ptr [esp + 0x14], ebx
00db5fce cmp dword ptr [edi + 0x18], ebx
00db5fd1 jle 0xdb6049
00db5fd3 xor esi, esi
00db5fd5 mov dword ptr [esp + 0x18], esi
00db5fd9 lea esp, [esp]
00db5fe0 mov edx, dword ptr [esp + 0x20]
00db5fe4 mov eax, dword ptr [edx + 0x1c]
00db5fe7 mov ebx, dword ptr [edi + 0x1c]
00db5fea add eax, esi
00db5fec xor edx, edx
00db5fee add ebx, esi
00db5ff0 xor ebp, ebp
00db5ff2 cmp dx, word ptr [eax + 0x16]
00db5ff6 jae 0xdb6030
00db5ff8 xor edi, edi
00db5ffa lea ebx, [ebx]
00db6000 mov esi, dword ptr [eax + 0x1c]
00db6003 mov ecx, dword ptr [ebx + 0x1c]
00db6006 mov edx, dword ptr [esi + edi + 0xc]
00db600a cmp edx, dword ptr [ecx + edi + 0xc]
00db600e jne 0xdb6018
00db6010 mov dword ptr [esi + edi + 0xc], 0
00db6018 movzx ecx, word ptr [eax + 0x16]
00db601c inc ebp
00db601d add edi, 0x10
00db6020 cmp ebp, ecx
00db6022 jl 0xdb6000
00db6024 mov esi, dword ptr [esp + 0x18]
00db6028 mov edi, dword ptr [esp + 0x24]
00db602c mov ecx, dword ptr [esp + 0x28]

FUNCTION 0xdc0a90
00dc0a90 push esi
00dc0a91 mov esi, ecx
00dc0a93 mov eax, dword ptr [esi + 0xc]
00dc0a96 mov dword ptr [esi], 0xfd19cc
00dc0a9c test eax, eax
00dc0a9e jle 0xdc0acf
00dc0aa0 mov eax, dword ptr [esi + 0x14]
00dc0aa3 mov eax, dword ptr [eax + 0x78]
00dc0aa6 sub eax, 0
00dc0aa9 je 0xdc0ac1
00dc0aab call 0xdc05f0
00dc0ab0 mov edx, dword ptr [esi]
00dc0ab2 mov eax, dword ptr [edx + 8]
00dc0ab5 mov ecx, esi
00dc0ab7 call eax
00dc0ab9 mov ecx, esi
00dc0abb pop esi
00dc0abc jmp 0xdbbe80
00dc0ac1 call 0xdc0470
00dc0ac6 mov edx, dword ptr [esi]
00dc0ac8 mov eax, dword ptr [edx + 8]
00dc0acb mov ecx, esi
00dc0acd call eax
00dc0acf mov ecx, esi
00dc0ad1 pop esi
00dc0ad2 jmp 0xdbbe80

FUNCTION 0xdc0470
00dc0470 sub esp, 0xc
00dc0473 xorps xmm1, xmm1
00dc0476 push ebx
00dc0477 mov ebx, ecx
00dc0479 mov eax, dword ptr [ebx + 0x14]
00dc047c movss xmm0, dword ptr [eax + 0x64]
00dc0481 subss xmm0, dword ptr [eax + 0x10]
00dc0486 comiss xmm1, xmm0
00dc0489 movss dword ptr [esp + 8], xmm0
00dc048f jae 0xdc05b1
00dc0495 mov eax, dword ptr [ebx]
00dc0497 mov edx, dword ptr [eax + 0x10]
00dc049a push edi
00dc049b call edx
00dc049d mov edi, eax
00dc049f mov eax, dword ptr [ebx + 0xc]
00dc04a2 lea ecx, [esp + 0x10]
00dc04a6 push ecx
00dc04a7 push eax
00dc04a8 mov edx, edi
00dc04aa mov ecx, ebx
00dc04ac mov dword ptr [esp + 0x18], 0
00dc04b4 call 0xdc0010
00dc04b9 fstp dword ptr [esp + 8]
00dc04bd mov ecx, dword ptr [ebx + 0x14]
00dc04c0 cmp dword ptr [ecx + 0xa4], 0
00dc04c7 je 0xdc04e1
00dc04c9 mov ebx, ecx
00dc04cb movss xmm0, dword ptr [ebx + 0x10]
00dc04d0 addss xmm0, dword ptr [esp + 8]
00dc04d6 pop edi
00dc04d7 movss dword ptr [ebx + 0x10], xmm0
00dc04dc pop ebx
00dc04dd add esp, 0xc
00dc04e0 ret 
00dc04e1 movss xmm2, dword ptr [esp + 8]
00dc04e7 xorps xmm0, xmm0
00dc04ea comiss xmm0, xmm2
00dc04ed jae 0xdc05b0
00dc04f3 movss xmm3, dword ptr [esp + 0xc]
00dc04f9 movss xmm1, dword ptr [0xec6e14]
00dc0501 movaps xmm0, xmm3
00dc0504 divss xmm0, xmm2
00dc0508 comiss xmm0, xmm1
00dc050b jbe 0xdc0510
00dc050d movaps xmm0, xmm1
00dc0510 movss xmm1, dword ptr [ecx + 0x7c]
00dc0515 comiss xmm1, xmm0
00dc0518 push esi
00dc0519 jbe 0xdc058d
00dc051b mov esi, dword ptr [ebx + 0xc]
00dc051e mulss xmm1, xmm2
00dc0522 comiss xmm1, xmm3
00dc0525 jbe 0xdc058d
00dc0527 jmp 0xdc0530
00dc0529 lea esp, [esp]
00dc0530 movzx eax, word ptr [ecx + 0xa0]
00dc0537 dec esi
00dc0538 cmp word ptr [edi + esi*2], ax
00dc053c jne 0xdc054e
00dc053e dec esi
00dc053f test esi, esi
00dc0541 jle 0xdc0550
00dc0543 cmp word ptr [edi + esi*2], ax
00dc0547 je 0xdc054e
00dc0549 dec esi
00dc054a test esi, esi
00dc054c jg 0xdc0543
00dc054e test esi, esi
00dc0550 js 0xdc05b6
00dc0552 lea ecx, [esp + 0x14]
00dc0556 push ecx
00dc0557 lea edx, [esi + 1]
00dc055a push edx
00dc055b mov edx, edi
00dc055d mov ecx, ebx
00dc055f mov dword ptr [edi + esi*2], 0x2026
00dc0566 call 0xdc0010
00dc056b fst dword ptr [esp + 0xc]
00dc056f mov ecx, dword ptr [ebx + 0x14]
00dc0572 fmul dword ptr [ecx + 0x7c]
00dc0575 movss xmm3, dword ptr [esp + 0x10]
00dc057b fld dword ptr [esp + 0x10]
00dc057f fxch st(1)
00dc0581 fcompi st(1)
00dc0583 fstp st(0)
00dc0585 ja 0xdc0530
00dc0587 movss xmm2, dword ptr [esp + 0xc]
00dc058d mov edx, dword ptr [esp + 0x14]
00dc0591 mov eax, dword ptr [ebx + 0xc]
00dc0594 push edx
00dc0595 sub esp, 8
00dc0598 movss dword ptr [esp + 4], xmm3
00dc059e movss dword ptr [esp], xmm2
00dc05a3 push eax
00dc05a4 mov edx, edi
00dc05a6 mov ecx, ebx
00dc05a8 call 0xdbff40
00dc05ad fstp st(0)
00dc05af pop esi
00dc05b0 pop edi
00dc05b1 pop ebx
00dc05b2 add esp, 0xc
00dc05b5 ret 
00dc05b6 push 0
00dc05b8 sub esp, 8
00dc05bb movss dword ptr [esp + 4], xmm3
00dc05c1 movss dword ptr [esp], xmm3
00dc05c6 push 1
00dc05c8 lea edx, [esp + 0x24]
00dc05cc mov ecx, ebx
00dc05ce mov dword ptr [esp + 0x24], 0x2026
00dc05d6 call 0xdbff40
00dc05db fstp st(0)
00dc05dd pop esi
00dc05de pop edi
00dc05df pop ebx
00dc05e0 add esp, 0xc
00dc05e3 ret 
00dc05f0 sub esp, 0x28
00dc05f3 xorps xmm1, xmm1
00dc05f6 push ebx
00dc05f7 mov ebx, ecx
00dc05f9 mov eax, dword ptr [ebx + 0x14]
00dc05fc movss xmm0, dword ptr [eax + 0x64]
00dc0601 subss xmm0, dword ptr [eax + 0x10]
00dc0606 comiss xmm1, xmm0
00dc0609 movss dword ptr [esp + 0xc], xmm0
00dc060f jae 0xdc0984
00dc0615 mov eax, dword ptr [ebx]
00dc0617 mov edx, dword ptr [eax + 0x10]
00dc061a push esi
00dc061b call edx
00dc061d mov esi, eax
00dc061f cmp word ptr [esi], 0
00dc0623 mov dword ptr [esp + 8], esi
00dc0627 je 0xdc074e
00dc062d lea ecx, [ecx]
00dc0630 mov edx, esi
00dc0632 movzx eax, word ptr [esi]
00dc0635 cmp eax, 0x20
00dc0638 je 0xdc0649
00dc063a cmp eax, 9
00dc063d je 0xdc0649
00dc063f mov ecx, 0x200b
00dc0644 cmp ax, cx
00dc0647 jne 0xdc064e
00dc0649 add esi, 2
00dc064c jmp 0xdc0632
00dc064e mov eax, esi
00dc0650 sub eax, edx
00dc0652 lea ecx, [esp + 0x20]
00dc0656 push ecx
00dc0657 sar eax, 1
00dc0659 push eax
00dc065a mov ecx, ebx
00dc065c mov dword ptr [esp + 0x28], 0
00dc0664 call 0xdc0010
00dc0669 fstp dword ptr [esp + 0x20]
00dc066d movzx eax, word ptr [esi]
00dc0670 cmp eax, 0xa
00dc0673 je 0xdc067a
00dc0675 cmp eax, 0xd
00dc0678 jne 0xdc0699
00dc067a mov edx, dword ptr [ebx + 0x14]
00dc067d mov ecx, dword ptr [edx + 0x9c]
00dc0683 add esi, 2
00dc0686 call 0xde0fb0
00dc068b mov eax, dword ptr [ebx + 0x14]
00dc068e fadd dword ptr [eax + 0x14]
00dc0691 xorps xmm2, xmm2
00dc0694 fstp dword ptr [eax + 0x14]
00dc0697 jmp 0xdc06ab
00dc0699 movss xmm0, dword ptr [esp + 0x20]
00dc069f xorps xmm2, xmm2
00dc06a2 ucomiss xmm0, xmm2
00dc06a5 lahf 
00dc06a6 test ah, 0x44
00dc06a9 jnp 0xdc06b5
00dc06ab cmp word ptr [esi], 0
00dc06af jne 0xdc0630
00dc06b5 mov dword ptr [esp + 8], esi
00dc06b9 cmp word ptr [esi], 0
00dc06bd mov dword ptr [esp + 0x20], 0
00dc06c5 je 0xdc0983
00dc06cb movss xmm4, dword ptr [esp + 0x10]
00dc06d1 push ebp
00dc06d2 push edi
00dc06d3 mov edi, esi
00dc06d5 xor ebp, ebp
00dc06d7 comiss xmm4, xmm2
00dc06da movaps xmm0, xmm2
00dc06dd movaps xmm1, xmm2
00dc06e0 mov dword ptr [esp + 0x24], edi
00dc06e4 movss dword ptr [esp + 0x14], xmm0
00dc06ea movss dword ptr [esp + 0x20], xmm1
00dc06f0 jbe 0xdc07d5
00dc06f6 jmp 0xdc0700
00dc06f8 lea esp, [esp]
00dc06ff nop 
00dc0700 movzx eax, word ptr [esi]
00dc0703 mov dword ptr [esp + 0x1c], esi
00dc0707 movss dword ptr [esp + 0x30], xmm1
00dc070d movss dword ptr [esp + 0x34], xmm0
00dc0713 mov edi, ebp
00dc0715 test ax, ax
00dc0718 je 0xdc07c7
00dc071e cmp eax, 0xa
00dc0721 je 0xdc07c7
00dc0727 cmp eax, 0xd
00dc072a je 0xdc07c7
00dc0730 mov edx, esi
00dc0732 movzx eax, word ptr [esi]
00dc0735 cmp eax, 0x20
00dc0738 je 0xdc0749
00dc073a cmp eax, 9
00dc073d je 0xdc0749
