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

Disassembly:
sub esp, 0x44
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x18], ebp
cmp esi, ebp
je 0x47c8a7
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [eax], ebp
cmp dword [edi], ebp
jne 0x47c8cc
mov byte [edi + 4], 0
mov ecx, dword [ebx + 0x64]
call fcn.00481fb0
mov dword [edi], eax
cmp eax, ebp
jne 0x47c8cc
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret 0x24
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
cmp eax, ebp
je 0x47c8e0
mov dword [esp + 0x34], 0x47c180
cmp esi, ebp
jne 0x47c8fc
cmp dword [ebx + 0x60], ebp
jne 0x47c8fc
mov ecx, dword [ebx + 0x64]
mov eax, dword [ecx]
mov edx, 0x10010
call eax
mov dword [ebx + 0x60], eax
cmp eax, ebp
je 0x47c8bd
cmp byte [edi + 4], 0
jne 0x47c940
mov ecx, dword [edi]
lea edx, [ebx + 8]
mov dword [esp + 0x14], 5
call fcn.0047f8f0
cmp eax, ebp
jne 0x47cb96
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.00483120
cmp eax, ebp
jne 0x47cb96
mov dl, byte [esp + 0x1c]
mov byte [edi + 5], dl
mov byte [edi + 4], 1
nop
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov word [edi + 6], 0x101
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
cmp dword [esp + 0x68], ebp
je 0x47c9ea
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
mov ebx, eax
and ebx, ecx
or esi, 0xffffffff
or ebp, 0xffffffff
cmp ebx, 0xffffffff
je 0x47c99f
cmp ecx, dword [esp + 0x28]
jb 0x47c99f
ja 0x47c993
cmp eax, dword [esp + 0x24]
jb 0x47c99f
sub eax, dword [esp + 0x24]
sbb ecx, dword [esp + 0x28]
mov esi, eax
mov ebp, ecx
mov ebx, dword [esp + 0x58]
mov eax, dword [ebx + 0x40]
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x47c9bd
cmp ebp, edx
jb 0x47c9bd
ja 0x47c9b9
cmp esi, eax
jbe 0x47c9bd
mov esi, eax
xor ebp, ebp
mov ecx, dword [edi]
push ebp
push esi
call fcn.0047fa10
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x64]
mov ecx, dword [edi]
push edx
push eax
push 0x200000
lea edx, [esp + 0x40]
call fcn.00482ea0
test eax, eax
jne 0x47cb96
xor ebp, ebp
jmp 0x47ca36
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x24]
mov ecx, eax
and ecx, edx
mov dword [esp + 0x10], esi
cmp ecx, 0xffffffff
je 0x47ca11
xor ecx, ecx
cmp ecx, edx
jb 0x47ca11
ja 0x47ca0b
cmp esi, eax
jbe 0x47ca11
mov dword [esp + 0x10], eax
mov esi, eax
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x64]
mov edx, dword [esp + 0x6c]
add edx, dword [esp + 0x24]
push eax
push ecx
mov ecx, dword [edi]
push 0x200000
push esi
call fcn.00482ec0
cmp eax, ebp
jne 0x47cb96
mov edx, dword [esp + 0x60]
mov ecx, edx
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
lea ebx, [ebx]
mov dword [esp + 0x14], 0x10010
cmp edx, ebp
je 0x47ca6e
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
sub esi, eax
mov dword [esp + 0x14], esi
add eax, edx
jmp 0x47ca71
mov eax, dword [ebx + 0x60]
push ecx
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.0047c200
mov esi, eax
cmp esi, ebp
jne 0x47cae6
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
add esi, ebp
adc dword [esp + 0x30], 0
cmp dword [esp + 0x60], 0
mov dword [esp + 0x2c], esi
je 0x47caa3
mov edx, dword [esp + 0x64]
mov dword [edx], esi
mov eax, dword [edi + 8]
add eax, dword [esp + 0x24]
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x78]
adc ecx, dword [esp + 0x28]
test edx, edx
je 0x47caca
push dword [esp + 0x30]
push esi
push ecx
push eax
mov eax, dword [edx]
mov ecx, edx
call eax
test eax, eax
jne 0x47cadf
xor esi, esi
test ebp, ebp
je 0x47cae4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
xor ebp, ebp
jmp 0x47ca50
mov esi, 0xa
xor ebp, ebp
mov ecx, dword [edi]
call fcn.00482f10
mov eax, dword [edi + 8]
add dword [esp + 0x24], eax
mov ecx, dword [edi + 0xc]
adc dword [esp + 0x28], ecx
cmp esi, ebp
jne 0x47cb72
cmp dword [esp + 0x68], ebp
je 0x47cb0f
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
jmp 0x47cb15
mov edx, dword [esp + 0x10]
xor esi, esi
cmp eax, edx
jne 0x47cb7e
cmp ecx, esi
jne 0x47cb7e
cmp dword [esp + 0x68], ebp
jne 0x47cb66
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp dword [esp + 0x24], ecx
jne 0x47c940
cmp dword [esp + 0x28], eax
jne 0x47c940
cmp dword [esp + 0x74], ebp
je 0x47cb94
mov edx, dword [esp + 0x60]
cmp edx, ebp
je 0x47cba0
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x18]
jb 0x47cb8d
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x44
ret 0x24
cmp dword [esp + 0x4c], ebp
je 0x47c940
jmp 0x47cb3d
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x44
ret 0x24
mov byte [eax + edx], 0
inc eax
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
push 1
lea edx, [esp + 0x64]
mov byte [esp + 0x64], 0
call eax
cmp eax, 1
je 0x47cb94
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x44
ret 0x24