Function at 0x41b2d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4347e7
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x445008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
test edi, edi
jne 0x41b305
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 8
push eax
mov dword [ebp - 0x24], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
sub esp, 0xc
call fcn.0041bf50
call fcn.004183d0
mov dword [ebp - 0x14], eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___wargv]
mov esi, dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
mov ecx, dword [eax]
mov dword [0x4464ec], edi
mov dword [0x4464f0], ecx
mov dword [0x4464f4], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 2
push 0
mov dword [0x4464f8], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
xor ecx, ecx
test eax, eax
setns cl
mov dword [0x446434], ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x439670
mov edi, eax
mov dword [ebp + 8], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x41b3c3
push str.GetDpiForMonitor
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x41b3ba
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
push 2
push edi
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call esi
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp + 8]
test eax, eax
jne 0x41b3ea
push edi
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push edi
mov dword [ebp + 8], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x43a3d8]
divsd xmm0, qword [0x43a3f0]
comisd xmm1, xmm0
jbe 0x41b412
movsd qword [0x446438], xmm1
jmp 0x41b41a
movsd qword [0x446438], xmm0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call eax
mov dword [0x446430], eax
mov esi, dword [eax]
call fcn.00418cc0
mov ecx, dword [0x446430]
push eax
mov eax, dword [esi + 0x34]
call eax
test eax, eax
jne 0x41b450
mov ecx, dword [0x446430]
mov eax, dword [ecx]
call dword [eax + 0x30]
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
call fcn.00418a30
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, eax
neg edi
sbb edi, edi
neg edi
dec edi
mov dword [ebp + 8], edi
test eax, eax
je 0x41b7c9
mov esi, dword [0x446430]
mov edi, dword [esi]
call fcn.00417e30
push eax
mov eax, dword [edi + 0x34]
mov ecx, esi
call eax
neg eax
sbb ecx, ecx
and ecx, dword [0x446430]
cmp dword [0x44657c], 0
mov dword [ebp - 0x14], ecx
je 0x41b7b7
mov dword [ebp - 0x64], vtable.WTL::CMessageLoop.0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 4], 2
mov dword [ebp - 0x64], 0x439344
mov dword [ebp - 4], 3
mov dword [ebp - 0x64], 0x43931c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], 4
mov edi, dword [0x446038]
add edi, 0x10
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 6
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x24], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [0x446574]
mov dword [ebp - 0x18], esi
push 4
mov dword [ebp + 8], eax
mov ecx, dword [esi + 8]
inc ecx
push ecx
push dword [esi]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__recalloc]
add esp, 0xc
test eax, eax
je 0x41b5c1
mov dword [esi], eax
mov eax, dword [esi + 8]
push 4
inc eax
push eax
push dword [esi + 4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__recalloc]
add esp, 0xc
test eax, eax
je 0x41b5c1
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x10], eax
lea ecx, [eax*4]
mov eax, dword [esi]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 8
je 0x41b5a3
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov byte [ebp - 4], 6
mov eax, dword [esi + 4]
add eax, ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 9
je 0x41b5ba
lea ecx, [ebp - 0x64]
mov dword [eax], ecx
mov byte [ebp - 4], 6
inc dword [esi + 8]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 4
mov edi, 1
xor esi, esi
test edi, edi
je 0x41b622
nop dword [eax + eax]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x41b622
mov eax, dword [ebp - 0x64]
mov ecx, esi
inc esi
push ecx
lea ecx, [ebp - 0x64]
mov eax, dword [eax + 8]
cmp eax, fcn.0041b130
jne 0x41b611
call fcn.0041b130
jmp 0x41b613
call eax
mov ecx, eax
xor eax, eax
test ecx, ecx
cmovne eax, edi
mov edi, eax
test edi, edi
jne 0x41b5e0
push 0
push 0
push 0
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x41b5d7
test eax, eax
je 0x41b6e2
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 4]
cmp eax, fcn.0041b240
jne 0x41b65a
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
call fcn.0041b240
jmp 0x41b663
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x64]
call eax
test eax, eax
jne 0x41b67b
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0xc]
cmp eax, method.WTL::CMessageLoop.virtual_12
jne 0x41b6c0
mov eax, dword [ebp - 0x44]
cmp eax, 0x118
ja 0x41b6a0
je 0x41b6bc
cmp eax, 0xf
je 0x41b6bc
cmp eax, 0xa0
jmp 0x41b6a5
cmp eax, 0x200
je 0x41b6bc
mov ecx, 1
xor eax, eax
test ecx, ecx
mov edi, ecx
cmove eax, esi
mov esi, eax
jmp 0x41b5d7
xor ecx, ecx
jmp 0x41b6cb
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x64]
call eax
mov ecx, eax
test ecx, ecx
je 0x41b6d4
mov edi, 1
xor eax, eax
test ecx, ecx
cmove eax, esi
mov esi, eax
jmp 0x41b5d7
mov eax, dword [0x446038]
mov edi, dword [ebp - 0x40]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x1c], 0
mov byte [ebp - 4], 0xc
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x1c], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [0x446574]
xor ecx, ecx
mov esi, dword [edx + 8]
test esi, esi
jle 0x41b73f
mov edx, dword [edx]
nop word [eax + eax]
cmp dword [edx], eax
je 0x41b72e
inc ecx
add edx, 4
cmp ecx, esi
jl 0x41b720
jmp 0x41b73f
cmp ecx, 0xffffffff
je 0x41b73f
push ecx
mov ecx, dword [0x446574]
call fcn.0041ba40
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x1c], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x64], vtable.WTL::CMessageLoop.0
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x54]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test eax, eax
je 0x41b77b
push eax
call esi
add esp, 4
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x41b7a4
push eax
call esi
add esp, 4
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
jmp 0x41b7ba
mov edi, dword [ebp + 8]
test ecx, ecx
je 0x41b7c3
mov eax, dword [ecx]
call dword [eax + 0x54]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 0x446464
call fcn.00425230
mov ecx, dword [0x446430]
test ecx, ecx
je 0x41b7ec
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [0x446430], 0
mov ecx, 0x4464c4
call fcn.0041d780
mov ecx, 0x446410
call fcn.004203c0
push 0x446440
mov dword [ebp + 8], 0x446440
call esi
mov dword [ebp - 4], 0x13
mov eax, dword [0x446458]
test eax, eax
je 0x41b82f
push eax
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov dword [0x446458], 0
mov dword [ebp - 4], 0xffffffff
push 0x446440
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x446038]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x1c], 0
mov dword [ebp - 4], 0x15
push eax
call esi
mov esi, dword [0x446578]
mov byte [ebp - 0x1c], 1
test esi, esi
je 0x41b8b1
cmp dword [esi + 4], 0
jle 0x41b87e
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x446578]
test esi, esi
je 0x41b8b1
mov eax, dword [esi]
test eax, eax
je 0x41b898
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0042eb60
add esp, 8
push dword [ebp - 0x20]
mov dword [0x446578], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x1c], 0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x446574]
test esi, esi
je 0x41b919
mov eax, dword [esi]
test eax, eax
je 0x41b8ef
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x41b907
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.0042eb60
add esp, 8
mov esi, dword [0x44656c]
test esi, esi
je 0x41b94b
cmp dword [esi], 0
je 0x41b94b
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x41b935
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x41b928
mov esi, dword [0x4450c4]
mov ecx, dword [0x4450c8]
cmp esi, ecx
jae 0x41b97a
nop dword [eax + eax]
mov eax, dword [esi]
test eax, eax
je 0x41b973
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x4450c8]
add esi, 4
cmp esi, ecx
jb 0x41b960
mov ecx, 0x446540
call fcn.0041bec0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10