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

Disassembly:
sub esp, 0x10
push ebx
push ebp
mov ebp, edx
push esi
mov esi, ecx
mov cl, byte [ebp + 1]
xor eax, eax
mov dword [ebp + 0x1c], eax
mov byte [ebp], al
mov byte [esi + 0x1c], cl
mov ecx, dword [ebp + 0x20]
push edi
cmp ecx, eax
je 0x4a2489
mov dword [esi + 0x78], ecx
mov edx, dword [ebp + 0x24]
mov dword [esi + 0x7c], edx
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [esi + 0x80]
ja 0x4a2767
jmp 0x4a24a2
xor eax, eax
cmp dword [esi], 8
jne 0x4a2517
cmp dword [ebp + 0x20], eax
jne 0x4a24c7
mov edx, dword [ebp + 0x18]
cmp edx, dword [esi + 0x80]
jne 0x4a2767
mov dword [esi + 0x80], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
lea ecx, [esi + 0x40]
mov dword [esi], eax
mov dword [esi + 4], eax
mov word [esi + 0x1a], 0
mov byte [esi + 0x1d], 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
call fcn.0049ad50
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 4
mov dword [esi + 0x8c], 8
mov word [esi + 0x92], 1
mov dword [esi + 0x9c], 0
xor eax, eax
mov ebx, dword [esi + 0x80]
mov edi, dword [esi + 0x7c]
cmp dword [ebp + 0x20], eax
jne 0x4a2565
cmp edi, eax
je 0x4a2565
cmp ebx, edi
jb 0x4a256d
cmp byte [esi + 0x1d], 0
je 0x4a2565
cmp dword [ebp + 0x18], edi
jb 0x4a2767
sub ebx, edi
je 0x4a2559
cmp ebx, edi
jae 0x4a2767
mov eax, dword [esi + 0x78]
push ebx
lea ecx, [eax + edi]
push ecx
push eax
call fcn.004a53ac
add esp, 0xc
mov dword [esi + 0x80], ebx
sub dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
cmp ebx, edi
ja 0x4a2767
sub edi, ebx
push edi
push ebp
mov eax, esi
call fcn.004a1fd0
cmp dword [ebp + 0x20], 0
jne 0x4a2584
mov edx, dword [esi + 0x78]
mov dword [ebp + 0x10], edx
mov ecx, dword [esi + 0x80]
mov dword [ebp + 0x14], ecx
test eax, eax
jne 0x4a26c3
cmp dword [esi], 5
jne 0x4a2774
mov dword [esp + 0x10], eax
cmp dword [esi + 0x24], eax
jne 0x4a27a5
movzx ebx, byte [esi + 0x16]
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ecx, edx
mov edi, eax
mov dword [esp + 0x1c], ecx
test bl, 0x20
jne 0x4a25fd
movzx ecx, byte [esi + 0x17]
mov eax, ecx
and eax, 7
add eax, 8
shr ecx, 3
cdq
add ecx, 7
call fcn.004a5400
test bl, 0xe0
je 0x4a25eb
cmp dword [esp + 0x1c], edx
jb 0x4a25f9
ja 0x4a25eb
cmp edi, eax
jbe 0x4a25f9
mov edi, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0x1c]
cmp dword [ebp + 0x7c], edx
ja 0x4a260f
jb 0x4a2609
cmp dword [ebp + 0x78], eax
jae 0x4a260f
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], edx
cmp dword [ebp + 0x84], ecx
ja 0x4a262d
jb 0x4a2621
cmp dword [ebp + 0x80], edi
jae 0x4a262d
mov dword [ebp + 0x80], edi
mov dword [ebp + 0x84], ecx
test edx, edx
ja 0x4a27a5
jb 0x4a2642
cmp eax, 0x80000000
ja 0x4a27a5
xor ebx, ebx
mov dword [esp + 0x14], edi
cmp edi, edi
jne 0x4a26be
cmp ebx, ecx
jne 0x4a26be
cmp edx, ebx
ja 0x4a265d
jb 0x4a265f
cmp eax, 0x20000
jb 0x4a265f
mov eax, edi
mov dword [esi + 0x98], eax
call fcn.004a1c00
cmp eax, ebx
jne 0x4a26c3
cmp dword [ebp + 0x20], ebx
je 0x4a267b
mov byte [esi + 0x1d], bl
jmp 0x4a2752
mov edx, dword [esi + 0x80]
cmp edx, dword [ebp + 0x18]
jne 0x4a2767
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x80], ebx
mov dword [ebp + 0x18], ebx
mov eax, dword [esi + 0x80]
mov dword [ebp + 0x14], eax
cmp ecx, ebx
je 0x4a26cb
lea ebx, [edi + 0x20080]
and ebx, 0xfffe0000
cmp ebx, edi
jb 0x4a26be
lea edi, [ebx + 0x20000]
cmp edi, ebx
jae 0x4a26cf
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov ebx, dword [esp + 0x14]
cmp edi, 0x1000
jae 0x4a26dc
mov edi, 0x1000
mov eax, dword [esi + 0x64]
cmp edi, eax
jbe 0x4a2746
test eax, eax
je 0x4a2727
test ecx, ecx
jne 0x4a26f7
cmp edi, 0x100000
jae 0x4a26f7
xor edx, edx
jmp 0x4a26fc
mov edx, 0x40000
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0xc
cmp ecx, 0x20
jae 0x4a2727
jmp 0x4a2710
mov eax, 1
shl eax, cl
add eax, edx
cmp eax, edi
jae 0x4a2725
inc ecx
cmp ecx, 0x20
jb 0x4a2710
jmp 0x4a2727
mov edi, eax
call fcn.004a1b50
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx]
mov edx, edi
call eax
mov dword [esi + 0x68], eax
test eax, eax
je 0x4a26be
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x78], eax
mov dword [esi + 0x64], edi
mov edx, dword [esi + 0x78]
mov dword [esi + 0x7c], ebx
mov dword [ebp + 0x10], edx
mov byte [esi + 0x1d], cl
mov dword [esi], 6
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x80]
jbe 0x4a24a0
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x10
ret
cmp dword [ebp + 0x20], 0
jne 0x4a279b
cmp byte [ebp], 1
mov eax, dword [esi + 0x80]
je 0x4a2795
cmp byte [esi + 0x1d], 0
je 0x4a279b
mov esi, dword [esi + 0x7c]
cmp eax, esi
jb 0x4a279b
mov eax, esi
sub eax, dword [ebp + 0x18]
mov dword [ebp + 0x1c], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x10
ret