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

Disassembly:
sub esp, 0x2c
cmp dword [0x9bed28], 0
push esi
mov esi, eax
push edi
mov edi, dword [esi + 0xc]
je 0x5bc11d
cmp dword [0x9bed18], 0
jne 0x5bc11d
cmp dword [0xa05c94], 0
fld dword [esp + 0x40]
fld qword [0x881950]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x40]
fsubr dword [esp + 0x44]
fstp dword [esp + 0x44]
jne 0x5bb06c
call fcn.0057c526
mov eax, dword [esp + 0x4c]
mov edx, dword [edi + 0x2c]
push ebx
lea ecx, [eax + eax]
or ecx, dword [esp + 0x4c]
push ebp
push ecx
push edx
add edi, 8
push edi
call fcn.005b6a20
mov ecx, dword [esi + 0x44]
mov eax, dword [0x9beef8]
mov edi, dword [esp + 0x40]
mov ebp, dword [0xb160a8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x30]
mov edx, ecx
sub edx, dword [0xb15f8c]
mov ebx, eax
sub ebx, dword [0xb15f90]
lea edi, [edx + edi - 1]
mov edx, dword [esp + 0x44]
lea ebx, [ebx + edx - 1]
and edi, ebx
mov ebx, dword [0xb15f88]
sub ebx, edx
mov edx, dword [esp + 0x40]
sub ebx, 1
and edi, ebx
mov ebx, dword [0xb15f84]
sub ebx, edx
sub ebx, 1
and edi, ebx
test edi, edi
jns 0x5bb817
mov eax, dword [0x9beee0]
sub eax, 1
je 0x5bb4f1
sub eax, 1
jne 0x5bc113
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x5bc113
mov ecx, dword [0x9beedc]
lea edi, [esi + 0x64]
mov dword [esp + 0x28], eax
jmp 0x5bb120
mov eax, dword [edi + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bb13a
mov esi, dword [eax]
call fcn.005ad050
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bb14c
cmp dword [0xa05cb0], 0
je 0x5bb163
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 0x5bb193
cmp eax, 4
jne 0x5bb193
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x87bf90]
jl 0x5bb2be
test ecx, ecx
je 0x5bb2a2
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bb1ee
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 0x5bb20d
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bb222
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bb259
cmp eax, 2
jne 0x5bb230
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bb259
cmp eax, 6
jne 0x5bb23a
lea eax, [ecx - 2]
jmp 0x5bb259
cmp eax, 5
jne 0x5bb244
lea eax, [ecx - 2]
jmp 0x5bb259
cmp eax, 3
jne 0x5bb24e
lea eax, [ecx - 1]
jmp 0x5bb259
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 0x5bb2a2
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 + 0x20]
mov dword [0x9beed8], 0
mov dword [0x9beee4], 4
mov dword [eax + 0x88], ecx
mov dword [eax + 0x10], ecx
fld dword [edi - 4]
fld dword [esp + 0x48]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax]
fld dword [esp + 0x24]
fst dword [eax + 0x50]
fstp dword [eax + 0xa0]
fadd dword [edi + 0xc]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x28]
fld dword [esp + 0x2c]
fst dword [eax + 0x78]
fstp dword [eax + 0xc8]
fld dword [edi]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 4]
fld dword [esp + 0x2c]
fst dword [eax + 0x2c]
fstp dword [eax + 0xcc]
fadd dword [edi + 0x20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x54]
fld dword [esp + 0x2c]
fst dword [eax + 0x7c]
fstp dword [eax + 0xa4]
fild dword [0xb160c8]
fadd dword [edi - 4]
fmul dword [0x9beef0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x18]
fld dword [esp + 0x2c]
fst dword [eax + 0x68]
fstp dword [eax + 0xb8]
fild dword [0xb160c8]
fadd dword [edi + 0xc]
fmul dword [0x9beef0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x40]
fld dword [esp + 0x2c]
fst dword [eax + 0x90]
fstp dword [eax + 0xe0]
fild dword [0xb160cc]
fadd dword [edi]
fmul dword [0x9beef4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x2c]
fst dword [eax + 0x44]
fstp dword [eax + 0xe4]
fild dword [0xb160cc]
fadd dword [edi + 0x20]
fmul dword [0x9beef4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
add edi, 0x60
fstp dword [eax + 0x6c]
fld dword [esp + 0x2c]
fst dword [eax + 0x94]
fstp dword [eax + 0xbc]
fld dword [edi - 0x5c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x20]
fld dword [esp + 0x24]
fst dword [eax + 0x70]
fstp dword [eax + 0xc0]
fld dword [edi - 0x4c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x48]
fld dword [esp + 0x24]
fst dword [eax + 0x98]
fstp dword [eax + 0xe8]
fld dword [edi - 0x58]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x24]
fld dword [esp + 0x24]
fst dword [eax + 0x4c]
fstp dword [eax + 0xec]
fld dword [edi - 0x38]
mov dword [eax + 0xd0], ebp
fstp dword [esp + 0x2c]
mov dword [eax + 0xa8], ebp
fld dword [esp + 0x2c]
mov dword [eax + 0x80], ebp
fst dword [esp + 0x24]
mov dword [eax + 0x58], ebp
fstp dword [eax + 0x74]
mov dword [eax + 0x30], ebp
fld dword [esp + 0x24]
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 + 0x28], 1
mov dword [0x9beedc], ecx
jne 0x5bb120
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x5bc113
mov ecx, dword [0x9beedc]
lea edi, [esi + 0x64]
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov eax, dword [edi + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bb52a
mov esi, dword [eax]
call fcn.005ad050
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bb53c
cmp dword [0xa05cb0], 0
je 0x5bb553
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 0x5bb583
cmp eax, 4
jne 0x5bb583
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x87bf90]
jl 0x5bb6ae
test ecx, ecx
je 0x5bb692
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x87bfa8]
cmp dword [0xa05cd4], edx
je 0x5bb5de
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 0x5bb5fd
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bb612
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bb649
cmp eax, 2
jne 0x5bb620
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bb649
cmp eax, 6
jne 0x5bb62a
lea eax, [ecx - 2]
jmp 0x5bb649
cmp eax, 5
jne 0x5bb634
lea eax, [ecx - 2]
jmp 0x5bb649
cmp eax, 3
jne 0x5bb63e
lea eax, [ecx - 1]
jmp 0x5bb649
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 0x5bb692
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 dword [0x9beed8], 0
mov dword [0x9beee4], 4
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x64], ecx
mov dword [eax + 0x10], ecx
fld dword [edi - 4]
fld dword [esp + 0x48]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax]
fld dword [esp + 0x24]
fst dword [eax + 0x38]
fstp dword [eax + 0x70]
fadd dword [edi + 0xc]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x2c]
fst dword [eax + 0x54]
fstp dword [eax + 0x8c]
fld dword [esp + 0x4c]
fld st(0)
fadd dword [edi]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 4]
fld dword [esp + 0x2c]
fst dword [eax + 0x20]
fstp dword [eax + 0x90]
fadd dword [edi + 0x20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [eax + 0x3c]
fld dword [esp + 0x2c]
fst dword [eax + 0x58]
fstp dword [eax + 0x74]
fld dword [edi + 4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x14]
fld dword [esp + 0x24]
fst dword [eax + 0x4c]
fstp dword [eax + 0x84]
fld dword [edi + 0x14]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x30]
fld dword [esp + 0x24]
fst dword [eax + 0x68]
fstp dword [eax + 0xa0]
fld dword [edi + 8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x24]
fstp dword [eax + 0x18]
fld dword [esp + 0x24]
fst dword [eax + 0x34]
fstp dword [eax + 0xa4]
fld dword [edi + 0x28]
mov dword [eax + 0x94], ebp
fstp dword [esp + 0x2c]
mov dword [eax + 0x78], ebp
fld dword [esp + 0x2c]
mov dword [eax + 0x5c], ebp
fst dword [esp + 0x24]
mov dword [eax + 0x40], ebp
fstp dword [eax + 0x50]
mov dword [eax + 0x24], ebp
fld dword [esp + 0x24]
fst dword [eax + 0x6c]
fstp dword [eax + 0x88]
mov dword [eax + 8], ebp
mov ecx, dword [0x9beedc]
add dword [0x9beefc], 0xa8
add ecx, 6
add edi, 0x60
sub dword [esp + 0x28], 1
mov dword [0x9beedc], ecx
jne 0x5bb510
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret
sub eax, dword [0xb15f88]
sub ecx, dword [0xb15f84]
lea edi, [ecx + edx - 1]
mov ecx, dword [esp + 0x44]
lea eax, [eax + ecx - 1]
and edi, eax
mov eax, dword [0xb15f90]
sub eax, ecx
sub eax, 1
and edi, eax
mov eax, dword [0xb15f8c]
sub eax, edx
sub eax, 1
and edi, eax
test edi, edi
js 0x5bc113
fld dword [0xb15f94]
mov eax, dword [0x9beee0]
sub eax, 1
fstp dword [esp + 0x10]
fld dword [0xb15f98]
fstp dword [esp + 0x18]
fld dword [0xb15f9c]
fstp dword [esp + 0x14]
fld dword [0xb15fa0]
fstp dword [esp + 0x24]
je 0x5bbd28
sub eax, 1
jne 0x5bc113
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x5bc113
fld dword [esp + 0x10]
mov ecx, dword [0x9beedc]
lea ebx, [esi + 0x64]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bb8cd
mov esi, dword [eax]
fstp st(0)
call fcn.005ad050
fld dword [esp + 0x10]
mov ecx, dword [0x9beedc]
cmp dword [0xa05cac], 0
jne 0x5bb8df
cmp dword [0xa05cb0], 0
je 0x5bb8fc
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 0x5bb92c
cmp eax, 4
jne 0x5bb92c
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x87bf90]
jl 0x5bba5d
test ecx, ecx
je 0x5bba41
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 0x5bb989
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 0x5bb9a8
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bb9bd
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bb9f4
cmp eax, 2
jne 0x5bb9cb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bb9f4
cmp eax, 6
jne 0x5bb9d5
lea eax, [ecx - 2]
jmp 0x5bb9f4
cmp eax, 5
jne 0x5bb9df
lea eax, [ecx - 2]
jmp 0x5bb9f4
cmp eax, 3
jne 0x5bb9e9
lea eax, [ecx - 1]
jmp 0x5bb9f4
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 0x5bba3d
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]
fld1
lea esi, [edx + 0x50]
fld st(0)
lea ecx, [edx + 0x18]
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fidiv dword [eax + 0x24]
mov eax, dword [esp + 0x20]
fstp dword [esp + 0x28]
fld dword [0x9beef0]
fstp dword [esp + 0x34]
fld dword [0x9beef4]
fstp dword [esp + 0x38]
mov dword [edx + 0x88], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fld dword [esp + 0x48]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx]
fstp dword [esi]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x28]
fstp dword [edx + 0x78]
fld dword [ebx]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 4]
fstp dword [edx + 0x2c]
fadd dword [ebx + 0x20]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x54]
fstp dword [edx + 0x7c]
fild dword [0xb160c8]
fadd dword [ebx - 4]
fmul dword [0x9beef0]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [ecx]
fstp dword [edx + 0x68]
fild dword [0xb160c8]
fadd dword [ebx + 0xc]
fmul dword [0x9beef0]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x40]
fstp dword [edx + 0x90]
fild dword [0xb160cc]
fadd dword [ebx]
fmul dword [0x9beef4]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x1c]
fstp dword [edx + 0x44]
fild dword [0xb160cc]
fadd dword [ebx + 0x20]
fmul dword [0x9beef4]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x6c]
fstp dword [edx + 0x94]
fld dword [ebx + 4]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x20]
fstp dword [edx + 0x70]
fld dword [ebx + 0x14]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x48]
fstp dword [edx + 0x98]
fld dword [ebx + 8]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x24]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x28]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fst dword [edx + 0x74]
fstp dword [edx + 0x9c]
fld dword [esp + 0x1c]
fld dword [esp + 0x28]
fld dword [esp + 0x34]
fld dword [esp + 0x38]
jmp 0x5bbbe3
fxch st(4)
fld dword [ecx - 0x18]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x5bbc0b
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 0x5bbc41
fld dword [ecx - 0x18]
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bbc3d
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 0x5bbc3f
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 0x5bbc71
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 0x5bbca9
fstp st(0)
fld dword [ecx - 0x14]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bbca7
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 + 0x24]
fstp dword [ecx - 0x14]
jmp 0x5bbca9
fstp st(0)
add ecx, 0x28
sub edi, 1
jne 0x5bbbe1
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 + 0x2c], 1
mov dword [0x9beedc], ecx
jne 0x5bb8ad
pop ebp
fstp st(0)
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x5bc113
fld dword [esp + 0x10]
mov ecx, dword [0x9beedc]
fld dword [esp + 0x18]
lea ebx, [esi + 0x64]
fld dword [esp + 0x14]
mov dword [esp + 0x2c], eax
jmp 0x5bbd55
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [ebx + 0x40]
mov edx, dword [0x9feb00]
cmp edx, dword [eax]
je 0x5bbd83
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
jne 0x5bbd95
cmp dword [0xa05cb0], 0
je 0x5bbdc0
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 0x5bbdf0
cmp eax, 4
jne 0x5bbdf0
mov edx, dword [0x9beee0]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x87bf90]
jl 0x5bbf2f
test ecx, ecx
je 0x5bbf13
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 0x5bbe51
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 0x5bbe70
mov edx, 0x8c0138
call fcn.005a3470
mov eax, dword [0x9beee4]
mov ecx, dword [0x9beedc]
mov esi, dword [0x9beed8]
cmp eax, 4
jne 0x5bbe85
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5bbebc
cmp eax, 2
jne 0x5bbe93
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x5bbebc
cmp eax, 6
jne 0x5bbe9d
lea eax, [ecx - 2]
jmp 0x5bbebc
cmp eax, 5
jne 0x5bbea7
lea eax, [ecx - 2]
jmp 0x5bbebc
cmp eax, 3
jne 0x5bbeb1
lea eax, [ecx - 1]
jmp 0x5bbebc
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 0x5bbf05
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 + 0x20]
mov dword [0x9beed8], 0
mov edi, 4
mov dword [0x9beee4], edi
mov dword [edx + 0x64], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fld dword [esp + 0x48]
lea esi, [edx + 0x38]
fld st(0)
lea ecx, [edx + 0x18]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx]
fstp dword [esi]
fadd dword [ebx + 0xc]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 0x1c]
fstp dword [edx + 0x54]
fld dword [ebx]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 4]
fstp dword [edx + 0x20]
fadd dword [ebx + 0x20]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 0x3c]
fstp dword [edx + 0x58]
fld dword [ebx + 4]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 0x14]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x14]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 0x30]
fstp dword [edx + 0x68]
fld dword [ebx + 8]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [ecx]
fstp dword [edx + 0x34]
fld dword [ebx + 0x28]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edx + 0x50]
fstp dword [edx + 0x6c]
mov eax, dword [ebx + 0x40]
fild dword [eax + 0x20]
fld1
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fidiv dword [eax + 0x24]
fstp dword [esp + 0x28]
fld dword [esp + 0x1c]
fld dword [esp + 0x28]
jmp 0x5bc019
fxch st(3)
fxch st(4)
fld dword [ecx - 0x18]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x5bc039
fld st(4)
fsub dword [ecx - 0x18]
fmul st(2)
fadd dword [ecx - 4]
fstp dword [ecx - 4]
fxch st(4)
fst dword [ecx - 0x18]
jmp 0x5bc05d
fld dword [ecx - 0x18]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x5bc05b
fld dword [ecx - 4]
fld dword [ecx - 0x18]
fsub st(4)
fmul st(3)
fsubp st(1)
fstp dword [ecx - 4]
fxch st(2)
fst dword [ecx - 0x18]
fxch st(2)
fxch st(4)
fld dword [ecx - 0x14]
fcomp st(4)
fnstsw ax
test ah, 5
jp 0x5bc07b
fld st(3)
fsub dword [ecx - 0x14]
fmul st(5)
fadd dword [ecx]
fstp dword [ecx]
fxch st(3)
fst dword [ecx - 0x14]
jmp 0x5bc0a7
fld dword [ecx - 0x14]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5bc0a3
fld dword [ecx - 0x14]
fsubrp st(1)
fld st(5)
fmulp st(1)
fsubr dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x24]
fstp dword [ecx - 0x14]
jmp 0x5bc0a5
fstp st(0)
fxch st(3)
add ecx, 0x1c
sub edi, 1
jne 0x5bc015
lea edi, [edx + 0x70]
fstp st(1)
mov ecx, 7
fstp st(3)
rep movsd dword es:[edi], dword [esi]
lea edi, [edx + 0x8c]
mov ecx, 7
lea esi, [edx + 0x1c]
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 + 0x2c], 1
mov dword [0x9beedc], ecx
jne 0x5bbd4f
fstp st(1)
fstp st(1)
fstp st(0)
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x2c
ret