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

Disassembly:
sub esp, 0x38
lea eax, [esp]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
xor ebx, ebx
push eax
push ebx
push 1
push esi
call fcn.004dce60
add esp, 0x10
test eax, eax
je 0x4a904a
mov eax, dword [esp + 0x10]
cmp eax, 0x35000
jb 0x4a9027
cmp eax, 0x37002
ja 0x4a9027
lea ecx, [esp + 0x1c]
push 0x2c
push ecx
push esi
call fcn.004dc5b0
add esp, 0xc
cmp eax, 0x2c
jne 0x4a904a
mov ebp, dword [esp + 0x50]
mov edx, dword [0x810804]
mov esi, dword [ebp]
cmp esi, ebx
lea eax, [esi + edx]
mov dword [ebp], eax
jne 0x4a8d24
mov ecx, dword [0x810804]
mov dword [esp + 0x14], 2
push ecx
push 0x80000013
call fcn.004f8220
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push edx
call fcn.004dd0b0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov dword [esi], 0xffffffff
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x6c]
lea edi, [esi + 0x10]
mov dword [eax], ecx
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x30]
lea edx, [esi + 0x60]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x34]
mov dword [edx], eax
mov ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov cx, word [esp + 0x1c]
mov word [esi + 0x80], cx
mov dx, word [esp + 0x20]
mov word [esi + 0x84], dx
mov ax, word [esp + 0x24]
mov word [esi + 0x82], ax
mov ecx, 8
xor eax, eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0xc], ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x54]
lea eax, [esi + 0x38]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x7c], ebx
mov dword [eax], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x34], ebx
mov dword [esi + 0x78], ebx
mov dword [eax], eax
mov dword [esi + 0x44], eax
test dword [ecx + 8], 0x1000000
jne 0x4a8fba
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x4a8f0a
mov ecx, dword [ebp]
lea eax, [eax + eax*2]
shl eax, 2
cmp ecx, ebx
push eax
lea edx, [ecx + eax]
mov dword [ebp], edx
mov dword [esi + 8], ecx
je 0x4a8f2e
push ecx
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a8e3d
test byte [esp + 0x58], 0x10
je 0x4a8e70
mov edx, dword [esp + 0x24]
mov eax, dword [ebp]
cmp eax, ebx
lea edi, [edx*4]
push edi
lea ecx, [eax + edi]
mov dword [ebp], ecx
mov dword [esi + 0xc], eax
jne 0x4a8e5e
push 0x80000013
mov dword [esp + 0x1c], 2
call fcn.004f8220
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push edx
call fcn.004dd0b0
add esp, 0xc
mov edx, dword [esp + 0x54]
push esi
test byte [edx + 3], 1
je 0x4a9015
call fcn.004a7820
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push eax
mov eax, dword [esp + 0x54]
push eax
call fcn.004dc5b0
add esp, 0xc
cmp eax, edi
jne 0x4a8e3d
test byte [esp + 0x58], 8
je 0x4a8ea5
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
shl ecx, 2
cmp eax, ebx
push ecx
lea edx, [eax + ecx]
mov dword [ebp], edx
mov dword [esi + 0x30], eax
je 0x4a8f2e
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.004dc5b0
add esp, 0xc
test eax, eax
je 0x4a8e3d
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
cmp eax, ebx
jle 0x4a8f0a
xor edi, edi
mov dword [esp + 0x58], ebx
mov di, word [esi + 0x82]
shl edi, 3
cmp eax, ebx
jle 0x4a8f0a
lea ebx, [esi + 0x10]
mov eax, dword [ebp]
push edi
test eax, eax
lea ecx, [eax + edi]
mov dword [ebp], ecx
mov dword [ebx], eax
je 0x4a8e1a
mov edx, dword [esp + 0x50]
push eax
push edx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a8e3d
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
inc eax
add ebx, 4
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x58], eax
cmp eax, edx
jl 0x4a8ec7
xor ebx, ebx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4a8fba
lea ecx, [eax*8]
mov eax, dword [ebp]
cmp eax, ebx
push ecx
lea edx, [eax + ecx]
mov dword [ebp], edx
mov dword [esi + 4], eax
jne 0x4a8f4e
push 0x80000013
mov dword [esp + 0x1c], 2
call fcn.004f8220
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
jmp 0x4a8e35
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a8e3d
cmp dword [esp + 0x10], 0x36002
jae 0x4a8fba
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, ebx
jle 0x4a8fba
mov edx, dword [esi + 4]
mov edi, dword [edx + eax*8 + 4]
lea ecx, [edx + eax*8]
mov dword [esp + 0x18], edi
inc eax
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
mov bp, word [esp + 0x16]
mov word [ecx], bp
mov ecx, dword [esi + 4]
mov word [ecx + eax*8 - 6], di
mov ecx, dword [esi + 4]
mov di, word [esp + 0x1a]
mov word [ecx + eax*8 - 4], di
mov ecx, dword [esi + 4]
mov word [ecx + eax*8 - 2], dx
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jl 0x4a8f78
push esi
push 0x810804
call fcn.004de800
mov edx, dword [esp + 0x54]
push esi
push edx
push 0x810804
mov dword [0x845b9c], ebx
mov dword [0x845b90], ebx
call fcn.004de970
add esp, 0x14
test eax, eax
je 0x4a8e3d
mov eax, dword [0x845b9c]
cmp eax, ebx
je 0x4a900b
mov ecx, dword [0x845b90]
push ecx
push esi
push eax
push 0x810804
call fcn.004deaa0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.004a78d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push 0x80000004
mov dword [esp + 0x18], 2
call fcn.004f8220
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.004dd0b0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret