Function at 0x405d70
Capabilities:
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4e4
mov eax, dword [0x4890a0]
xor eax, esp
mov dword [esp + 0x4e0], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x104
lea eax, [esp + 0x2e4]
push eax
push ebx
mov dword [0x4db718], ebx
call dword [sym.imp.kernel32.dll_GetModuleFileNameW]
mov edi, 0x4d6970
lea esi, [esp + 0x2e0]
call fcn.0040ebc0
push 0x4816bc
push 0x104
push 0x481864
lea edi, [esp + 0x1c]
lea esi, [esp + 0xe4]
mov ecx, 0x481d90
call fcn.00419ff0
xor esi, esi
add esp, 0xc
cmp dword [esp + 0x10], esi
je 0x405e1f
push 0x482940
push 0x4d6970
lea ecx, [esp + 0xe0]
push 0x481724
push ecx
mov edx, 0x104
call fcn.00401130
add esp, 0x10
lea edi, [esp + 0xd8]
mov ecx, 0x481d90
call fcn.0041a230
call fcn.0041a530
push 0x41c170
mov dword [0x4dbb60], 0x401150
call dword [sym.imp.kernel32.dll_SetUnhandledExceptionFilter]
call fcn.00405c70
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x28], 8
mov dword [esp + 0x2c], 0x4ff
call dword [sym.imp.comctl32.dll_InitCommonControlsEx]
push esi
push esi
call dword [sym.imp.ole32.dll_CoInitializeEx]
call fcn.004011b0
test eax, eax
je 0x405f4f
push 0x30
call fcn.00432ad8
mov edi, eax
add esp, 4
cmp edi, esi
je 0x405e9b
lea eax, [edi + 0x18]
push eax
mov dword [edi], esi
mov dword [edi + 8], esi
mov dword [edi + 4], esi
mov dword [edi + 0xc], esi
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], esi
call dword [sym.imp.kernel32.dll_InitializeCriticalSection]
jmp 0x405e9d
xor edi, edi
mov dword [0x4db72c], edi
cmp edi, esi
je 0x405f4f
push esi
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
mov edi, eax
push 0x5a
push edi
call dword [sym.imp.gdi32.dll_GetDeviceCaps]
push edi
mov dword [esp + 0x14], eax
call dword [sym.imp.gdi32.dll_DeleteDC]
push 0x5c
lea ecx, [esp + 0x7c]
push esi
push ecx
call fcn.00433f90
mov edx, dword [esp + 0x1c]
lea eax, [edx*8]
mov ecx, 0xffffffdc
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov ecx, edx
add esp, 0xc
shr ecx, 0x1f
add ecx, edx
push 0x48294c
lea edx, [esp + 0x98]
push 0x20
push edx
mov dword [esp + 0x84], ecx
call fcn.004329ff
add esp, 0xc
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.gdi32.dll_CreateFontIndirectW]
mov dword [0x4db728], eax
call fcn.00413d90
call fcn.00410e90
test eax, eax
jne 0x405f6b
push esi
push 0x48295c
push 0x482968
call dword [sym.imp.user32.dll_GetFocus]
push eax
call dword [sym.imp.user32.dll_MessageBoxW]
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4e0]
xor ecx, esp
call fcn.00431784
mov esp, ebp
pop ebp
ret 0x10
push 0x64
push ebx
mov dword [esp + 0x34], 0x30
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], 0x4d45ac
mov dword [esp + 0x3c], 0x404b50
mov dword [esp + 0x38], esi
call dword [sym.imp.user32.dll_LoadIconW]
push 0x7f00
push esi
mov dword [esp + 0x4c], eax
call dword [sym.imp.user32.dll_LoadCursorW]
push 0x40
push 0x10
push 0x10
push 1
push 0x64
push ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], 0x10
call dword [sym.imp.user32.dll_LoadImageW]
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x5c], eax
call dword [sym.imp.user32.dll_RegisterClassExW]
push esi
test ax, ax
je 0x405f38
mov edx, dword [ebp + 0x14]
mov esi, dword [sym.imp.user32.dll_GetSystemMetrics]
mov dword [esp + 0x24], edx
call esi
push 1
mov dword [esp + 0x20], eax
call esi
push 0x4816bc
push 0x80000000
xor esi, esi
mov ecx, 0x4828a4
mov dword [esp + 0x1c], eax
call fcn.00419ea0
push 0x4816bc
push 0x80000000
mov ecx, 0x4828b4
mov edi, eax
call fcn.00419ea0
push 0x4816bc
push 0x80000000
mov ecx, 0x4828c4
mov dword [esp + 0x28], eax
call fcn.00419ea0
push 0x4816bc
push 0x80000000
mov ecx, 0x4828dc
mov dword [esp + 0x38], eax
call fcn.00419ea0
add esp, 0x20
test edi, edi
jge 0x406066
xor edi, edi
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jl 0x406071
lea edi, [ecx - 0x80]
cmp dword [esp + 0x10], esi
jge 0x40607b
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x10], ecx
jl 0x40608c
add ecx, 0xffffff80
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
push 0
push ebx
push 0
push 0
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edi
push 0x2cf0000
push 0x482214
push 0x4d45ac
push 0
call dword [sym.imp.user32.dll_CreateWindowExW]
push 0x4816bc
push 0
xor esi, esi
mov ecx, 0x482884
mov edi, eax
call fcn.00419ea0
add esp, 8
mov esi, 3
test eax, eax
jne 0x4060db
mov esi, dword [esp + 0x20]
push 0x41a
push ebx
call dword [sym.imp.user32.dll_LoadAcceleratorsW]
push esi
push edi
mov ebx, eax
call dword [sym.imp.user32.dll_ShowWindow]
push edi
call dword [sym.imp.user32.dll_UpdateWindow]
mov esi, dword [sym.imp.user32.dll_GetMessageW]
push 0
push 0
push 0
lea edx, [esp + 0x68]
push edx
call esi
test eax, eax
je 0x406148
nop
lea eax, [esp + 0x5c]
push eax
push ebx
push edi
call dword [sym.imp.user32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x406137
lea ecx, [esp + 0x5c]
push ecx
call dword [sym.imp.user32.dll_TranslateMessage]
lea edx, [esp + 0x5c]
push edx
call dword [sym.imp.user32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x68]
push eax
call esi
test eax, eax
jne 0x406110
mov esi, dword [0x4db72c]
test esi, esi
je 0x406157
call fcn.00406180
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x4ec]
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00431784
mov esp, ebp
pop ebp
ret 0x10