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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004316f0
sub esp, 4
call fcn.00431690
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.00431ad0
sub esp, 8
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
lea ebp, [esp + 0x78]
mov dword [esp], ebp
call fcn.00431ad0
sub esp, 8
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 4], 0x441c28
lea edi, [esp + 0x3c]
mov dword [esp], edi
call fcn.00431a20
sub esp, 8
mov dword [esp + 4], 6
mov dword [esp], 0
call sub.ole32.dll_CoInitializeEx
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x441b80
mov dword [esp + 8], 0x17
mov dword [esp + 4], 0
mov dword [esp], 0x441b94
call sub.ole32.dll_CoCreateInstance
sub esp, 0x14
test eax, eax
je 0x405598
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov edx, dword [esp + 0x74]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x48], edx
mov dword [esp], eax
call fcn.004316f0
sub esp, 4
call fcn.00431690
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.00431ad0
sub esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00431ad0
sub esp, 8
mov dword [esp + 0x4c], 0
test esi, esi
jle 0x4051a0
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.USER32.dll_EnableWindow
sub esp, 8
mov dword [esp + 4], 0x441c28
lea edi, [esp + 0x4c]
mov dword [esp], edi
call fcn.00431a20
sub esp, 8
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], 0x80cd0006
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x1ae
mov dword [esp + 0xc], 0x258
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call fcn.00427f5e
sub esp, 0x20
mov dword [0x441bd8], eax
mov dword [esp + 0x18], 0x5000041
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x163
mov dword [esp + 0xc], 0x244
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0xa
mov dword [esp], 0xffffffff
call fcn.0042115b
sub esp, 0x1c
mov dword [0x441b68], eax
mov dword [esp + 0x14], 0x42
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x244
mov dword [esp + 8], 0x172
mov dword [esp + 4], 0xa
mov dword [esp], 0xffffffff
call fcn.00421a43
sub esp, 0x18
mov dword [0x441bac], eax
mov dword [esp + 0x14], 0x43e2a4
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x5a
mov dword [esp + 8], 0x190
mov dword [esp + 4], 0x1f4
mov dword [esp], 0xffffffff
call fcn.0042222c
sub esp, 0x18
mov dword [0x441ba4], eax
mov dword [esp + 0x14], 0x43f2c4
mov dword [esp + 0x10], 0x14
mov dword [esp + 0xc], 0x5a
mov dword [esp + 8], 0x190
mov dword [esp + 4], 0x190
mov dword [esp], 0xffffffff
call fcn.0042222c
sub esp, 0x18
mov dword [0x441ba8], eax
mov eax, dword [0x441bd8]
mov dword [esp + 4], eax
mov dword [esp], 0x4036e0
call fcn.004282c0
sub esp, 8
jmp 0x405447
call fcn.0042a262
test eax, eax
jne 0x405447
call fcn.00431730
call fcn.00431730
call fcn.00431730
mov ebp, dword [0x441b68]
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f474
sub esp, 8
call fcn.00431b20
mov ebp, dword [0x441bac]
call fcn.00431880
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f4dc
sub esp, 8
call fcn.004317e0
jmp 0x405447
call fcn.0042a262
cmp eax, 0x300
jne 0x405447
call fcn.0042a271
mov ebp, eax
call fcn.00431730
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f474
sub esp, 8
call fcn.00431880
mov dword [esp], eax
call fcn.004294d0
sub esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.004317e0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
xor eax, 0xfffffffe
not edx
or eax, edx
je 0x405404
mov dword [esp], ebp
call fcn.0041f7c3
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f6de
sub esp, 8
jmp 0x405447
call fcn.00431730
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f474
sub esp, 8
call fcn.00431b20
mov ebp, dword [0x441b68]
jmp 0x405359
cmp eax, 0x333c
je 0x4054b8
call fcn.00427d76
cmp eax, 0x332c
jne 0x405440
call fcn.0042a271
cmp eax, dword [0x441b68]
je 0x405318
cmp eax, dword [0x441bac]
je 0x405380
cmp eax, dword [0x441ba4]
je 0x4054b8
cmp eax, dword [0x441ba8]
jne 0x405447
call fcn.00431730
call fcn.00431730
mov ebp, dword [0x441b68]
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041f474
sub esp, 8
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00431900
sub esp, 8
mov eax, dword [0x441bd8]
mov dword [esp], eax
call fcn.00428316
sub esp, 4
test esi, esi
jle 0x4054df
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.USER32.dll_EnableWindow
sub esp, 8
call fcn.00431730
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00431990
sub esp, 4
call fcn.00431880
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
call fcn.004317e0
test ebx, ebx
je 0x405810
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0042f3d0
sub esp, 8
call fcn.00431880
mov ebx, eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004319f0
sub esp, 4
mov eax, ebx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov dword [esp + 4], 0x43e4c0
mov dword [esp], 0xffffffff
call fcn.0041f08f
sub esp, 8
test eax, eax
mov dword [esp + 0x28], eax
jne 0x4056c8
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call sub.OLEAUT32.dll_SysReAllocString
sub esp, 4
mov ecx, eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
sub esp, 8
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x24]
mov dword [esp + 4], 0x860
mov dword [esp], eax
call edx
sub esp, 8
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
mov dword [esp + 4], esi
mov dword [esp], eax
call edx
sub esp, 8
test eax, eax
jne 0x4056ad
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
lea ecx, [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
sub esp, 8
test eax, eax
jne 0x4056ad
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
lea ecx, [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x80058000
mov dword [esp], eax
call edx
sub esp, 0xc
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00431330
sub esp, 8
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00431900
sub esp, 8
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.ole32.dll_CoTaskMemFree
sub esp, 4
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
mov edx, dword [edx + 8]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 8]
mov dword [esp], eax
call edx
sub esp, 4
jmp 0x40552a
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp], 0x441c28
call fcn.00431b50
test eax, eax
mov edx, dword [esp + 0x28]
jne 0x405780
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x441afc
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], str.SHCreateItemFromParsingName
mov dword [esp], edx
mov dword [esp + 0x28], edx
call fcn.0041f14e
sub esp, 0x18
mov ebp, eax
mov edx, dword [esp + 0x28]
mov dword [esp], edx
call fcn.0041f1e9
sub esp, 4
test ebp, ebp
jne 0x4055bb
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
sub esp, 8
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x30]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edx
sub esp, 8
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
mov edx, dword [edx + 8]
mov dword [esp], eax
call edx
sub esp, 4
jmp 0x4055bb
call fcn.00431730
call fcn.00431730
call fcn.00431780
mov dword [esp], eax
call fcn.004296d5
sub esp, 4
call fcn.00431780
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00431900
sub esp, 8
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x441afc
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], str.SHCreateItemFromParsingName
mov edx, dword [esp + 0x28]
mov dword [esp], edx
call fcn.0041f14e
sub esp, 0x18
mov ebp, eax
mov edx, dword [esp + 0x28]
mov dword [esp], edx
call fcn.0041f1e9
sub esp, 4
test ebp, ebp
jne 0x4055bb
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
jmp 0x40575a
call sub.ole32.dll_CoUninitialize
jmp 0x405532