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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x70
mov ebx, dword [esp + 0x84]
xor esi, esi
mov ecx, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov ebp, 2
mov dword [esp + 0x28], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], esi
mov eax, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
mov edx, 8
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
push ebx
mov dword [ebx + 0x78], esi
call fcn.004a1e3c
pop ecx
movzx eax, byte [ebx + 0x123]
test eax, eax
je 0x4aad54
mov esi, dword [ebx + 0x70]
mov eax, dword [ebx + 0xcc]
test esi, 2
jne 0x4aacfd
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
neg ebp
add ebp, ecx
lea eax, [ebp + eax - 1]
xor edx, edx
div ecx
mov dword [ebx + 0xd0], eax
jmp 0x4aad03
mov dword [ebx + 0xd0], eax
mov ecx, dword [ebx + 0xc8]
movzx edi, byte [ebx + 0x124]
mov ebp, dword [esp + edi*4]
mov edx, dword [esp + edi*4 + 0x1c]
movzx edi, byte [ebx + 0x129]
lea eax, [ecx + ebp]
neg edx
lea eax, [eax + edx - 1]
xor edx, edx
div ebp
cmp edi, 8
mov dword [ebx + 0xe0], eax
jl 0x4aad40
mov edx, edi
shr edx, 3
imul eax, edx
jmp 0x4aad49
imul eax, edi
add eax, 7
shr eax, 3
add eax, 1
mov dword [ebx + 0xdc], eax
jmp 0x4aad85
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xd8]
movzx edi, byte [ebx + 0x129]
mov esi, dword [ebx + 0x70]
mov dword [ebx + 0xd0], ecx
mov ecx, dword [ebx + 0xc8]
mov dword [ebx + 0xe0], ecx
add eax, 1
mov dword [ebx + 0xdc], eax
test esi, 4
je 0x4aad9e
movzx eax, byte [ebx + 0x127]
cmp eax, 8
jge 0x4aad9e
mov edi, 8
mov ebp, esi
and ebp, 0x1000
je 0x4aade0
movzx eax, byte [ebx + 0x126]
cmp eax, 3
je 0x4aaf7f
test eax, eax
jne 0x4aadd7
movzx edx, word [ebx + 0x11a]
mov eax, 8
cmp edi, 8
jge 0x4aadcf
mov edi, eax
test edx, edx
je 0x4aade0
add edi, edi
jmp 0x4aade0
cmp eax, 2
je 0x4aaf59
mov eax, esi
and eax, 0x8000
je 0x4aae19
movzx edx, byte [ebx + 0x126]
cmp edx, 3
je 0x4aafb7
test edx, edx
jne 0x4aae10
cmp edi, 8
jg 0x4aae09
mov edi, 0x10
jmp 0x4aae19
mov edi, 0x20
jmp 0x4aae19
cmp edx, 2
je 0x4aaf9e
test esi, 0x4000
je 0x4aae76
movzx edx, word [ebx + 0x11a]
test edx, edx
je 0x4aae30
test ebp, ebp
jne 0x4aae34
test eax, eax
je 0x4aae47
cmp edi, 0x10
jg 0x4aae40
mov edi, 0x20
jmp 0x4aae76
mov edi, 0x40
jmp 0x4aae76
movzx eax, byte [ebx + 0x126]
cmp eax, 4
je 0x4aae34
cmp edi, 8
jg 0x4aae68
cmp eax, 6
je 0x4aafc1
mov edi, 0x18
jmp 0x4aae76
cmp eax, 6
je 0x4aafcb
mov edi, 0x30
test esi, 0x100000
je 0x4aae8f
movzx eax, byte [ebx + 0x65]
movzx edx, byte [ebx + 0x64]
imul edx, eax
cmp edx, edi
jle 0x4aae8f
mov edi, edx
add ecx, 7
and ecx, 0xfffffff8
cmp edi, 8
jl 0x4aaea4
mov eax, edi
shr eax, 3
imul ecx, eax
jmp 0x4aaead
imul ecx, edi
add ecx, 7
shr ecx, 3
add edi, 7
sar edi, 3
lea ebp, [edi + ecx + 0x41]
cmp ebp, dword [ebx + 0x280]
jbe 0x4aaeea
push dword [ebx + 0x250]
push ebx
call fcn.004a5f78
push ebp
push ebx
call fcn.004a6000
add esp, 0x10
mov dword [ebx + 0x250], eax
add eax, 0x20
mov dword [ebx + 0xec], eax
mov dword [ebx + 0x280], ebp
mov edx, dword [ebx + 0xd8]
cmp edx, 0xfffffffe
ja 0x4aafd5
add edx, 1
cmp edx, dword [ebx + 0x284]
ja 0x4aaf0c
mov eax, dword [ebx + 0xe8]
jmp 0x4aaf40
push dword [ebx + 0xe8]
push ebx
call fcn.004a5f78
mov eax, dword [ebx + 0xd8]
add eax, 1
push eax
push ebx
call fcn.004a6000
add esp, 0x10
mov edx, dword [ebx + 0xd8]
mov dword [ebx + 0xe8], eax
add edx, 1
mov dword [ebx + 0x284], edx
push edx
push 0
push eax
push ebx
call fcn.004a5fc0
or dword [ebx + 0x6c], 0x40
add esp, 0x80
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, word [ebx + 0x11a]
test eax, eax
je 0x4aade0
mov eax, 0x55555556
add edi, edi
add edi, edi
imul edi
sar edi, 0x1f
neg edi
add edi, edx
jmp 0x4aade0
movzx eax, word [ebx + 0x11a]
test eax, eax
je 0x4aaf94
mov edi, 0x20
jmp 0x4aade0
mov edi, 0x18
jmp 0x4aade0
cmp edi, 0x20
jg 0x4aafad
mov edi, 0x20
jmp 0x4aae19
mov edi, 0x40
jmp 0x4aae19
mov edi, 0x20
jmp 0x4aae19
mov edi, 0x20
jmp 0x4aae76
mov edi, 0x40
jmp 0x4aae76
push 0x7de0b4
push ebx
call fcn.004a62fc
add esp, 8
mov edx, dword [ebx + 0xd8]
jmp 0x4aaef9