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

Disassembly:
sub esp, 0x5f0
mov eax, dword [0x984164]
xor eax, esp
mov dword [esp + 0x5ec], eax
mov eax, dword [esp + 0x5fc]
push ebx
mov ebx, dword [esp + 0x5f8]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 0x40]
push ebp
push esi
mov dword [esp + 0x18], eax
mov al, byte [ecx]
mov dword [esp + 0x20], edx
xor dl, dl
xor esi, esi
push edi
test al, al
je 0x47b6d5
lea ebp, [esp + 0x168]
mov edi, ecx
sub ebp, ecx
cmp al, 0x5c
je 0x47b689
cmp al, 0x2f
jne 0x47b68c
or dl, 1
mov cl, al
sub cl, 0x20
cmp cl, 0x5e
ja 0x47b6ae
cmp al, 0x2a
je 0x47b6ae
cmp al, 0x3f
je 0x47b6ae
cmp al, 0x22
je 0x47b6ae
cmp al, 0x7c
je 0x47b6ae
cmp al, 0x3c
je 0x47b6ae
cmp al, 0x3e
jne 0x47b6b5
or dl, 2
mov al, 0x21
jmp 0x47b6bc
cmp al, 0x2e
jne 0x47b6bc
or dl, 4
cmp esi, 0x103
jae 0x47b6d2
mov byte [edi + ebp], al
mov al, byte [edi + 1]
inc edi
inc esi
test al, al
jne 0x47b681
jmp 0x47b6d5
or dl, 2
lea eax, [esp + esi + 0x168]
mov byte [eax], 0
test dl, 2
je 0x47b6f8
test byte [esp + 0x608], 0x80
jne 0x47b6f8
mov eax, 0xc0000135
jmp 0x47b97c
mov cl, dl
and cl, 4
mov byte [esp + 0x17], cl
jne 0x47b714
mov ecx, dword [0x977198]
mov dword [eax], ecx
mov cl, byte [0x97719c]
mov byte [eax + 4], cl
xor eax, eax
mov dword [esp + 0x18], eax
test dl, 1
jne 0x47b768
mov eax, dword [ebx + 0x3c]
mov ecx, str.C:WINDOWS_system32_s
test eax, eax
je 0x47b734
cmp byte [eax + 0x60b], 0
jmp 0x47b73f
mov edx, dword [esp + 0x24]
cmp byte [edx + 0xc6], 0
je 0x47b746
mov ecx, str.C:WINDOWSSysWOW64_s
lea eax, [esp + 0x168]
push eax
push ecx
lea ecx, [esp + 0x3b8]
push ecx
call fcn.00508453
mov eax, 1
add esp, 0xc
mov dword [esp + 0x18], eax
mov edx, eax
imul eax, eax, 0x248
xor edx, 1
imul edx, edx, 0x248
lea ebp, [esp + edx + 0x168]
push 0x104
lea ecx, [esp + eax + 0x16c]
mov eax, dword [esp + 0x28]
push ebp
push eax
lea edx, [esp + 0x24]
xor edi, edi
call fcn.00461470
test eax, eax
jl 0x47b97c
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x40]
push eax
push edi
push ebp
push edi
push ecx
call fcn.0045d5a0
test eax, eax
jl 0x47b7d6
cmp dword [esp + 0x20], edi
je 0x47b7d6
mov eax, 0x40000000
jmp 0x47b96f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x608]
lea ecx, [edx + ebp]
and eax, 0x80
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jne 0x47b851
xor esi, esi
cmp byte [esp + 0x17], 0
jne 0x47b810
push 0x2e
push ecx
call fcn.0050a4d0
mov esi, eax
add esp, 8
test esi, esi
je 0x47b810
mov byte [esi], 0
mov edi, 0x919290
mov dword [esp + 0x18], 0x11
lea ecx, [ecx]
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3a
mov eax, ebp
je 0x47b82e
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.005082a0
add esp, 8
test eax, eax
je 0x47b8fb
add edi, 0xc
sub dword [esp + 0x18], 1
jne 0x47b820
test esi, esi
je 0x47b851
mov byte [esi], 0x2e
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x47b91b
mov eax, dword [esi + 0x58]
test eax, eax
je 0x47b91b
xor ecx, ecx
add eax, dword [esi + 0x28]
lea edx, [esp + 0x38]
adc ecx, dword [esi + 0x2c]
and eax, dword [ebx + 0xc8]
and ecx, dword [ebx + 0xcc]
push edx
push ecx
push eax
mov eax, dword [ebx + 0x20]
mov edx, 0x28
mov ecx, ebx
call eax
test al, al
jne 0x47b91b
cmp dword [esp + 0x4c], 0
je 0x47b91b
mov eax, dword [esp + 0x44]
test eax, eax
je 0x47b91b
xor ecx, ecx
add eax, dword [esi + 0x28]
push 0
adc ecx, dword [esi + 0x2c]
and eax, dword [ebx + 0xc8]
and ecx, dword [ebx + 0xcc]
push 0x104
push ecx
push eax
push 0x80
push ebx
lea eax, [esp + 0x78]
call fcn.004863d0
test al, al
jne 0x47b91b
lea eax, [esp + 0x60]
call fcn.00463020
mov edx, dword [esp + 0x20]
push eax
push edx
call fcn.005082a0
add esp, 8
test eax, eax
jne 0x47b91b
mov eax, 0x4000001b
jmp 0x47b97c
mov edi, dword [edi + 8]
cmp edi, 0xffffffff
je 0x47b914
mov eax, dword [ebx + 0x278]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.00455360
mov eax, 0xc000000f
jmp 0x47b97c
cmp dword [esp + 0x28], 0
je 0x47b914
mov eax, dword [esp + 0x1c]
test dword [eax + 0xc0], 0x2000000
jne 0x47b914
mov ecx, dword [esp + 0x24]
test byte [ecx + 0xbd], 1
je 0x47b94b
mov eax, 0x812988
mov ebx, 0x15000
jmp 0x47b955
mov eax, 0x69f998
mov ebx, 0x14000
mov ecx, dword [esp + 0x1c]
push 0
push 0
push eax
push 0
push ebp
mov eax, 0x40800000
call fcn.00463430
test eax, eax
jl 0x47b97c
mov edi, dword [esp + 0x30]
mov ecx, 0x41
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x5fc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005078c8
add esp, 0x5f0
ret 0xc