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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov ebp, dword [eax + 0xc]
test ebp, ebp
jne 0xb688e0
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 8]
mov ebx, 0x100
sub ebx, eax
mov dword [esp + 0x28], eax
shl ebx, 0xa
mov eax, ebx
sar eax, 0x10
cmp eax, 3
mov dword [esp + 0x24], eax
mov edi, eax
jg 0xb68ae0
shl eax, 0x10
sub ebx, eax
test ebx, ebx
jle 0xb68b20
cmp ebx, 0x7fff
jg 0xb689d0
mov eax, edi
lea edi, [edi + 1]
lea edx, [esp + 0x44]
xor esi, esi
mov dword [esp + 0x2c], edi
lea edi, [eax + eax*2]
mov dword [esp + 0x20], edx
shl edi, 2
lea eax, [edi + 0xc]
mov ecx, dword [eax + esi*4 + 0xe0c5a0]
sub ecx, dword [edi + esi*4 + 0xe0c5a0]
movzx edx, cx
sar ecx, 0x10
imul edx, ebx
imul ecx, ebx
sar edx, 0x10
add ecx, edx
add ecx, dword [edi + esi*4 + 0xe0c5a0]
mov edx, dword [esp + 0x20]
mov dword [edx + esi*4], ecx
add esi, 1
cmp esi, 3
jne 0xb6893a
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov eax, dword [esi*8 + 0xe0c560]
mov ecx, dword [edi*8 + 0xe0c560]
mov edx, eax
mov dword [esp + 0x24], eax
sub edx, ecx
movzx eax, dx
sar edx, 0x10
imul eax, ebx
imul edx, ebx
sar eax, 0x10
add edx, eax
add edx, ecx
mov ecx, dword [esi*8 + 0xe0c564]
mov dword [esp + 0x3c], edx
mov edx, dword [edi*8 + 0xe0c564]
sub ecx, edx
movzx eax, cx
sar ecx, 0x10
imul eax, ebx
imul ecx, ebx
sar eax, 0x10
add eax, ecx
add edx, eax
mov dword [esp + 0x40], edx
jmp 0xb68a7e
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x44]
movsx edi, bx
xor ebx, ebx
mov dword [esp + 0x20], edx
add eax, 1
lea esi, [eax + eax*2]
mov dword [esp + 0x2c], eax
shl esi, 2
lea eax, [esi - 0xc]
mov ecx, dword [esi + ebx*4 + 0xe0c5a0]
sub ecx, dword [eax + ebx*4 + 0xe0c5a0]
movzx edx, cx
sar ecx, 0x10
imul edx, edi
imul ecx, edi
sar edx, 0x10
add ecx, edx
add ecx, dword [esi + ebx*4 + 0xe0c5a0]
mov edx, dword [esp + 0x20]
mov dword [edx + ebx*4], ecx
add ebx, 1
cmp ebx, 3
jne 0xb689f1
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esi*8 + 0xe0c560]
mov edx, ecx
sub edx, dword [ebx*8 + 0xe0c560]
movzx eax, dx
sar edx, 0x10
imul eax, edi
imul edx, edi
sar eax, 0x10
add edx, eax
mov eax, ebx
add edx, ecx
mov dword [esp + 0x3c], edx
mov edx, dword [esi*8 + 0xe0c564]
mov ebx, edx
sub ebx, dword [eax*8 + 0xe0c564]
movzx eax, bx
sar ebx, 0x10
imul eax, edi
imul ebx, edi
sar eax, 0x10
add eax, ebx
add edx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x70]
add eax, ebp
cdq
mov dword [edi + 8], eax
not edx
and eax, edx
cmp eax, 0x100
jle 0xb68a9c
mov eax, 0x100
mov esi, dword [esp + 0x70]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00b6f480
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0xe0c5d0]
mov edx, dword [0xe0c584]
mov dword [esp + 0x44], eax
mov eax, dword [0xe0c5d4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], eax
mov eax, dword [0xe0c5d8]
mov dword [esp + 0x4c], eax
mov eax, dword [0xe0c580]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x20], eax
jmp 0xb68a7e
mov edi, dword [esp + 0x24]
lea eax, [edi + edi*2]
shl eax, 2
lea edx, [eax + 0xe0c5a0]
mov eax, dword [eax + 0xe0c5a0]
mov dword [esp + 0x44], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 8]
mov edx, dword [edi*8 + 0xe0c564]
mov dword [esp + 0x4c], eax
mov eax, dword [edi*8 + 0xe0c560]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x20], eax
jmp 0xb68a7e