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

Disassembly:
sub esp, 0x30
cmp dword [0x9bed28], 0
push ebx
mov ebx, dword [esp + 0x50]
push ebp
mov ebp, dword [ebx + 0xc]
push esi
push edi
mov esi, eax
mov edi, ecx
je 0x5bd773
cmp dword [0x9bed18], 0
jne 0x5bd773
cmp dword [esp + 0x44], edi
je 0x5bd773
cmp dword [esp + 0x48], esi
je 0x5bd773
cmp dword [0xa05c94], 0
jne 0x5bc5be
call fcn.0057c526
cmp dword [esp + 0x64], 0
je 0x5bc5d6
mov eax, dword [0xb160ac]
sub eax, 1
neg eax
sbb eax, eax
and eax, 2
jmp 0x5bc5d8
xor eax, eax
or eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0xc]
push eax
mov eax, dword [ebp + 0x2c]
push eax
add ecx, 8
push ecx
call fcn.005b6a20
fld dword [esp + 0x54]
cmp dword [esp + 0x44], edi
fld dword [esp + 0x4c]
fld st(0)
mov edx, dword [0x9beef8]
fsubp st(2)
mov eax, dword [ebx + 0x44]
fild dword [ebx + 0x2c]
mov ebp, dword [0xb160a8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fld st(0)
fsubp st(2)
fild dword [ebx + 0x30]
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld qword [0x881950]
fsub st(2), st(0)
fxch st(2)
fstp dword [esp + 0x4c]
fsub st(1)
fstp dword [esp + 0x50]
jle 0x5bc656
mov eax, edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x48]
cmp ecx, esi
jle 0x5bc666
mov eax, esi
mov esi, ecx
mov dword [esp + 0x48], eax
mov eax, dword [0xb15f90]
mov ebx, dword [0xb15f84]
mov ecx, edi
sub ecx, dword [0xb15f8c]
mov edx, esi
sub edx, eax
sub ecx, 1
sub edx, 1
and edx, ecx
mov ecx, dword [0xb15f88]
sub ecx, dword [esp + 0x48]
sub ecx, 1
and edx, ecx
mov ecx, dword [esp + 0x44]
sub ebx, ecx
sub ebx, 1
and edx, ebx
test edx, edx
jns 0x5bce01
mov eax, dword [0x9beee0]
fstp st(0)
sub eax, 1
je 0x5bcac5
sub eax, 1
jne 0x5bd769
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x5bd769
mov edi, dword [esp + 0x5c]
mov ecx, dword [0x9beedc]
add edi, 0x64
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov eax, dword [edi + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bc6fa
mov esi, dword [eax]
call fcn.005ad050
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bc70c
cmp dword [0xa05cb0], 0
je 0x5bc723
push 0
mov eax, 1
xor ecx, ecx
call fcn.005b46a0
mov ecx, dword [0x9beedc]
add esp, 4
mov esi, dword [0x9beed8]
cmp esi, 1
mov eax, dword [0x9beee4]
je 0x5bc753
cmp eax, 4
jne 0x5bc753
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x87bf90]
jl 0x5bc87e
test ecx, ecx
je 0x5bc862
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bc7ae
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x9beed8]
mov eax, dword [0x9beee0]
lea ecx, [eax + esi*2]
mov eax, dword [0x9beee4]
add ecx, esi
mov edx, dword [ecx*4 + 0x87bfa8]
mov ecx, dword [0x9beedc]
mov dword [0xa05cd4], edx
test esi, esi
je 0x5bc7cd
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bc7e2
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bc819
cmp eax, 2
jne 0x5bc7f0
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bc819
cmp eax, 6
jne 0x5bc7fa
lea eax, [ecx - 2]
jmp 0x5bc819
cmp eax, 5
jne 0x5bc804
lea eax, [ecx - 2]
jmp 0x5bc819
cmp eax, 3
jne 0x5bc80e
lea eax, [ecx - 1]
jmp 0x5bc819
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x9beee0]
mov edx, dword [0x9bed28]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x87bfc0]
add ecx, ecx
mov ecx, dword [ecx + 0x9beec0]
push ebx
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x9beee4]
push eax
push edx
call ecx
cmp dword [0x9beed8], 0
je 0x5bc862
mov edx, 0xb16148
call fcn.005a3470
mov edx, dword [0x9beee0]
mov dword [0x9beedc], 0
mov eax, dword [edx*4 + 0x9beec0]
mov dword [0x9beefc], eax
mov eax, dword [0x9beefc]
fld dword [esp + 0x1c]
fld st(0)
mov ecx, dword [esp + 0x28]
mov dword [0x9beed8], 0
mov dword [0x9beee4], 4
mov dword [eax + 0x88], ecx
mov dword [eax + 0x10], ecx
fmul dword [edi - 4]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax]
fld dword [esp + 0x5c]
fst dword [eax + 0x50]
fstp dword [eax + 0xa0]
fld dword [edi + 0xc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x28]
fld dword [esp + 0x5c]
fst dword [eax + 0x78]
fstp dword [eax + 0xc8]
fld dword [edi]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fld dword [esp + 0x50]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 4]
fld dword [esp + 0x5c]
fst dword [eax + 0x2c]
fstp dword [eax + 0xcc]
fmul dword [edi + 0x20]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x54]
fld dword [esp + 0x5c]
fst dword [eax + 0x7c]
fstp dword [eax + 0xa4]
fild dword [0xb160c8]
fadd dword [edi - 4]
fmul dword [0x9beef0]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x18]
fld dword [esp + 0x5c]
fst dword [eax + 0x68]
fstp dword [eax + 0xb8]
fild dword [0xb160c8]
fadd dword [edi + 0xc]
fmul dword [0x9beef0]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x40]
fld dword [esp + 0x5c]
fst dword [eax + 0x90]
fstp dword [eax + 0xe0]
fild dword [0xb160cc]
fadd dword [edi]
fmul dword [0x9beef4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x5c]
add edi, 0x60
fst dword [eax + 0x44]
fstp dword [eax + 0xe4]
fild dword [0xb160cc]
fadd dword [edi - 0x40]
fmul dword [0x9beef4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x6c]
fld dword [esp + 0x5c]
fst dword [eax + 0x94]
fstp dword [eax + 0xbc]
fld dword [edi - 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x20]
fld dword [esp + 0x5c]
fst dword [eax + 0x70]
fstp dword [eax + 0xc0]
fld dword [edi - 0x4c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x48]
fld dword [esp + 0x5c]
fst dword [eax + 0x98]
fstp dword [eax + 0xe8]
fld dword [edi - 0x58]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x24]
fld dword [esp + 0x5c]
fst dword [eax + 0x4c]
fstp dword [eax + 0xec]
fld dword [edi - 0x38]
mov dword [eax + 0xd0], ebp
fstp dword [esp + 0x5c]
mov dword [eax + 0xa8], ebp
fld dword [esp + 0x5c]
mov dword [eax + 0x80], ebp
fst dword [esp + 0x5c]
mov dword [eax + 0x58], ebp
fstp dword [eax + 0x74]
mov dword [eax + 0x30], ebp
fld dword [esp + 0x5c]
mov dword [eax + 8], ebp
fst dword [eax + 0x9c]
fstp dword [eax + 0xc4]
mov ecx, dword [0x9beedc]
add dword [0x9beefc], 0xf0
add ecx, 6
sub dword [esp + 0x2c], 1
mov dword [0x9beedc], ecx
jne 0x5bc6e0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x5bd769
mov edi, dword [esp + 0x5c]
mov ecx, dword [0x9beedc]
add edi, 0x64
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bcafc
mov esi, dword [eax]
call fcn.005ad050
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bcb0e
cmp dword [0xa05cb0], 0
je 0x5bcb25
push 0
mov eax, 1
xor ecx, ecx
call fcn.005b46a0
mov ecx, dword [0x9beedc]
add esp, 4
mov esi, dword [0x9beed8]
cmp esi, 1
mov eax, dword [0x9beee4]
je 0x5bcb55
cmp eax, 4
jne 0x5bcb55
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x87bf90]
jl 0x5bcc80
test ecx, ecx
je 0x5bcc64
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bcbb0
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x9beed8]
mov eax, dword [0x9beee0]
lea ecx, [eax + esi*2]
mov eax, dword [0x9beee4]
add ecx, esi
mov edx, dword [ecx*4 + 0x87bfa8]
mov ecx, dword [0x9beedc]
mov dword [0xa05cd4], edx
test esi, esi
je 0x5bcbcf
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bcbe4
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bcc1b
cmp eax, 2
jne 0x5bcbf2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bcc1b
cmp eax, 6
jne 0x5bcbfc
lea eax, [ecx - 2]
jmp 0x5bcc1b
cmp eax, 5
jne 0x5bcc06
lea eax, [ecx - 2]
jmp 0x5bcc1b
cmp eax, 3
jne 0x5bcc10
lea eax, [ecx - 1]
jmp 0x5bcc1b
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x9beee0]
mov edx, dword [0x9bed28]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x87bfc0]
add ecx, ecx
mov ecx, dword [ecx + 0x9beec0]
push ebx
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x9beee4]
push eax
push edx
call ecx
cmp dword [0x9beed8], 0
je 0x5bcc64
mov edx, 0xb16148
call fcn.005a3470
mov edx, dword [0x9beee0]
mov dword [0x9beedc], 0
mov eax, dword [edx*4 + 0x9beec0]
mov dword [0x9beefc], eax
mov eax, dword [0x9beefc]
mov ecx, dword [esp + 0x28]
mov dword [0x9beed8], 0
mov dword [0x9beee4], 4
mov dword [eax + 0x64], ecx
mov dword [eax + 0x10], ecx
fld dword [edi - 4]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x4c]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax]
fld dword [esp + 0x5c]
fst dword [eax + 0x38]
fstp dword [eax + 0x70]
fmul dword [edi + 0xc]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x5c]
fst dword [eax + 0x54]
fstp dword [eax + 0x8c]
fld dword [esp + 0x20]
fld st(0)
fmul dword [edi]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 4]
fld dword [esp + 0x5c]
fst dword [eax + 0x20]
fstp dword [eax + 0x90]
fld dword [edi + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x3c]
fld dword [esp + 0x5c]
fst dword [eax + 0x58]
fstp dword [eax + 0x74]
fld dword [edi + 4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x14]
fld dword [esp + 0x5c]
fst dword [eax + 0x4c]
fstp dword [eax + 0x84]
fld dword [edi + 0x14]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x30]
fld dword [esp + 0x5c]
fst dword [eax + 0x68]
fstp dword [eax + 0xa0]
fld dword [edi + 8]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x18]
fld dword [esp + 0x5c]
fst dword [eax + 0x34]
fstp dword [eax + 0xa4]
fld dword [edi + 0x28]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
mov dword [eax + 0x94], ebp
fstp dword [eax + 0x50]
mov dword [eax + 0x78], ebp
fld dword [esp + 0x5c]
mov dword [eax + 0x5c], ebp
fst dword [eax + 0x6c]
mov dword [eax + 0x40], ebp
fstp dword [eax + 0x88]
mov dword [eax + 0x24], ebp
mov dword [eax + 8], ebp
mov ecx, dword [0x9beedc]
add dword [0x9beefc], 0xa8
add ecx, 6
add edi, 0x60
sub dword [esp + 0x2c], 1
mov dword [0x9beedc], ecx
jne 0x5bcae2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
sub esi, dword [0xb15f88]
sub eax, dword [esp + 0x48]
sub edi, dword [0xb15f84]
sub esi, 1
sub eax, 1
sub edi, 1
and esi, edi
and esi, eax
mov eax, dword [0xb15f8c]
sub eax, ecx
sub eax, 1
and esi, eax
test esi, esi
js 0x5bd767
fild dword [0xb15f74]
mov eax, dword [0x9beee0]
sub eax, 1
fstp dword [esp + 0x30]
fld dword [0xb15f94]
fsub st(1)
fld dword [esp + 0x30]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fild dword [0xb15f78]
fstp dword [esp + 0x30]
fld dword [0xb15f98]
fsub st(2)
fld dword [esp + 0x30]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [0xb15f9c]
fsub st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [0xb15fa0]
fsubrp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
je 0x5bd363
sub eax, 1
jne 0x5bd769
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x5bd769
mov ebx, dword [esp + 0x5c]
fld dword [esp + 0x10]
mov ecx, dword [0x9beedc]
add ebx, 0x64
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bcee8
mov esi, dword [eax]
fstp st(0)
call fcn.005ad050
fld dword [esp + 0x10]
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bcefa
cmp dword [0xa05cb0], 0
je 0x5bcf17
push 0
fstp st(0)
mov eax, 1
xor ecx, ecx
call fcn.005b46a0
fld dword [esp + 0x14]
mov ecx, dword [0x9beedc]
add esp, 4
mov esi, dword [0x9beed8]
cmp esi, 1
mov eax, dword [0x9beee4]
je 0x5bcf47
cmp eax, 4
jne 0x5bcf47
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x87bf90]
jl 0x5bd078
test ecx, ecx
je 0x5bd05c
mov edx, dword [0x9beee0]
fstp st(0)
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bcfa4
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x9beed8]
mov eax, dword [0x9beee0]
lea ecx, [eax + esi*2]
mov eax, dword [0x9beee4]
add ecx, esi
mov edx, dword [ecx*4 + 0x87bfa8]
mov ecx, dword [0x9beedc]
mov dword [0xa05cd4], edx
test esi, esi
je 0x5bcfc3
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bcfd8
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bd00f
cmp eax, 2
jne 0x5bcfe6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bd00f
cmp eax, 6
jne 0x5bcff0
lea eax, [ecx - 2]
jmp 0x5bd00f
cmp eax, 5
jne 0x5bcffa
lea eax, [ecx - 2]
jmp 0x5bd00f
cmp eax, 3
jne 0x5bd004
lea eax, [ecx - 1]
jmp 0x5bd00f
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x9beee0]
mov edx, dword [0x9bed28]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov edi, dword [ecx + ecx + 0x87bfc0]
add ecx, ecx
mov ecx, dword [ecx + 0x9beec0]
push edi
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x9beee4]
push eax
push edx
call ecx
cmp dword [0x9beed8], 0
je 0x5bd058
mov edx, 0xb16148
call fcn.005a3470
fld dword [esp + 0x10]
mov edx, dword [0x9beee0]
mov dword [0x9beedc], 0
mov eax, dword [edx*4 + 0x9beec0]
mov dword [0x9beefc], eax
mov dword [0x9beed8], 0
mov edi, 4
mov dword [0x9beee4], edi
mov eax, dword [ebx + 0x40]
fild dword [eax + 0x20]
mov edx, dword [0x9beefc]
fld dword [esp + 0x1c]
lea esi, [edx + 0x50]
fld st(0)
lea ecx, [edx + 0x18]
fmulp st(2)
fld1
fld st(0)
fdivrp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fild dword [eax + 0x24]
fld dword [esp + 0x20]
fld st(0)
mov eax, dword [esp + 0x28]
fmulp st(2)
fxch st(3)
fdivrp st(1)
fstp dword [esp + 0x24]
fld dword [0x9beef0]
fstp dword [esp + 0x38]
fld dword [0x9beef4]
fstp dword [esp + 0x3c]
mov dword [edx + 0x88], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fmul st(1)
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx]
fstp dword [esi]
fld dword [ebx + 0xc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x28]
fstp dword [edx + 0x78]
fld dword [ebx]
fmul st(1)
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 4]
fstp dword [edx + 0x2c]
fld dword [ebx + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x54]
fstp dword [edx + 0x7c]
fild dword [0xb160c8]
fadd dword [ebx - 4]
fmul dword [0x9beef0]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [ecx]
fstp dword [edx + 0x68]
fild dword [0xb160c8]
fadd dword [ebx + 0xc]
fmul dword [0x9beef0]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x40]
fstp dword [edx + 0x90]
fild dword [0xb160cc]
fadd dword [ebx]
fmul dword [0x9beef4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x1c]
fstp dword [edx + 0x44]
fild dword [0xb160cc]
fadd dword [ebx + 0x20]
fmul dword [0x9beef4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x6c]
fstp dword [edx + 0x94]
fld dword [ebx + 4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x20]
fstp dword [edx + 0x70]
fld dword [ebx + 0x14]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x48]
fstp dword [edx + 0x98]
fld dword [ebx + 8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x24]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x28]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x74]
fstp dword [edx + 0x9c]
fld dword [esp + 0x5c]
fld dword [esp + 0x24]
fld dword [esp + 0x38]
fld dword [esp + 0x3c]
jmp 0x5bd21e
fxch st(4)
fld dword [ecx - 0x18]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x5bd246
fld st(4)
fsub dword [ecx - 0x18]
fld st(4)
fmul st(1)
fadd dword [ecx + 8]
fstp dword [ecx + 8]
fmul st(2)
fadd dword [ecx]
fstp dword [ecx]
fxch st(4)
fst dword [ecx - 0x18]
jmp 0x5bd27c
fld dword [ecx - 0x18]
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bd278
fsubr dword [ecx - 0x18]
fld dword [ecx + 8]
fld st(5)
fmul st(2)
fsubp st(1)
fstp dword [ecx + 8]
fld st(2)
fmulp st(1)
fsubr dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x14]
fstp dword [ecx - 0x18]
jmp 0x5bd27a
fstp st(0)
fxch st(4)
fld dword [ecx - 0x14]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5bd2ac
fsub dword [ecx - 0x14]
fld st(3)
fmul st(1)
fadd dword [ecx + 0xc]
fstp dword [ecx + 0xc]
fmul st(5)
fadd dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x18]
fstp dword [ecx - 0x14]
jmp 0x5bd2e4
fstp st(0)
fld dword [ecx - 0x14]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bd2e2
fsubr dword [ecx - 0x14]
fld dword [ecx + 0xc]
fld st(4)
fmul st(2)
fsubp st(1)
fstp dword [ecx + 0xc]
fld st(5)
fmulp st(1)
fsubr dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x2c]
fstp dword [ecx - 0x14]
jmp 0x5bd2e4
fstp st(0)
add ecx, 0x28
sub edi, 1
jne 0x5bd21c
lea edi, [edx + 0xa0]
fstp st(3)
mov ecx, 0xa
fstp st(1)
rep movsd dword es:[edi], dword [esi]
fstp st(0)
fstp st(1)
lea edi, [edx + 0xc8]
mov ecx, 0xa
lea esi, [edx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0xd0], ebp
mov dword [edx + 0xa8], ebp
mov dword [edx + 0x80], ebp
mov dword [edx + 0x58], ebp
mov dword [edx + 0x30], ebp
mov dword [edx + 8], ebp
mov ecx, dword [0x9beedc]
add dword [0x9beefc], 0xf0
add ecx, 6
add ebx, 0x60
sub dword [esp + 0x30], 1
mov dword [0x9beedc], ecx
jne 0x5bcec8
pop edi
fstp st(0)
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x5bd769
mov ebx, dword [esp + 0x5c]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
mov ecx, dword [0x9beedc]
fld dword [esp + 0x14]
add ebx, 0x64
mov dword [esp + 0x30], eax
jmp 0x5bd394
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [ebx + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bd3c2
mov esi, dword [eax]
fstp st(2)
fstp st(0)
fstp st(0)
call fcn.005ad050
fld dword [esp + 0x14]
mov ecx, dword [0x9beedc]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fxch st(2)
cmp dword [0xa05cac], 0
mov eax, dword [ebx + 0x40]
fild dword [eax + 0x20]
fmul dword [esp + 0x1c]
fld1
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fild dword [eax + 0x24]
fmul dword [esp + 0x20]
fdivp st(1)
fstp dword [esp + 0x24]
jne 0x5bd3f7
cmp dword [0xa05cb0], 0
je 0x5bd422
fstp st(2)
push 0
fstp st(0)
mov eax, 1
xor ecx, ecx
fstp st(0)
call fcn.005b46a0
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
mov ecx, dword [0x9beedc]
fld dword [esp + 0x14]
add esp, 4
fxch st(2)
mov esi, dword [0x9beed8]
cmp esi, 1
mov eax, dword [0x9beee4]
je 0x5bd452
cmp eax, 4
jne 0x5bd452
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x87bf90]
jl 0x5bd591
test ecx, ecx
je 0x5bd575
mov edx, dword [0x9beee0]
fstp st(2)
lea edx, [edx + esi*2]
fstp st(0)
add edx, esi
fstp st(0)
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bd4b3
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x9beed8]
mov eax, dword [0x9beee0]
lea ecx, [eax + esi*2]
mov eax, dword [0x9beee4]
add ecx, esi
mov edx, dword [ecx*4 + 0x87bfa8]
mov ecx, dword [0x9beedc]
mov dword [0xa05cd4], edx
test esi, esi
je 0x5bd4d2
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bd4e7
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bd51e
cmp eax, 2
jne 0x5bd4f5
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bd51e
cmp eax, 6
jne 0x5bd4ff
lea eax, [ecx - 2]
jmp 0x5bd51e
cmp eax, 5
jne 0x5bd509
lea eax, [ecx - 2]
jmp 0x5bd51e
cmp eax, 3
jne 0x5bd513
lea eax, [ecx - 1]
jmp 0x5bd51e
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x9beee0]
mov edx, dword [0x9bed28]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov edi, dword [ecx + ecx + 0x87bfc0]
add ecx, ecx
mov ecx, dword [ecx + 0x9beec0]
push edi
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x9beee4]
push eax
push edx
call ecx
cmp dword [0x9beed8], 0
je 0x5bd567
mov edx, 0xb16148
call fcn.005a3470
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fxch st(2)
mov edx, dword [0x9beee0]
mov dword [0x9beedc], 0
mov eax, dword [edx*4 + 0x9beec0]
mov dword [0x9beefc], eax
mov edx, dword [0x9beefc]
mov eax, dword [esp + 0x28]
mov dword [0x9beed8], 0
mov ecx, 4
mov dword [0x9beee4], ecx
mov dword [edx + 0x64], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x4c]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx]
fstp dword [edx + 0x38]
fmul dword [ebx + 0xc]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x1c]
fstp dword [edx + 0x54]
fld dword [esp + 0x20]
fld st(0)
fmul dword [ebx]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 4]
fstp dword [edx + 0x20]
fld dword [ebx + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x3c]
fstp dword [edx + 0x58]
fld dword [ebx + 4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x14]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x14]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x30]
fstp dword [edx + 0x68]
fld dword [ebx + 8]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x18]
fstp dword [edx + 0x34]
fld dword [ebx + 0x28]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x50]
fstp dword [edx + 0x6c]
fld dword [esp + 0x5c]
fld dword [esp + 0x24]
jmp 0x5bd672
fxch st(3)
fxch st(4)
fld dword [edx]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x5bd68f
fld st(4)
fsub dword [edx]
fmul st(2)
fadd dword [edx + 0x14]
fstp dword [edx + 0x14]
fxch st(4)
fst dword [edx]
jmp 0x5bd6b0
fld dword [edx]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x5bd6ae
fld dword [edx + 0x14]
fld dword [edx]
fsub st(4)
fmul st(3)
fsubp st(1)
fstp dword [edx + 0x14]
fxch st(2)
fst dword [edx]
fxch st(2)
fxch st(4)
fld dword [edx + 4]
fcomp st(4)
fnstsw ax
test ah, 5
jp 0x5bd6d0
fld st(3)
fsub dword [edx + 4]
fmul st(5)
fadd dword [edx + 0x18]
fstp dword [edx + 0x18]
fxch st(3)
fst dword [edx + 4]
jmp 0x5bd6fe
fld dword [edx + 4]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bd6fa
fld dword [edx + 4]
fsubrp st(1)
fld st(5)
fmulp st(1)
fsubr dword [edx + 0x18]
fstp dword [edx + 0x18]
fld dword [esp + 0x2c]
fstp dword [edx + 4]
jmp 0x5bd6fc
fstp st(0)
fxch st(3)
add edx, 0x1c
sub ecx, 1
jne 0x5bd66e
lea esi, [edx - 0x38]
fstp st(1)
mov ecx, 7
fstp st(3)
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0x54]
lea edi, [edx + 0x1c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x94], ebp
mov dword [edx + 0x78], ebp
mov dword [edx + 0x5c], ebp
mov dword [edx + 0x40], ebp
mov dword [edx + 0x24], ebp
mov dword [edx + 8], ebp
mov ecx, dword [0x9beedc]
add dword [0x9beefc], 0xa8
add ecx, 6
add ebx, 0x60
sub dword [esp + 0x30], 1
mov dword [0x9beedc], ecx
jne 0x5bd38e
fstp st(1)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x30
ret