Function at 0x55ebe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x100
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi + 0x98]
cmp eax, 3
je 0x55ec02
cmp eax, 4
je 0x55ec02
xor al, al
jmp 0x55ec04
mov al, 1
mov ebp, dword [esi + 0x1dc]
cmp ebp, edi
jne 0x55ec3e
cmp dword [esi + 0x1e0], edi
jne 0x55ec3e
cmp dword [esi + 0x1e4], edi
jne 0x55ec3e
cmp dword [esi + 0x1f8], edi
jne 0x55ec3e
cmp dword [esi + 0x1e8], edi
jne 0x55ec3e
cmp dword [esi + 0x1ec], edi
jne 0x55ec3e
test al, al
je 0x55f960
mov eax, dword [esi + 0xc4]
mov ebx, dword [esi + 0xc8]
cmp eax, ebx
jb 0x55ec66
jne 0x55ec58
cmp dword [esi + 0xd0], edi
je 0x55ec66
mov eax, dword [esi + 0xc0]
xor ebx, ebx
mov dword [esp + 0x30], eax
jmp 0x55ec6a
mov dword [esp + 0x30], ebx
mov edx, dword [esi + 0xf4]
mov eax, dword [esi + 0x104]
dec edx
dec eax
mov ecx, dword [0x830474]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x114]
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + 0x138]
dec eax
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x124]
dec eax
dec ecx
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x148]
dec eax
cmp ebp, edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
je 0x55eccd
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
jmp 0x55ecd1
mov dword [esp + 0x48], edi
mov eax, dword [esi + 0x1e0]
cmp eax, edi
je 0x55ece4
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
jmp 0x55ece8
mov dword [esp + 0x50], edi
mov eax, dword [esi + 0x1e4]
cmp eax, edi
je 0x55ecfb
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
jmp 0x55ecff
mov dword [esp + 0x3c], edi
mov eax, dword [esi + 0x1f8]
cmp eax, edi
je 0x55ed12
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
jmp 0x55ed16
mov dword [esp + 0x4c], edi
mov eax, dword [esi + 0x1e8]
cmp eax, edi
je 0x55ed29
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
jmp 0x55ed2d
mov dword [esp + 0x2c], edi
mov eax, dword [esi + 0x1ec]
cmp eax, edi
je 0x55ed40
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
jmp 0x55ed44
mov dword [esp + 0x54], edi
mov eax, dword [esi + 0x1f0]
cmp eax, edi
je 0x55ed57
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
jmp 0x55ed5b
mov dword [esp + 0x20], edi
mov al, byte [esi + 0x200]
test al, al
je 0x55ed76
mov eax, dword [0x830490]
and eax, 1
mov eax, dword [esi + eax*4 + 0x1d0]
jmp 0x55ed7c
mov eax, dword [esi + 0x1d0]
mov ebp, dword [esi + 0xc4]
mov edi, dword [esp + 0x30]
mov eax, dword [eax + 8]
cmp ebp, edi
mov dword [esp + 0x44], eax
jae 0x55f376
mov edi, dword [esp + 0x2c]
lea ebx, [ebp + ebp*2]
add edi, ebp
shl ebx, 2
mov dword [esp + 0x18], edi
lea edi, [ebx + eax]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x3c]
lea edi, [edi + ebp*4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x20]
lea edi, [ebx + edi + 4]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x48]
sub eax, edi
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
sub eax, edi
lea ebx, [ebx + edi + 8]
mov dword [esp + 0x78], eax
mov eax, 0xfffffff8
sub eax, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
sub eax, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
sub eax, edi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x54]
sub eax, edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
sub eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x208]
mov edi, dword [esp + 0x94]
sub edi, dword [eax + ebp*4]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x55ef34
mov ebx, dword [esi + 0xf8]
mov ecx, dword [ebx + edx*4]
lea eax, [ebx + edx*4]
cmp edi, ecx
jae 0x55ee5d
mov ecx, dword [eax - 4]
sub eax, 4
dec edx
cmp edi, ecx
jb 0x55ee4e
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0x100]
lea ecx, [edx + edx*2]
shl ecx, 2
mov dword [esp + 0x74], ecx
add eax, ecx
mov ecx, edi
mov dword [esp + 0xb4], 0
sub ecx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esi + 0x16c]
fild qword [esp + 0xb0]
fld st(0)
fmul dword [eax]
fstp dword [esp + 0xc8]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0xcc]
fmul dword [eax + 8]
mov eax, dword [esi + 0xfc]
add eax, ebx
mov ebx, dword [esp + 0xa0]
fld dword [esp + 0xc8]
fadd dword [eax]
fstp dword [esp + 0xe0]
fld dword [esp + 0xcc]
fadd dword [eax + 4]
fstp dword [esp + 0xe4]
fadd dword [eax + 8]
mov eax, dword [esi + 0x168]
fld dword [esp + 0xe0]
and eax, ebp
lea eax, [eax + eax*2]
fadd dword [ecx + eax*4]
fld dword [esp + 0xe4]
fadd dword [ecx + eax*4 + 4]
lea eax, [ecx + eax*4]
fstp dword [esp + 0xfc]
fxch st(1)
fadd dword [eax + 8]
mov eax, dword [esp + 0xfc]
mov dword [ebx - 4], eax
fstp dword [esp + 0x100]
mov ecx, dword [esp + 0x100]
fstp dword [ebx - 8]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x55efa8
mov edx, dword [esi + 0x108]
mov eax, dword [esp + 0x58]
cmp edi, dword [edx + eax*4]
lea ecx, [edx + eax*4]
jae 0x55ef5a
sub ecx, 4
dec eax
cmp edi, dword [ecx]
jb 0x55ef4e
mov dword [esp + 0x58], eax
mov ecx, edi
mov dword [esp + 0x80], 0
sub ecx, dword [edx + eax*4]
mov edx, dword [esi + 0x110]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 0x170]
fild qword [esp + 0x7c]
and ecx, ebp
fmul dword [edx + eax*4]
mov edx, dword [esi + 0x174]
fadd dword [edx + ecx*4]
mov ecx, dword [esi + 0x10c]
mov edx, dword [esp + 0x64]
fadd dword [ecx + eax*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
fstp dword [edx + eax]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x55f042
mov ecx, dword [esi + 0x118]
mov edx, dword [esp + 0x38]
cmp edi, dword [ecx + edx*4]
lea eax, [ecx + edx*4]
jae 0x55efd2
sub eax, 4
dec edx
cmp edi, dword [eax]
jb 0x55efc6
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov edx, edi
mov dword [esp + 0xc4], 0
sub edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x120]
mov dword [esp + 0xc0], edx
mov edx, dword [esi + 0x178]
fild qword [esp + 0xc0]
and edx, ebp
fmul dword [ecx + eax*4]
mov ecx, dword [esi + 0x17c]
fadd dword [ecx + edx*4]
mov edx, dword [esi + 0x11c]
fadd dword [edx + eax*4]
mov eax, dword [esp + 0x14]
fld st(0)
fstp dword [eax]
fcom dword [0x7cd7b4]
fnstsw ax
test ah, 1
je 0x55f034
fstp st(0)
fld dword [0x7cd7b4]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
fstp dword [ecx]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x55f10a
mov ecx, dword [esi + 0x128]
mov edx, dword [esp + 0x40]
cmp edi, dword [ecx + edx*4]
lea eax, [ecx + edx*4]
jae 0x55f06c
sub eax, 4
dec edx
cmp edi, dword [eax]
jb 0x55f060
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x40]
mov edx, edi
mov dword [esp + 0xac], 0
mov dword [esp + 0xb8], edi
sub edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x130]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa8], edx
mov edx, dword [esi + 0x12c]
fild qword [esp + 0xa8]
fld st(0)
fmul dword [ecx + eax*4]
mov ecx, dword [esi + 0x180]
and ecx, ebp
fadd dword [edx + eax*4]
mov edx, dword [esi + 0x184]
fmul st(1)
fild qword [esp + 0xb8]
fmul dword [edx + ecx*4]
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x18c]
and ecx, ebp
faddp st(1)
fadd dword [edx + ecx*4]
mov ecx, dword [esi + 0x134]
fadd dword [ecx + eax*4]
fmul dword [0x7db354]
call fcn.0078c320
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
fstp st(0)
mov byte [edx + ecx], al
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x55f184
mov edx, dword [esi + 0x13c]
cmp edi, dword [edx + ecx*4]
lea eax, [edx + ecx*4]
jae 0x55f12c
sub eax, 4
dec ecx
cmp edi, dword [eax]
jb 0x55f120
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x88], 0
sub ecx, dword [edx + eax*4]
mov edx, dword [esi + 0x144]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + 0x190]
fild qword [esp + 0x84]
and ecx, ebp
fmul dword [edx + eax*4]
mov edx, dword [esi + 0x194]
fadd dword [edx + ecx*4]
mov ecx, dword [esi + 0x140]
fadd dword [ecx + eax*4]
call fcn.0078c320
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov byte [edx], al
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x55f1f6
mov edx, dword [esi + 0x13c]
cmp edi, dword [edx + ecx*4]
lea eax, [edx + ecx*4]
jae 0x55f1a6
sub eax, 4
dec ecx
cmp edi, dword [eax]
jb 0x55f19a
mov dword [esp + 0x10], ecx
mov eax, edi
mov dword [esp + 0x90], 0
sub eax, dword [edx + ecx*4]
mov edx, dword [esi + 0x144]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 0x190]
fild qword [esp + 0x8c]
and eax, ebp
fmul dword [edx + ecx*4]
mov edx, dword [esi + 0x194]
fadd dword [edx + eax*4]
mov eax, dword [esi + 0x140]
mov edx, dword [esp + 0x6c]
fadd dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
fstp dword [edx + eax]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55f32a
mov eax, dword [esi + 0x150]
fld dword [eax]
mov eax, dword [esi + 0x14c]
test eax, eax
je 0x55f280
mov ecx, dword [esp + 0x24]
fstp st(0)
lea ecx, [eax + ecx*4]
cmp edi, dword [ecx]
jae 0x55f233
mov eax, dword [esp + 0x24]
sub ecx, 4
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
cmp edi, eax
jb 0x55f221
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x14c]
mov dword [esp + 0x9c], 0
sub edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x154]
mov dword [esp + 0x98], edi
mov edi, dword [esi + 0x19c]
fild qword [esp + 0x98]
fmul dword [eax + ecx*4]
mov eax, dword [esi + 0x198]
and eax, ebp
fadd dword [edi + eax*4]
mov eax, dword [esi + 0x150]
fadd dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x204]
mov edi, dword [esp + 0x60]
add eax, edi
mov edi, dword [esp + 0x68]
add eax, ebx
fld st(0)
fmul dword [eax]
fstp dword [esp + 0xd4]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0xd8]
fmul dword [eax + 8]
mov eax, dword [esp + 0x28]
fld dword [esp + 0xd4]
fmul dword [0x7cd810]
fstp dword [esp + 0xec]
fld dword [esp + 0xd8]
fmul dword [0x7cd810]
fstp dword [esp + 0xf0]
fmul dword [0x7cd810]
fld dword [eax]
mov eax, dword [esp + 0x34]
fsub dword [esp + 0xec]
fld dword [edi + eax]
fsub dword [esp + 0xf0]
mov edi, dword [esp + 0x70]
fstp dword [esp + 0x108]
fld dword [edi + ebx]
fsub st(2)
mov edi, dword [esp + 0x108]
mov dword [eax], edi
mov edi, dword [esp + 0x78]
fstp dword [esp + 0x10c]
fstp dword [eax - 4]
fstp st(0)
fld dword [esp + 0x10c]
fstp dword [edi + ebx]
jmp 0x55f32e
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
inc ebp
inc edi
add eax, 0xc
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x28]
add ebx, 0xc
add edi, 0xc
cmp ebp, eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x28], edi
jb 0x55ee22
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x44]
mov edi, dword [esi + 0xc8]
mov dword [esp + 0x28], ebx
cmp ebx, edi
jae 0x55f960
lea ebp, [ebx + ebx*2]
mov edi, dword [esp + 0x44]
shl ebp, 2
add eax, ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
lea eax, [eax + ebx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ebp + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
sub edi, eax
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x20]
sub edi, eax
lea ebp, [eax + ebp + 8]
mov dword [esp + 0x78], edi
mov edi, 0xfffffff8
sub edi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
sub eax, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
sub eax, edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x54]
sub eax, edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
sub eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x208]
mov edi, dword [esp + 0x94]
sub edi, dword [eax + ebx*4]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x55f51f
mov ebp, dword [esi + 0xf8]
mov ebx, dword [ebp + edx*4]
lea eax, [ebp + edx*4]
cmp edi, ebx
jae 0x55f447
mov ebx, dword [eax - 4]
sub eax, 4
dec edx
cmp edi, ebx
jb 0x55f438
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0x100]
lea ebx, [edx + edx*2]
shl ebx, 2
mov dword [esp + 0x74], ebx
add eax, ebx
mov ebx, edi
mov dword [esp + 0x9c], 0
sub ebx, dword [ebp + edx*4]
mov ebp, dword [esi + 0x16c]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x74]
fild qword [esp + 0x98]
fld st(0)
fmul dword [eax]
fstp dword [esp + 0x104]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0x108]
fmul dword [eax + 8]
mov eax, dword [esi + 0xfc]
add eax, ebx
mov ebx, dword [esp + 0x28]
fld dword [esp + 0x104]
fadd dword [eax]
fstp dword [esp + 0xec]
fld dword [esp + 0x108]
fadd dword [eax + 4]
fstp dword [esp + 0xf0]
fadd dword [eax + 8]
mov eax, dword [esi + 0x168]
fld dword [esp + 0xec]
and eax, ebx
lea eax, [eax + eax*2]
fadd dword [ebp + eax*4]
fld dword [esp + 0xf0]
fadd dword [ebp + eax*4 + 4]
lea eax, [ebp + eax*4]
mov ebp, dword [esp + 0x18]
fstp dword [esp + 0xd8]
fxch st(1)
fadd dword [eax + 8]
mov eax, dword [esp + 0xd8]
mov dword [ebp - 4], eax
fstp dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
fstp dword [ebp - 8]
mov dword [ebp], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x55f5a1
mov ebp, dword [esi + 0x108]
mov eax, dword [esp + 0x58]
cmp edi, dword [ebp + eax*4]
lea ebx, [ebp + eax*4]
jae 0x55f547
sub ebx, 4
dec eax
cmp edi, dword [ebx]
jb 0x55f53b
mov dword [esp + 0x58], eax
mov ebx, edi
mov dword [esp + 0x90], 0
sub ebx, dword [ebp + eax*4]
mov ebp, dword [esi + 0x174]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esi + 0x110]
fild qword [esp + 0x8c]
fmul dword [ebx + eax*4]
mov eax, dword [esi + 0x170]
mov ebx, dword [esp + 0x28]
and eax, ebx
fadd dword [ebp + eax*4]
mov eax, dword [esi + 0x10c]
mov ebp, dword [esp + 0x58]
fadd dword [eax + ebp*4]
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x14]
fstp dword [eax + ebp]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x55f640
mov ebx, dword [esi + 0x118]
mov ebp, dword [esp + 0x38]
cmp edi, dword [ebx + ebp*4]
lea eax, [ebx + ebp*4]
jae 0x55f5cb
sub eax, 4
dec ebp
cmp edi, dword [eax]
jb 0x55f5bf
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x38]
mov ebp, edi
mov dword [esp + 0x88], 0
sub ebp, dword [ebx + eax*4]
mov ebx, dword [esi + 0x120]
mov dword [esp + 0x84], ebp
mov ebp, dword [esi + 0x17c]
fild qword [esp + 0x84]
fmul dword [ebx + eax*4]
mov eax, dword [esi + 0x178]
mov ebx, dword [esp + 0x28]
and eax, ebx
fadd dword [ebp + eax*4]
mov eax, dword [esi + 0x11c]
mov ebp, dword [esp + 0x38]
fadd dword [eax + ebp*4]
mov eax, dword [esp + 0x14]
fld st(0)
fstp dword [eax]
fcom dword [0x7cd7b4]
fnstsw ax
test ah, 1
je 0x55f636
fstp st(0)
fld dword [0x7cd7b4]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
fstp dword [eax]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x55f70a
mov ecx, dword [esi + 0x128]
mov edx, dword [esp + 0x40]
cmp edi, dword [ecx + edx*4]
lea eax, [ecx + edx*4]
jae 0x55f66a
sub eax, 4
dec edx
cmp edi, dword [eax]
jb 0x55f65e
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x40]
mov edx, edi
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa8], edi
sub edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x130]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb8], edx
mov edx, dword [esi + 0x12c]
fild qword [esp + 0xb8]
fld st(0)
fmul dword [ecx + eax*4]
mov ecx, dword [esi + 0x180]
and ecx, ebx
fadd dword [edx + eax*4]
mov edx, dword [esi + 0x184]
fmul st(1)
fild qword [esp + 0xa8]
fmul dword [edx + ecx*4]
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x18c]
and ecx, ebx
faddp st(1)
fadd dword [edx + ecx*4]
mov ecx, dword [esi + 0x134]
fadd dword [ecx + eax*4]
fmul dword [0x7db354]
call fcn.0078c320
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
add edx, ebx
fstp st(0)
mov byte [edx + ecx], al
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x55f785
mov edx, dword [esi + 0x13c]
cmp edi, dword [edx + ecx*4]
lea eax, [edx + ecx*4]
jae 0x55f72c
sub eax, 4
dec ecx
cmp edi, dword [eax]
jb 0x55f720
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0xc4], 0
sub ecx, dword [edx + eax*4]
mov edx, dword [esi + 0x144]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esi + 0x190]
fild qword [esp + 0xc0]
and ecx, ebx
fmul dword [edx + eax*4]
mov edx, dword [esi + 0x194]
fadd dword [edx + ecx*4]
mov ecx, dword [esi + 0x140]
fadd dword [ecx + eax*4]
call fcn.0078c320
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov byte [ebx + edx], al
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x55f7f5
mov ebp, dword [esi + 0x13c]
cmp edi, dword [ebp + ecx*4]
lea eax, [ebp + ecx*4]
jae 0x55f7a9
sub eax, 4
dec ecx
cmp edi, dword [eax]
jb 0x55f79d
mov dword [esp + 0x10], ecx
mov eax, edi
mov dword [esp + 0x80], 0
sub eax, dword [ebp + ecx*4]
mov ebp, dword [esi + 0x194]
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0x144]
fild qword [esp + 0x7c]
fmul dword [eax + ecx*4]
mov eax, dword [esi + 0x190]
and eax, ebx
fadd dword [ebp + eax*4]
mov eax, dword [esi + 0x140]
mov ebp, dword [esp + 0x14]
fadd dword [eax + ecx*4]
mov eax, dword [esp + 0x6c]
fstp dword [eax + ebp]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55f925
mov eax, dword [esi + 0x150]
fld dword [eax]
mov eax, dword [esi + 0x14c]
test eax, eax
je 0x55f87b
mov ebp, dword [esp + 0x24]
fstp st(0)
lea eax, [eax + ebp*4]
mov ebp, dword [eax]
cmp edi, ebp
mov ebp, dword [esp + 0x24]
jae 0x55f832
sub eax, 4
dec ebp
cmp edi, dword [eax]
jb 0x55f826
mov dword [esp + 0x24], ebp
mov eax, dword [esi + 0x14c]
mov dword [esp + 0xb4], 0
sub edi, dword [eax + ebp*4]
mov eax, dword [esi + 0x154]
mov dword [esp + 0xb0], edi
mov edi, dword [esi + 0x19c]
fild qword [esp + 0xb0]
fmul dword [eax + ebp*4]
mov eax, dword [esi + 0x198]
and eax, ebx
fadd dword [edi + eax*4]
mov eax, dword [esi + 0x150]
fadd dword [eax + ebp*4]
mov ebp, dword [esp + 0x18]
mov eax, dword [esi + 0x204]
mov edi, dword [esp + 0x60]
add eax, ebp
add eax, edi
mov edi, dword [esp + 0x68]
fld st(0)
fmul dword [eax]
fstp dword [esp + 0xf8]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0xfc]
fmul dword [eax + 8]
mov eax, dword [esp + 0x30]
fld dword [esp + 0xf8]
fmul dword [0x7cd810]
fstp dword [esp + 0xe0]
fld dword [esp + 0xfc]
fmul dword [0x7cd810]
fstp dword [esp + 0xe4]
fmul dword [0x7cd810]
fld dword [eax]
mov eax, dword [esp + 0x34]
fsub dword [esp + 0xe0]
fld dword [eax + edi]
fsub dword [esp + 0xe4]
mov edi, dword [esp + 0x70]
fstp dword [esp + 0xcc]
fld dword [edi + ebp]
fsub st(2)
mov edi, dword [esp + 0xcc]
mov dword [eax], edi
mov edi, dword [esp + 0x78]
fstp dword [esp + 0xd0]
fstp dword [eax - 4]
fstp st(0)
fld dword [esp + 0xd0]
fstp dword [edi + ebp]
jmp 0x55f929
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
add eax, 0xc
add edi, 4
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
inc ebx
add ebp, 0xc
add edi, 0xc
cmp ebx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], edi
jb 0x55f40a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret