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

Disassembly:
sub esp, 0x258
push ebx
mov ebx, dword [esp + 0x260]
cmp dword [ebx + 0x70], 0
push ebp
push esi
push edi
je 0x5b08ee
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x5b08ee
mov eax, dword [ebx + 0x60]
xor edx, edx
div ecx
test edx, edx
jne 0x5b08ee
mov esi, dword [ebx + 8]
mov eax, esi
div ecx
test edx, edx
jne 0x5b08ee
mov ecx, dword [ebx + 0x74]
mov edi, dword [ebx + 0x70]
mov eax, dword [ebx + 0x64]
add ecx, ecx
sub ecx, dword [ebx + 0x6c]
add eax, ecx
div edi
xor edx, edx
mov ebp, eax
mov eax, dword [ebx + 0x68]
add eax, ecx
div edi
add ebp, 1
mov edi, eax
add edi, 1
test ebp, ebp
je 0x5b08ee
test edi, edi
je 0x5b08ee
mov ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0x60]
xor edx, edx
div ecx
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, esi
div ecx
test eax, eax
mov dword [esp + 0x14], eax
je 0x5b08ee
lea ecx, [ebx + 0x48]
lea eax, [esp + 0x60]
mov dword [esp + 0x260], 0
mov dword [esp + 0x20], ecx
call fcn.00628260
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0x60]
call fcn.00628260
lea ecx, [ebx + 0x14]
lea eax, [esp + 0x60]
call fcn.00628260
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
mov edx, eax
imul edx, eax
mov eax, dword [ebx + 0x68]
push ecx
mov ecx, dword [ebx + 0x64]
push edx
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.00628120
mov edx, dword [ebx + 0x60]
mov esi, edi
imul esi, ebp
push edi
push esi
push ebp
push edx
call fcn.00628120
mov ebp, dword [esp + 0x14]
fldz
mov eax, ebp
sub esp, 0x10
test eax, eax
mov dword [esp + 0x28], eax
fstp dword [esp + 0xc]
fild dword [esp + 0x28]
jge 0x5b06ec
fadd dword [0x7236cc]
test edi, edi
fld1
fld st(0)
mov dword [esp + 0x28], edi
fdivrp st(2)
fxch st(1)
fstp dword [esp + 8]
fild dword [esp + 0x28]
jge 0x5b070a
fadd dword [0x7236cc]
test esi, esi
fdivr st(1)
mov dword [esp + 0x28], esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
jge 0x5b0722
fadd dword [0x7236cc]
fdivp st(1)
lea ecx, [esp + 0x70]
fstp dword [esp]
call fcn.00628170
push 0
push 0
push 0
push 0
call fcn.00628120
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ebp
push ecx
lea ecx, [esp + 0x70]
call fcn.00628120
mov edx, dword [ebx + 0x44]
push edx
lea esi, [esp + 0x30]
call fcn.0062cee0
mov esi, dword [esp + 0x20]
mov eax, esi
lea ecx, [esp + 0x2c]
call fcn.004d3f20
test al, al
jne 0x5b078c
mov ecx, esi
call fcn.0062dbb0
lea ecx, [esp + 0x2c]
call fcn.0062d570
mov edi, dword [ebx + 0x44]
lea eax, [esp + 0x2c]
call fcn.0062d4c0
fldz
push ecx
lea eax, [esp + 0x30]
fstp dword [esp]
call fcn.0062d8c0
call fcn.00627890
mov al, byte [0x7365d0]
neg al
lea ebp, [esp + 0x2c]
sbb eax, eax
and eax, 0xe
xor edx, edx
add eax, 2
cmp dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jle 0x5b088c
mov edi, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x6c]
imul edi, edi
imul edi, edx
xor ecx, ecx
test eax, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x24], ecx
jle 0x5b087a
mov edx, eax
imul edx, ecx
xor esi, esi
test eax, eax
jle 0x5b0864
add edx, edi
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x20]
cmp ebp, edi
jne 0x5b0802
lea edi, [esp + 0x2c]
mov eax, dword [ebx + 0x74]
mov edx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0xf4], ecx
push ebp
mov ecx, esi
sub ecx, eax
lea eax, [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x10]
push eax
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x104], ecx
push edi
lea ecx, [esp + 0x70]
push ecx
add edx, esi
push 0x733260
mov dword [esp + 0x114], edx
call fcn.0062c980
test al, al
je 0x5b08fd
mov ecx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [ebx + 0x6c]
mov ebp, edi
jl 0x5b07f6
mov edi, dword [esp + 0x44]
mov eax, dword [ebx + 0x6c]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x24], ecx
jl 0x5b07e5
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
jl 0x5b07c7
mov eax, dword [ebx + 0x44]
push eax
lea esi, [esp + 0x4c]
call fcn.0062cee0
mov ecx, esi
lea eax, [esp + 0x60]
mov dword [esp + 0x260], 0
call fcn.00628260
add ebx, 0x2c
mov ecx, ebx
lea eax, [esp + 0x60]
call fcn.00628260
mov ecx, ebp
lea eax, [esp + 0x60]
call fcn.00628260
push ebx
push ebp
mov ecx, esi
push ecx
lea edx, [esp + 0x6c]
push edx
push 0x733218
call fcn.0062c910
test al, al
jne 0x5b093c
call fcn.0040ae00
lea esi, [esp + 0x2c]
call fcn.0040ae00
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5b090d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5b091d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5b08ee
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 4
mov esi, dword [esp + 0x20]
lea edi, [esp + 0x48]
call fcn.0062e0e0
mov esi, edi
call fcn.0040ae00
lea esi, [esp + 0x2c]
call fcn.0040ae00
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x258
ret 4