Function at 0x402840
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
push edi
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], 8
mov dword [ebp - 8], 0x2ff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
sub esp, 0xc
call fcn.00402f40
mov esi, dword [0x4124f8]
mov ecx, 0x40e70c
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 4], esi
test eax, eax
jne 0x402988
movzx eax, cx
push eax
lea ecx, [ebp - 4]
call fcn.00402dd0
mov esi, dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void__]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
test eax, eax
jne 0x40291b
mov ecx, dword [0x4124f8]
mov dword [ebp - 4], ecx
call edi
push eax
push esi
lea eax, [ebp - 4]
push str.Failed_to_load__s___d__
push eax
call fcn.00402200
mov edi, dword [ebp - 4]
add esp, 0x10
push 0
push str.Error
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [edi - 0xc]
cmp eax, 0x4124e8
je 0x402915
add edi, 0xfffffff4
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x402915
push edi
call ebx
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 8]
push 0x412968
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
test eax, eax
jne 0x4029c8
mov eax, dword [0x4124f8]
mov dword [ebp - 4], eax
call edi
push eax
push esi
lea eax, [ebp - 4]
push str.Failed_to_set_resource_instance__s___d__
push eax
call fcn.00402200
mov edi, dword [ebp - 4]
add esp, 0x10
push 0
push str.Error
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [edi - 0xc]
cmp eax, 0x4124e8
je 0x4029c8
lea eax, [edi - 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
push eax
mov dword [ebp - 4], eax
call edi
test eax, eax
jg 0x4029ce
push dword [ebp - 4]
call ebx
add esp, 4
jmp 0x4029ce
push 0x40e70c
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
test edi, edi
je 0x4028ac
push edi
lea ecx, [ebp - 4]
call fcn.00401c00
test eax, eax
je 0x4028a9
mov esi, dword [ebp - 4]
lea eax, [edi + edi]
push eax
push 0x40e70c
push esi
call sub.MSVCR110.dll_memcpy
add esp, 0xc
jmp 0x4028ac
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
call fcn.00401440
test al, al
jne 0x402a03
mov eax, dword [0x4124f8]
push 0x78
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.00402dd0
push 0
push 0x40e464
push dword [ebp - 4]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 1
call dword [sym.imp.MSVCR110.dll_exit]
lea ecx, [ebp - 0x88]
call fcn.00405da0
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x88]
call fcn.00402a70
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00402d70
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x88]
call fcn.00405e80
lea ecx, [esi - 0xc]
cmp ecx, 0x4124e8
je 0x402a64
add esi, 0xfffffff4
push esi
call edi
test eax, eax
jg 0x402a64
push esi
call ebx
add esp, 4
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10