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

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
mov ebx, eax
sub esp, 0x5c
mov eax, dword [eax + 0xd8]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x78]
test eax, eax
je 0xb7a9fc
mov eax, ebx
xor edx, edx
mov ecx, dword [eax + 0x4c]
add edx, 1
mov ebp, ecx
shr ebp, 0x1f
add ecx, ebp
sar ecx, 1
mov dword [eax + 0x24], ecx
mov ecx, dword [eax + 0x50]
mov ebp, ecx
shr ebp, 0x1f
add ecx, ebp
sar ecx, 1
mov dword [eax + 0x28], ecx
add eax, 8
cmp edx, 5
jne 0xb7a7a5
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0xdc], 1
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp], eax
call fcn.00b79af0
test esi, 0x44000
jne 0xb7a940
test esi, 0x40000
jne 0xb7aa26
test esi, 0x4000
jne 0xb7aa58
mov ebp, dword [ebx + 0xd8]
test ebp, ebp
je 0xb7a8ec
test esi, 0x44000
je 0xb7a8e0
mov edx, ebx
xor eax, eax
mov ecx, dword [ebx + eax*4 + 0x10]
cmp dword [esp + eax*4 + 0x3c], ecx
jle 0xb7a852
mov ecx, dword [edx + 0x24]
add ecx, ecx
mov dword [edx + 0x4c], ecx
mov ecx, dword [edx + 0x28]
add ecx, ecx
mov dword [edx + 0x50], ecx
add eax, 1
add edx, 8
cmp eax, 5
jne 0xb7a838
mov ebp, dword [esp + 0x74]
mov al, 1
mov dword [ebx + 0xdc], 1
mov ecx, dword [ebx + 0xd4]
mov ebp, dword [ebp]
add ecx, 4
shl eax, cl
mov ecx, edi
shl ecx, 4
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x70]
lea edx, [eax - 1]
mov dword [esp + 0x28], ecx
neg eax
mov ecx, dword [ebp]
sub ecx, dword [esp + 0x28]
shl ecx, 2
cmp ecx, edx
cmovg ecx, edx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 4
sub dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x2c]
shl ebp, 2
cmp ebp, edx
cmovg ebp, edx
add edi, 1
mov edx, dword [esp + 0x24]
shl edi, 6
neg edi
cmp edi, eax
cmovl edi, eax
add edx, 1
shl edx, 6
neg edx
cmp edx, eax
cmovge eax, edx
mov dword [ebx + 8], ebp
mov dword [ebx + 4], edi
mov dword [ebx + 0xc], eax
test esi, 0x10000
jne 0xb7aa95
and esi, 0x80000
je 0xb7a931
mov ecx, dword [ebx + 0xd8]
lea edx, [ebx + 0x24]
lea eax, [ebx + 0x4c]
test ecx, ecx
mov ecx, dword [ebx + 0x9c]
cmove eax, edx
mov edx, dword [ebx + 0x98]
cmp edx, dword [eax]
je 0xb7aa83
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00b79af0
mov eax, dword [ebx + 0x10]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xd4]
sub ecx, dword [ebx + 0xd8]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x14]
add ecx, 4
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov eax, 1
shl eax, cl
mov ecx, edi
shl ecx, 4
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp]
lea edx, [eax - 1]
sub ecx, dword [esp + 0x2c]
neg eax
mov dword [ebx + 0xdc], 0
add ecx, ecx
cmp ecx, edx
cmovg ecx, edx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 4
sub dword [esp + 0x28], ecx
mov ebp, dword [esp + 0x28]
add ebp, ebp
cmp ebp, edx
cmovg ebp, edx
lea edx, [edi + 1]
shl edx, 5
neg edx
cmp edx, eax
cmovl edx, eax
mov dword [ebx + 4], edx
mov edx, dword [esp + 0x24]
mov dword [ebx + 8], ebp
add edx, 1
shl edx, 5
neg edx
cmp edx, eax
cmovge eax, edx
test byte [ebx + 0x4c], 1
mov dword [ebx + 0xc], eax
jne 0xb7a9fc
test byte [ebx + 0x50], 1
je 0xb7a802
mov eax, dword [ebx + 0x28]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call fcn.00b79af0
test esi, 0x40000
je 0xb7a80e
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x10], fcn.00b79af0
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call fcn.00b5eb80
test esi, 0x4000
je 0xb7a81a
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], fcn.00b79af0
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00b5eee0
jmp 0xb7a81a
cmp ecx, dword [eax + 4]
jne 0xb7a919
lea esi, [esi]
jmp 0xb7a931
test esi, 0x2000000
je 0xb7aac0
mov dword [esp + 8], 0
mov dword [esp + 4], fcn.00b79af0
mov dword [esp], ebx
call fcn.00b5f000
jmp 0xb7a8ec
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], fcn.00b79af0
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00b5eee0
jmp 0xb7a8ec