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

Disassembly:
sub esp, 0x130
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x144]
mov ebx, ecx
test edi, edi
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x18], ebx
jne 0xa5000f
mov eax, dword [0xab4c9c]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebp, dword [esp + 0x148]
cmp esi, eax
jne 0xa4fd13
cmp ebp, 0x10000
jae 0xa4fd13
push ebp
push esi
call edi
test eax, eax
mov dword [esp + 0x144], eax
jne 0xa4ff4b
mov eax, dword [ebx + 0xe4]
and eax, 0x100004
cmp eax, 4
jne 0xa4fd46
cmp esi, dword [0xab4c9c]
jne 0xa4fd33
cmp ebp, 0x10000
jb 0xa4fd46
mov eax, dword [ebx + 0x10]
push ebp
push eax
call edi
mov dword [esp + 0x144], eax
jmp 0xa4ff3c
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx + edi + 0x78]
mov edx, dword [ecx + edi + 0x7c]
lea eax, [ecx + edi]
mov dword [esp + 0x1c], esi
test esi, esi
mov dword [esp + 0x28], edx
jne 0xa4fd72
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x130
ret 0x14
mov eax, dword [edi + esi + 0x1c]
mov ecx, dword [edi + esi + 0x20]
mov edx, dword [esp + 0x148]
add eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [edi + esi + 0x24]
add ecx, edi
add eax, edi
or ebp, 0xffffffff
cmp edx, 0x10000
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
jb 0xa4ff1e
mov ebx, dword [edi + esi + 0x18]
mov dword [esp + 0x10], 0
dec ebx
js 0xa4fe25
jmp 0xa4fdbf
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp ebp, 0xffffffff
jne 0xa4fe8c
mov eax, dword [esp + 0x10]
add eax, ebx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
add eax, edx
mov edx, dword [esp + 0x148]
push edx
push eax
call fcn.009e3790
add esp, 8
test eax, eax
jne 0xa4fe02
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov bp, word [eax + esi*2]
jmp 0xa4fe0e
jle 0xa4fe09
lea ebx, [esi - 1]
jmp 0xa4fe0e
inc esi
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], ebx
jle 0xa4fdb7
mov esi, dword [esp + 0x1c]
cmp ebp, 0xffffffff
jne 0xa4fe8c
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edx, dword [edi + esi + 0x18]
mov dword [esp + 0x14], 0
test edx, edx
jbe 0xa4fd63
mov dword [esp + 0x10], eax
mov ebx, ecx
cmp ebp, 0xffffffff
jne 0xa4fe8c
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx]
mov edx, dword [ecx + 0x10]
add eax, edx
mov edx, dword [esp + 0x148]
push edx
push eax
call fcn.009e3790
add esp, 8
test eax, eax
jne 0xa4fe6d
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov bp, word [eax]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + esi + 0x18]
inc eax
add ebx, 4
add edx, 2
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jb 0xa4fe3f
mov ebx, dword [esp + 0x18]
test ebp, ebp
jl 0xa4fd63
cmp ebp, dword [edi + esi + 0x14]
jae 0xa4fd63
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + ebp*4]
cmp eax, esi
jb 0xa4ff2b
mov edx, dword [esp + 0x28]
add edx, esi
cmp eax, edx
jae 0xa4ff2b
mov ebp, dword [ebx + 0x10]
push 0x104
add eax, ebp
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00a7e8d0
mov al, byte [esp + 0x48]
add esp, 0xc
test al, al
lea esi, [esp + 0x3c]
je 0xa4fee7
cmp al, 0x2e
je 0xa4fee7
mov al, byte [esi + 1]
inc esi
test al, al
jne 0xa4fedb
cmp byte [esi], 0x2e
jne 0xa4fff9
lea ecx, [esp + 0x3c]
mov byte [esi], 0
push ecx
call fcn.009e5260
test eax, eax
jne 0xa4ff14
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0xa4fff9
inc esi
push esi
push eax
call fcn.009eb3a0
jmp 0xa4ff2e
mov eax, dword [edi + esi + 0x10]
mov ebp, edx
sub ebp, eax
jmp 0xa4fe90
add eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x148]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x144]
test eax, eax
je 0xa4fff9
mov edi, dword [esp + 0x144]
push edi
call fcn.00a46c50
add esp, 4
test al, al
jne 0xa50000
push edi
call fcn.009ff340
add esp, 4
test al, al
jne 0xa50000
mov al, byte [ebx + 0x34]
test al, al
jne 0xa4ffa8
mov ecx, 0xaf5380
call fcn.00a47f30
mov al, byte [ebx + 0x34]
test al, al
jne 0xa4ff9e
mov eax, dword [ebx]
mov byte [ebx + 0x34], 1
push eax
call fcn.00a465f0
add esp, 4
mov dword [ebx + 0x30], eax
mov ecx, 0xaf5380
call fcn.00a47f60
mov eax, dword [ebx + 0x30]
mov esi, edi
test eax, eax
je 0xa4ffbe
push ebp
push edi
push eax
call fcn.00a46c90
add esp, 0xc
mov esi, eax
call fcn.00a4fc60
test al, al
je 0xa4fff2
cmp esi, edi
jne 0xa4fff2
mov eax, dword [ebx]
mov byte [esp + 0x38], 0
push eax
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], esi
call fcn.009ff7a0
add esp, 8
mov esi, eax
mov dword [esp + 0x144], esi
mov edi, dword [esp + 0x144]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret 0x14
mov ebp, dword [esp + 0x148]
jmp 0xa4ff52