FUNCTION 00dbfc40
00dbfc40 sub esp, 0x20
00dbfc43 push ebx
00dbfc44 push esi
00dbfc45 push edi
00dbfc46 mov edi, ecx
00dbfc48 mov eax, dword ptr [edi + 0x14]
00dbfc4b mov ecx, dword ptr [eax + 0x9c]
00dbfc51 mov ebx, edx
00dbfc53 mov dword ptr [esp + 0x20], ebx
00dbfc57 mov esi, ebx
00dbfc59 mov dword ptr [esp + 0x28], ebx
00dbfc5d call 0xde0fb0
00dbfc62 fstp dword ptr [esp + 0x24]
00dbfc66 cmp word ptr [ebx], 0
00dbfc6a je 0xdbfccd
00dbfc6c jmp 0xdbfc74
00dbfc6e mov edi, edi
00dbfc70 mov ebx, dword ptr [esp + 0x20]
00dbfc74 mov ecx, esi
00dbfc76 sub ecx, ebx
00dbfc78 sar ecx, 1
00dbfc7a cmp ecx, dword ptr [esp + 0x30]
00dbfc7e jge 0xdbfccd
00dbfc80 mov edx, dword ptr [edi + 0x14]
00dbfc83 movzx edx, word ptr [edx + 0xa0]
00dbfc8a cmp word ptr [esi], dx
00dbfc8d jne 0xdbfcc4
00dbfc8f lea ecx, [esi + 2]
00dbfc92 mov ebx, esi
00dbfc94 sub ebx, dword ptr [esp + 0x28]
00dbfc98 mov dword ptr [esp + 0x1c], ecx
00dbfc9c movzx ecx, word ptr [ecx]
00dbfc9f sar ebx, 1
00dbfca1 mov dword ptr [esp + 0xc], esi
00dbfca5 mov eax, 1
00dbfcaa test cx, cx
00dbfcad je 0xdbfcc4
00dbfcaf nop 
00dbfcb0 cmp cx, dx
00dbfcb3 je 0xdbfdb3
00dbfcb9 movzx ecx, word ptr [esi + eax*2 + 2]
00dbfcbe inc eax
00dbfcbf test cx, cx
00dbfcc2 jne 0xdbfcb0
00dbfcc4 add esi, 2
00dbfcc7 cmp word ptr [esi], 0
00dbfccb jne 0xdbfc70
00dbfccd mov eax, dword ptr [edi + 0x14]
00dbfcd0 cmp dword ptr [eax + 0xa4], 0
00dbfcd7 jne 0xdbfda6
00dbfcdd sub esi, dword ptr [esp + 0x28]
00dbfce1 sar esi, 1
00dbfce3 test esi, esi
00dbfce5 jle 0xdbfda6
00dbfceb cmp dword ptr [eax + 0x94], 1
00dbfcf2 jne 0xdbfd48
00dbfcf4 movss xmm1, dword ptr [esp + 0x38]
00dbfcfa movss xmm2, dword ptr [esp + 0x34]
00dbfd00 mov ecx, eax
00dbfd02 mov edx, dword ptr [ecx + 0x98]
00dbfd08 mov ebx, dword ptr [ecx + 0x90]
00dbfd0e mov eax, edx
00dbfd10 shl eax, 0x18
00dbfd13 sar eax, 0x1c
00dbfd16 push eax
00dbfd17 push ebx
00dbfd18 mov ebx, ecx
00dbfd1a movaps xmm0, xmmword ptr [ebx + 0x80]
00dbfd21 addps xmm0, xmmword ptr [ebx + 0x10]
00dbfd25 mov ebx, dword ptr [esp + 0x30]
00dbfd29 push ecx
00dbfd2a movss dword ptr [esp], xmm1
00dbfd2f push esi
00dbfd30 lea eax, [ecx + 0x20]
00dbfd33 mov ecx, dword ptr [ecx + 0x9c]
00dbfd39 shl edx, 0x1c
00dbfd3c push ebx
00dbfd3d sar edx, 0x1c
00dbfd40 push ecx
00dbfd41 call 0xdbfba0
00dbfd46 fstp st(0)
00dbfd48 mov ecx, dword ptr [edi + 0x14]
00dbfd4b mov edx, dword ptr [ecx + 0x9c]
00dbfd51 mov ebx, dword ptr [ecx + 0x70]
00dbfd54 movaps xmm0, xmmword ptr [ecx + 0x10]
00dbfd58 movss xmm1, dword ptr [esp + 0x38]
00dbfd5e movss xmm2, dword ptr [esp + 0x34]
00dbfd64 mov dword ptr [esp + 0x30], edx
00dbfd68 mov edx, dword ptr [ecx + 0x98]
00dbfd6e mov eax, edx
00dbfd70 shl eax, 0x18
00dbfd73 sar eax, 0x1c
00dbfd76 push eax
00dbfd77 push ebx
00dbfd78 push ecx
00dbfd79 movss dword ptr [esp], xmm1
00dbfd7e lea eax, [ecx + 0x20]
00dbfd81 mov ecx, dword ptr [esp + 0x34]
00dbfd85 push esi
00dbfd86 push ecx
00dbfd87 mov ecx, dword ptr [esp + 0x44]
00dbfd8b shl edx, 0x1c
00dbfd8e sar edx, 0x1c
00dbfd91 push ecx
00dbfd92 call 0xdbfba0
00dbfd97 fmul dword ptr [esp + 0x34]
00dbfd9b mov edx, dword ptr [edi + 0x14]
00dbfd9e mov eax, edx
00dbfda0 fadd dword ptr [edx + 0x10]
00dbfda3 fstp dword ptr [eax + 0x10]
00dbfda6 fld dword ptr [esp + 0x24]
00dbfdaa pop edi
00dbfdab pop esi
00dbfdac pop ebx
00dbfdad add esp, 0x20
00dbfdb0 ret 0xc
00dbfdb3 lea edx, [eax - 1]
00dbfdb6 test edx, edx
00dbfdb8 jle 0xdbfcc4
00dbfdbe mov ecx, dword ptr [esp + 0x1c]
00dbfdc2 lea esi, [esi + eax*2 + 2]
00dbfdc6 call 0xd95f40
00dbfdcb mov dword ptr [esp + 0x14], eax
00dbfdcf test eax, eax
00dbfdd1 je 0xdbfcc4
00dbfdd7 mov ecx, dword ptr [edi + 0x14]
00dbfdda cmp dword ptr [ecx + 0xa4], 0
00dbfde1 jne 0xdbfeb7
00dbfde7 test ebx, ebx
00dbfde9 jle 0xdbfeb7
00dbfdef cmp dword ptr [ecx + 0x94], 1
00dbfdf6 jne 0xdbfe4e
00dbfdf8 mov edx, dword ptr [ecx + 0x98]
00dbfdfe movss xmm1, dword ptr [esp + 0x38]
00dbfe04 movss xmm2, dword ptr [esp + 0x34]
00dbfe0a mov eax, edx
00dbfe0c shl eax, 0x18
00dbfe0f sar eax, 0x1c
00dbfe12 push eax
00dbfe13 lea eax, [ecx + 0x20]
00dbfe16 mov ecx, dword ptr [ecx + 0x90]
00dbfe1c push ecx
00dbfe1d mov ecx, dword ptr [edi + 0x14]
00dbfe20 movaps xmm0, xmmword ptr [ecx + 0x80]
00dbfe27 addps xmm0, xmmword ptr [ecx + 0x10]
00dbfe2b push ecx
00dbfe2c mov ecx, dword ptr [esp + 0x34]
00dbfe30 movss dword ptr [esp], xmm1
00dbfe35 push ebx
00dbfe36 push ecx
00dbfe37 mov ecx, dword ptr [edi + 0x14]
00dbfe3a mov ecx, dword ptr [ecx + 0x9c]
00dbfe40 shl edx, 0x1c
00dbfe43 sar edx, 0x1c
00dbfe46 push ecx
00dbfe47 call 0xdbfba0
00dbfe4c fstp st(0)
00dbfe4e mov ecx, dword ptr [edi + 0x14]
00dbfe51 mov edx, dword ptr [ecx + 0x70]
00dbfe54 mov eax, dword ptr [ecx + 0x9c]
00dbfe5a movaps xmm0, xmmword ptr [ecx + 0x10]
00dbfe5e movss xmm1, dword ptr [esp + 0x38]
00dbfe64 movss xmm2, dword ptr [esp + 0x34]
00dbfe6a mov dword ptr [esp + 0x1c], edx
00dbfe6e mov edx, dword ptr [ecx + 0x98]
00dbfe74 mov dword ptr [esp + 0x18], eax
00dbfe78 mov eax, edx
00dbfe7a shl eax, 0x18
00dbfe7d sar eax, 0x1c
00dbfe80 push eax
00dbfe81 push dword ptr [esp + 0x20]
00dbfe85 lea eax, [ecx + 0x20]
00dbfe88 push ecx
00dbfe89 mov ecx, dword ptr [esp + 0x34]
00dbfe8d movss dword ptr [esp], xmm1
00dbfe92 push ebx
00dbfe93 push ecx
00dbfe94 mov ecx, dword ptr [esp + 0x2c]
00dbfe98 shl edx, 0x1c
00dbfe9b sar edx, 0x1c
00dbfe9e push ecx
00dbfe9f call 0xdbfba0
00dbfea4 fmul dword ptr [esp + 0x34]
00dbfea8 mov edx, dword ptr [edi + 0x14]
00dbfeab mov eax, edx
00dbfead fadd dword ptr [edx + 0x10]
00dbfeb0 fstp dword ptr [eax + 0x10]
00dbfeb3 mov eax, dword ptr [esp + 0x14]
00dbfeb7 mov ecx, dword ptr [edi + 0x14]
00dbfeba movss xmm0, dword ptr [ecx + 0x10]
00dbfebf mov ebx, dword ptr [ecx]
00dbfec1 sub esp, 8
00dbfec4 movss dword ptr [esp + 0x18], xmm0
00dbfeca movss xmm0, dword ptr [esp + 0x40]
00dbfed0 movss dword ptr [esp + 4], xmm0
00dbfed6 movss xmm0, dword ptr [esp + 0x3c]
00dbfedc movss dword ptr [esp], xmm0
00dbfee1 mov edx, eax
00dbfee3 mov eax, dword ptr [ebx + 4]
00dbfee6 push 1
00dbfee8 call eax
00dbfeea test eax, eax
00dbfeec jne 0xdbff06
00dbfeee mov ecx, dword ptr [edi + 0x14]
00dbfef1 mov edx, dword ptr [esp + 0xc]
00dbfef5 movss xmm0, dword ptr [esp + 0x10]
00dbfefb movss dword ptr [ecx + 0x10], xmm0
00dbff00 mov dword ptr [esp + 0x28], edx
00dbff04 jmp 0xdbff0a
00dbff06 mov dword ptr [esp + 0x28], esi
00dbff0a mov eax, dword ptr [edi + 0x14]
00dbff0d mov ecx, dword ptr [eax + 0x9c]
00dbff13 call 0xde0fb0
00dbff18 fst dword ptr [esp + 0xc]
00dbff1c fld dword ptr [esp + 0x24]
00dbff20 fcompi st(1)
00dbff22 fstp st(0)
00dbff24 ja 0xdbfcc7
00dbff2a movss xmm0, dword ptr [esp + 0xc]
00dbff30 movss dword ptr [esp + 0x24], xmm0
00dbff36 jmp 0xdbfcc7
00dbff3b int3 
00dbff3c int3 
00dbff3d int3 
00dbff3e int3 
00dbff3f int3 
