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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cc10d
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x509590]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push esi
push edi
mov eax, dword [0x509590]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
mov dword [esp + 0x1c], eax
push 0x4e257c
lea eax, [esp + 0x58]
mov dword [esp + 0x18], esi
call fcn.004078c5
push 0xffffffffffffffff
xor edi, edi
push esi
lea edx, [esp + 0x5c]
lea eax, [esp + 0x30]
mov dword [esp + 0x210], edi
call fcn.0041720b
pop ecx
pop ecx
xor ebx, ebx
push edi
inc ebx
push ebx
lea esi, [esp + 0x5c]
mov byte [esp + 0x210], 2
call fcn.004075b1
lea eax, [esp + 0x28]
call fcn.004180cc
cmp eax, 2
jae 0x438de1
lea eax, [esp + 0xfc]
push eax
call fcn.00405267
push 0x4dfabc
push ecx
mov byte [esp + 0x210], 3
push dword [esp + 0x1c]
lea eax, [esp + 0x110]
push ecx
push str.Invalid_registry_path_
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
pop ecx
pop ecx
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x100]
call fcn.004052f9
push eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0x210], 4
call fcn.004167e3
pop ecx
pop ecx
mov byte [esp + 0x208], 5
cmp dword [eax + 0x18], 0x10
jb 0x438dbd
mov eax, dword [eax + 4]
jmp 0x438dc0
add eax, 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call fcn.0048ec72
push 0x4f7698
lea eax, [esp + 0x3c]
push eax
call fcn.0048febc
push 0x4e61bc
lea eax, [esp + 0x74]
mov dword [esp + 0x24], edi
call fcn.004078c5
push 2
push edi
lea esi, [esp + 0x30]
mov byte [esp + 0x210], 6
call fcn.0041f7a7
push eax
lea edx, [esp + 0x78]
lea eax, [esp + 0x4c]
call fcn.0041720b
pop ecx
pop ecx
push edi
push ebx
lea esi, [esp + 0x78]
mov byte [esp + 0x210], 8
call fcn.004075b1
push edi
lea esi, [esp + 0x48]
call fcn.0041f7a7
mov ecx, eax
call fcn.00427824
mov dword [esp + 0x24], eax
call fcn.00421207
cmp eax, 0x4b
jl 0x438e76
mov eax, esi
call fcn.004180cc
cmp eax, ebx
jbe 0x438e76
push ebx
call fcn.0041f7a7
push str.WOW64_64
mov esi, eax
call fcn.0042461f
test eax, eax
jne 0x438faf
mov dword [esp + 0x20], pe_nt_image_headers32
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x28]
lea esi, [esp + 0x14]
call fcn.0041961c
push dword [esp + 0x18]
lea edi, [esp + 0x18]
push dword [esp + 0x18]
lea esi, [esp + 0x30]
call fcn.00439919
and dword [esp + 0x1d4], 0
and word [esp + 0x1c4], 0
mov dword [esp + 0x1d8], 7
mov eax, esi
mov byte [esp + 0x208], 0xc
call fcn.004180cc
cmp eax, 1
jbe 0x438f12
dec eax
push eax
call fcn.0041f7a7
push 0xffffffffffffffff
lea ecx, [esp + 0x1c4]
push ecx
xor ebx, ebx
call fcn.00407287
mov ebx, dword [esp + 0x30]
mov edi, esi
lea esi, [esp + 0x14]
call fcn.0041961c
lea esi, [esp + 0x38]
lea eax, [esp + 0x14]
call fcn.00439952
push dword [eax + 4]
lea edi, [esp + 0x18]
push dword [eax]
lea esi, [esp + 0x30]
call fcn.00439919
mov ebx, 0x4e257c
push ebx
lea eax, [esp + 0x58]
call fcn.004078c5
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x58]
lea eax, [esp + 0x1e0]
mov byte [esp + 0x20c], 0xd
call fcn.00417241
pop ecx
push 0
push 1
lea esi, [esp + 0x5c]
mov byte [esp + 0x210], 0xf
call fcn.004075b1
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c0]
push esi
push eax
lea edi, [esp + 0x1e4]
call fcn.00425d4d
test al, al
pop ecx
pop ecx
jne 0x4390a2
push 0
push 1
mov esi, edi
call fcn.004075b1
push 0
push 1
lea esi, [esp + 0x1c8]
call fcn.004075b1
lea esi, [esp + 0x44]
call fcn.0040d537
lea esi, [esp + 0x28]
call fcn.0040d537
xor al, al
jmp 0x43930f
push ebx
lea esi, [esp + 0x48]
call fcn.0041f7a7
push str.WOW64_32
mov esi, eax
call fcn.0042461f
test eax, eax
jne 0x438fd6
mov dword [esp + 0x20], 0x200
jmp 0x438e76
lea eax, [esp + 0xfc]
push eax
call fcn.00405267
push 0x4dfabc
push ecx
mov byte [esp + 0x210], 9
push dword [esp + 0x1c]
lea esi, [esp + 0x50]
push ecx
push str._in_
push ecx
push ebx
call fcn.0041f7a7
push eax
push ecx
lea eax, [esp + 0x124]
push str.Invalid_WOW_option_
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
pop ecx
pop ecx
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x100]
call fcn.004052f9
push eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0x210], 0xa
call fcn.004167e3
pop ecx
pop ecx
mov byte [esp + 0x208], 0xb
cmp dword [eax + 0x18], 0x10
jb 0x43907f
mov eax, dword [eax + 4]
jmp 0x439082
add eax, 4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
call fcn.0048ec72
push 0x4f7698
lea eax, [esp + 0x3c]
jmp 0x438ddb
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c0]
push esi
push eax
lea edi, [esp + 0x1e4]
call fcn.00426498
pop ecx
mov edi, eax
dec eax
pop ecx
je 0x439290
sub eax, 3
je 0x43923e
sub eax, 3
je 0x4391aa
lea eax, [esp + 0xfc]
push eax
call fcn.00405267
push edi
push ecx
push str._is_of_unsupported_type
push ecx
lea eax, [esp + 0x1d0]
push eax
push ecx
push ebx
push ecx
lea eax, [esp + 0x1fc]
push eax
push ecx
lea eax, [esp + 0x12c]
push str.Registry_value_
push eax
mov byte [esp + 0x238], 0x15
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.0041f5d2
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x100]
call fcn.004052f9
push eax
lea eax, [esp + 0x1a8]
push eax
mov byte [esp + 0x210], 0x16
call fcn.004167e3
pop ecx
pop ecx
mov byte [esp + 0x208], 0x17
cmp dword [eax + 0x18], 0x10
jb 0x439187
mov eax, dword [eax + 4]
jmp 0x43918a
add eax, 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x3c]
call fcn.0048ec72
push 0x4f7698
lea eax, [esp + 0x3c]
jmp 0x438ddb
push 0x4e3870
lea eax, [esp + 0xc8]
call fcn.004078c5
push esi
lea eax, [esp + 0x1c4]
push eax
lea eax, [esp + 0x1e4]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x80]
push eax
mov byte [esp + 0x21c], 0x12
call fcn.004278d7
add esp, 0x14
push eax
lea ecx, [esp + 0xc8]
lea eax, [esp + 0xe4]
mov byte [esp + 0x20c], 0x13
call fcn.00417241
pop ecx
push 0xffffffffffffffff
mov byte [esp + 0x20c], 0x14
push dword [esp + 0x20]
xor ebx, ebx
call fcn.00407287
push ebx
push 1
lea esi, [esp + 0xe8]
call fcn.004075b1
lea esi, [esp + 0x70]
call fcn.0040d537
lea esi, [esp + 0xc4]
jmp 0x4392d2
push esi
lea eax, [esp + 0x1e0]
push eax
push dword [esp + 0x2c]
lea edi, [esp + 0x1cc]
call fcn.004270d7
mov dword [esp + 0x20], eax
add esp, 0xc
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.0043998b
pop ecx
pop ecx
push 0xffffffffffffffff
mov byte [esp + 0x20c], 0x11
push dword [esp + 0x20]
xor ebx, ebx
call fcn.00407287
lea esi, [esp + 0x8c]
jmp 0x4392d2
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x1c0]
push eax
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0xb0]
push eax
mov ecx, esi
call fcn.00425fde
add esp, 0xc
push 0xffffffffffffffff
mov byte [esp + 0x20c], 0x10
push dword [esp + 0x20]
xor ebx, ebx
call fcn.00407287
lea esi, [esp + 0xa8]
push 0
push 1
call fcn.004075b1
push 0
push 1
lea esi, [esp + 0x1e4]
call fcn.004075b1
push 0
push 1
lea esi, [esp + 0x1c8]
call fcn.004075b1
lea esi, [esp + 0x44]
call fcn.0040d537
lea esi, [esp + 0x28]
call fcn.0040d537
mov al, 1
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.0048e32a
mov esp, ebp
pop ebp
ret 4