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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x44
mov dword [esp + 0x40], ecx
mov esi, edx
mov edi, eax
mov ebp, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
cmp ecx, 1
jle 0x84c356
or ebp, 0x200
mov ecx, dword [esp + 0x68]
push ecx
push ebp
push esi
push edi
call fcn.00866bc4
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x84c37c
push ebx
call fcn.00866b9c
mov eax, ebx
add esp, 0x48
pop ebx
pop ebp
pop esi
pop edi
ret
lea eax, [esp + 0x2c]
lea ebx, [esp + 0x28]
lea ecx, [esp + 0x24]
push 0
push ecx
push ebx
push eax
mov ecx, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
push 1
mov ecx, dword [esp + 0x5c]
push ecx
push ebp
push esi
call fcn.008670e8
add esp, 0x28
test eax, eax
je 0x84c4a0
mov ebx, dword [esp + 0x2c]
cmp ebx, 4
je 0x84c54c
cmp ebx, 5
je 0x84c54c
cmp ebx, 6
jne 0x84c49c
mov eax, 0x964d80
mov ebx, dword [0x964d80]
test ebx, ebx
je 0x84c49c
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], esi
mov esi, eax
mov edi, dword [esp + 0x40]
cmp edi, dword [ebx + 0xc]
jne 0x84c482
mov edx, dword [ebx + 0x10]
cmp edx, dword [esp + 0x2c]
jne 0x84c482
mov edx, dword [esp + 0x28]
cmp edx, dword [ebx + 0x14]
jne 0x84c482
mov ecx, dword [ebx + 8]
cmp ecx, 1
jle 0x84c482
mov eax, dword [esp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x84c482
mov edx, dword [esp + 0x24]
cmp edx, 1
je 0x84c545
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
cdq
idiv ecx
mov edx, eax
mov eax, dword [esp + 0x34]
or eax, 0x200
mov ecx, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x20], ebp
call fcn.0084c334
test eax, eax
jne 0x84c4e5
mov ebx, dword [esi + 4]
add esi, 4
test ebx, ebx
jne 0x84c3fa
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
xor ebx, ebx
jmp 0x84c4a2
xor ebx, ebx
test ebx, ebx
je 0x84c5f1
push ebx
push edi
call fcn.00866bb0
push dword [ebx + 0x28]
push dword [ebx + 0x10]
push dword [ebx + 0x14]
mov ecx, dword [esp + 0x8c]
push ecx
mov edi, dword [esp + 0x88]
push edi
push 1
mov ecx, dword [esp + 0x60]
push ecx
push ebp
push esi
call fcn.008671bc
add esp, 0x2c
mov eax, ebx
add esp, 0x44
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
push ebp
mov ecx, eax
push dword [ecx + 0x1c]
push ebx
mov ecx, dword [esp + 0x4c]
push ecx
push esi
call fcn.008668d4
mov ecx, dword [esp + 0x7c]
push ecx
push dword [esp + 0x3c]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push ebp
push eax
mov ebx, dword [esp + 0x6c]
push ebx
push esi
call fcn.008669cc
mov ebx, eax
push ebx
call fcn.00866b9c
add esp, 0x38
mov eax, ebx
call fcn.0084c63c
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00866db8
pop ecx
jmp 0x84c4a2
mov ebp, ecx
jmp 0x84c439
mov ecx, 0x964d80
mov eax, dword [0x964d80]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x84c3cc
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x40]
cmp edi, dword [eax + 0xc]
jne 0x84c582
cmp ebx, dword [eax + 0x10]
jne 0x84c582
mov edx, dword [esp + 0x28]
cmp edx, dword [eax + 0x14]
jne 0x84c582
cmp esi, dword [eax + 8]
je 0x84c595
mov eax, dword [ecx + 4]
add ecx, 4
test eax, eax
jne 0x84c56a
mov edi, dword [esp + 0x38]
jmp 0x84c3cc
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x38]
cmp ebx, 4
je 0x84c5e3
mov ecx, eax
push ecx
push esi
call fcn.008668a0
add esp, 8
mov ecx, dword [esp + 0x68]
push ecx
push 0
mov ebx, dword [esp + 0x44]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push ebp
push eax
mov ecx, dword [esp + 0x58]
push ecx
push esi
call fcn.008669cc
mov ebx, eax
push ebx
call fcn.00866b9c
add esp, 0x24
mov eax, ebx
call fcn.0084c63c
jmp 0x84c4a2
mov ecx, eax
push ecx
push esi
call fcn.008668a0
add esp, 8
jmp 0x84c5ae
mov dword [esp + 0xc], ebp
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov eax, edi
mov edx, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x40]
call fcn.0084c664
mov ebx, eax
test ebx, ebx
jne 0x84c4aa
jmp 0x84c4db