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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
push edi
jle 0x60ba0a
mov dword [esp + 0x64], eax
mov ecx, eax
test ecx, ecx
jge 0x60ba1a
mov dword [esp + 0x64], 0
mov ecx, dword [esp + 0x64]
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x68]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0x80]
lea ebp, [eax + ecx]
mov eax, ebp
neg eax
mov ecx, eax
add edx, 1
cmp ecx, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
jg 0x60bb85
jmp 0x60ba60
cmp eax, ebp
mov dword [esp + 0x14], eax
jg 0x60bb76
mov edi, dword [esp + 0x60]
lea ebx, [edi + ecx]
mov edi, dword [esp + 0x5c]
add edi, eax
lea esp, [esp]
test ebx, ebx
jl 0x60bb5c
cmp ebx, edx
jge 0x60bb5c
test edi, edi
jl 0x60bb5c
cmp edi, edx
jge 0x60bb5c
mov edx, ecx
imul eax, eax
imul edx, ecx
mov ecx, dword [esp + 0x68]
add eax, edx
mov edx, ecx
imul edx, ecx
cmp eax, edx
mov dword [esp + 0x10], eax
jle 0x60bb37
mov ecx, ebp
imul ecx, ebp
cmp eax, ecx
jg 0x60bb54
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd0]
fild dword [esp + 0x10]
mov ecx, eax
fnstcw word [esp + 0x10]
fsqrt
movzx eax, word [esp + 0x10]
or ah, 0xc
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
fild dword [esp + 0x68]
fsubr st(1)
fmul dword [0x7e1f20]
fldcw word [esp + 0x20]
fistp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
sub eax, edx
cmp eax, ecx
fstp st(0)
fldcw word [esp + 0x10]
jle 0x60bb54
push 0
push 0
push eax
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd4]
jmp 0x60bb54
mov ecx, dword [esp + 0x64]
push 0
push 0
push ecx
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd4]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add eax, 1
add edi, 1
cmp eax, ebp
mov dword [esp + 0x14], eax
jle 0x60ba80
mov eax, dword [esp + 0x24]
add ecx, 1
cmp ecx, ebp
mov dword [esp + 0x18], ecx
jle 0x60ba60
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov edx, dword [esi + 0x78]
lea ecx, [ebx + ebp]
mov dword [esp + 0x40], ecx
mov eax, ebx
sub eax, ebp
mov ecx, edi
sub ecx, ebp
cmp eax, edx
lea ebp, [edi + ebp + 1]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], ebp
jge 0x60bbb9
mov eax, edx
mov dword [esp + 0x38], eax
mov edx, dword [esi + 0x7c]
cmp ecx, edx
jge 0x60bbc4
mov dword [esp + 0x3c], edx
mov ecx, dword [esi + 0x80]
cmp dword [esp + 0x40], ecx
jle 0x60bbd4
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x84]
cmp ebp, ecx
jle 0x60bbe2
mov dword [esp + 0x44], ecx
xor ecx, ecx
or ebp, 0xffffffff
cmp dword [esp + 0x70], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
jne 0x60bc13
mov edx, dword [esi]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call dword [edx + 0xa8]
jmp 0x60bc40
push 1
lea edx, [esp + 0x2c]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x58]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0xc], eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc8]
mov eax, dword [esp + 0x6c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x48], 1
mov dword [esp + 0x50], ecx
jl 0x60bcf1
mov edx, dword [esi]
push eax
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call dword [edx + 0x74]
test byte [esi + 0x18], 1
je 0x60bcca
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
add eax, 1
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
sar ecx, 1
add eax, 1
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x60bc9d
mov eax, ecx
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jg 0x60bca7
mov eax, ecx
lea ecx, [esp + 0x48]
push ecx
add eax, 5
push eax
push 0x5a
push 0x55
sub esp, 8
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], edi
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x98]
jmp 0x60bcf1
mov ecx, dword [esp + 0x68]
push 0
lea eax, [esp + 0x4c]
push eax
add ecx, 8
push ecx
push 0x5a
push 0x55
sub esp, 8
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], edi
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x8c]
mov ecx, dword [esp + 0x78]
test ecx, ecx
mov ebx, dword [esp + 0x74]
jne 0x60bd05
test ebx, ebx
je 0x60be05
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
sub edi, 1
sub eax, 1
add ebp, 1
add edx, 1
test ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edx
je 0x60bd68
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x54]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x60be05
mov ecx, dword [esp + 0x48]
sub edi, 1
sub eax, 1
add ebp, 1
add edx, 1
cmp ecx, dword [esp + 0x50]
jg 0x60bdb8
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x4c], ecx
jg 0x60bdb8
mov ecx, dword [esp + 0x48]
cmp ecx, edi
jge 0x60bd9a
mov edi, ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x60bda4
mov eax, ecx
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
jle 0x60bdae
mov ebp, ecx
mov ecx, dword [esp + 0x54]
cmp ecx, edx
jle 0x60bdb8
mov edx, ecx
mov ecx, dword [esi + 0x78]
cmp edi, ecx
jge 0x60bdc1
mov edi, ecx
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jge 0x60bdca
mov eax, ecx
mov ecx, dword [esi + 0x80]
cmp ebp, ecx
jle 0x60bdd6
mov ebp, ecx
mov ecx, dword [esi + 0x84]
cmp edx, ecx
jle 0x60bde2
mov edx, ecx
mov esi, dword [esi + 0x5c]
imul eax, esi
imul edx, esi
mov ecx, esi
imul ecx, edi
mov edi, eax
mov eax, esi
imul eax, ebp
sub eax, 1
mov dword [ebx], ecx
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 0x20