Function at 0x465170
Capabilities:
Accept command line arguments
Create thread
Get system information on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50a8c7
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x542040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xdc], ecx
call fcn.004650d0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x3c]
push eax
movups xmmword [ebp - 0x3c], xmm0
movups xmmword [ebp - 0x2c], xmm0
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x3c]
cmp ax, 6
je 0x4651d8
cmp ax, 9
je 0x4651d8
xor al, al
jmp 0x4651da
mov al, 1
mov byte [0x547ea4], al
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0
mov esi, eax
mov dword [ebp - 0x14], 0
push str.__debug
lea ecx, [ebp - 0x14]
mov dword [ebp - 0xf4], esi
call fcn.0042dfa0
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xe0]
push esi
mov dword [ebp - 0xe0], 0
call fcn.0042dfa0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x46522d
mov eax, dword [esi]
jmp 0x46522f
xor eax, eax
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x465243
mov ecx, dword [edi]
mov dword [ebp - 0xe0], ecx
jmp 0x46524d
mov dword [ebp - 0xe0], 0
test esi, esi
je 0x465256
mov edx, dword [esi + 8]
jmp 0x465258
xor edx, edx
test edi, edi
je 0x465261
mov ecx, dword [edi + 8]
jmp 0x465263
xor ecx, ecx
push 1
push 0
push eax
push dword [ebp - 0xe0]
call fcn.00424540
add esp, 0x10
mov byte [ebp - 4], 1
test edi, edi
je 0x46528d
add dword [edi + 4], 0xffffffff
jne 0x46528d
push edi
call fcn.004eb01a
add esp, 4
mov dword [ebp - 4], 2
test esi, esi
je 0x4652a7
add dword [esi + 4], 0xffffffff
jne 0x4652a7
push esi
call fcn.004eb01a
add esp, 4
push 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
push str.__output_log
mov dword [ebp - 0x14], 0
call fcn.0042dfa0
push 0
push dword [ebp - 0xf4]
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
call fcn.0042dfa0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x4652f3
mov eax, dword [esi]
jmp 0x4652f5
xor eax, eax
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x465309
mov ecx, dword [edi]
mov dword [ebp - 0xe0], ecx
jmp 0x465313
mov dword [ebp - 0xe0], 0
test esi, esi
je 0x46531c
mov edx, dword [esi + 8]
jmp 0x46531e
xor edx, edx
test edi, edi
je 0x465327
mov ecx, dword [edi + 8]
jmp 0x465329
xor ecx, ecx
push 1
push 0
push eax
push dword [ebp - 0xe0]
call fcn.00424540
add esp, 0x10
mov byte [ebp - 4], 4
test edi, edi
je 0x465353
add dword [edi + 4], 0xffffffff
jne 0x465353
push edi
call fcn.004eb01a
add esp, 4
mov dword [ebp - 4], 5
test esi, esi
je 0x46536d
add dword [esi + 4], 0xffffffff
jne 0x46536d
push esi
call fcn.004eb01a
add esp, 4
push 0x104
push 0x548b70
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0xdc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x548b70
push 0x104
push 0x5482c8
call fcn.004f286b
push 0x5c
push 0x5482c8
call fcn.004de9db
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4653f0
push 3
xor eax, eax
lea edi, [esi - 6]
push 0x52c390
push edi
mov word [esi], ax
call fcn.004f29cb
add esp, 0xc
test eax, eax
je 0x4653eb
push 3
push 0x52c398
push edi
call fcn.004f29cb
add esp, 0xc
test eax, eax
je 0x4653eb
mov dword [esi], 0x5c
jmp 0x4653f0
xor eax, eax
mov word [edi], ax
push 0x5482c8
push 0x104
push 0x548548
call fcn.004f286b
push 0x5c
push 0x548548
call fcn.004de9db
add esp, 0x14
test eax, eax
je 0x46541d
xor ecx, ecx
mov word [eax + 2], cx
push 0x5482c8
push 0x104
push 0x548968
call fcn.004f286b
push 0x52c3a0
push 0x104
push 0x548968
call fcn.004ef767
push 0x5482c8
push 0x104
push 0x548760
call fcn.004f286b
push 0x52c48c
push 0x104
push 0x548760
call fcn.004ef767
push 0x5482c8
push 0x104
push 0x547ea8
call fcn.004f286b
push str.config.ini
push 0x104
push 0x547ea8
call fcn.004ef767
add esp, 0x48
push 0x5482c8
push 0x104
push 0x5480b8
call fcn.004f286b
push str.config.xml
push 0x104
push 0x5480b8
call fcn.004ef767
add esp, 0x18
push 0x464f30
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x3a8
push ecx
mov edx, 0x547ea8
lea ecx, [ebp - 0x108]
call fcn.00451410
add esp, 8
mov dword [ebp - 4], 6
mov eax, dword [eax]
test eax, eax
je 0x4654ff
mov esi, dword [eax + 8]
mov dword [ebp - 0xf8], esi
jmp 0x465509
mov dword [ebp - 0xf8], 0
push 0x3a8
push ecx
mov edx, 0x548760
lea ecx, [ebp - 0x14]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [eax]
test eax, eax
je 0x465534
mov esi, dword [eax + 8]
mov dword [ebp - 0xfc], esi
jmp 0x46553e
mov dword [ebp - 0xfc], 0
push 0x3a8
push ecx
mov edx, 0x548968
lea ecx, [ebp - 0xe0]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 8
mov eax, dword [eax]
test eax, eax
je 0x46556c
mov esi, dword [eax + 8]
mov dword [ebp - 0x100], esi
jmp 0x465576
mov dword [ebp - 0x100], 0
push 0x3a8
push ecx
mov edx, 0x5482c8
lea ecx, [ebp - 0xf0]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 9
mov eax, dword [eax]
test eax, eax
je 0x4655a4
mov esi, dword [eax + 8]
mov dword [ebp - 0x104], esi
jmp 0x4655ae
mov dword [ebp - 0x104], 0
push 0x3a8
push ecx
mov edx, 0x548548
lea ecx, [ebp - 0xec]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 0xa
mov edi, dword [eax]
test edi, edi
je 0x4655d6
mov edi, dword [edi + 8]
jmp 0x4655d8
xor edi, edi
push 0x3a8
push ecx
mov edx, 0x548b70
lea ecx, [ebp - 0xe4]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 0xb
mov esi, dword [eax]
test esi, esi
je 0x465600
mov esi, dword [esi + 8]
jmp 0x465602
xor esi, esi
mov edx, dword [ebp - 0xf4]
push 0x3a8
push ecx
lea ecx, [ebp - 0xe8]
call fcn.00451410
add esp, 8
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
test eax, eax
je 0x46562b
mov eax, dword [eax + 8]
jmp 0x46562d
xor eax, eax
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push edi
push esi
push eax
push 0x52c4c8
call fcn.00464ee0
add esp, 0x20
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x46567c
add dword [eax + 4], 0xffffffff
jne 0x46567c
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x46567c
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0xe8], 0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4656ad
add dword [eax + 4], 0xffffffff
jne 0x4656ad
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4656ad
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x4656de
add dword [eax + 4], 0xffffffff
jne 0x4656de
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x4656de
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0xec], 0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x46570f
add dword [eax + 4], 0xffffffff
jne 0x46570f
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x46570f
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x465740
add dword [eax + 4], 0xffffffff
jne 0x465740
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x465740
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0xe0], 0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x46576b
add dword [eax + 4], 0xffffffff
jne 0x46576b
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x46576b
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x46579c
add dword [eax + 4], 0xffffffff
jne 0x46579c
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x46579c
push eax
call fcn.004eb01a
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xdc]
mov dword [0x548d7c], eax
call fcn.0040b860
push ecx
call fcn.00464300
call fcn.00452ad0
cmp dword [0x549340], 0
mov dword [0x5480b0], eax
je 0x4657e4
push 2
push str.nDarkMode
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x5492e8], eax
jmp 0x4657e9
mov eax, dword [0x5492e8]
mov ecx, eax
call fcn.00471c00
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [0x548d7c]
push 0x473620
push 5
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
push 0x52c3e0
mov dword [0x54a4b0], eax
call fcn.00464ee0
mov edi, dword [sym.imp.USER32.dll_LoadCursorW]
add esp, 4
push 0x7f00
push 0
call edi
push 0x7f89
push 0
mov dword [0x5484d8], eax
call edi
push 0x87
push dword [0x548d7c]
mov dword [0x5484dc], eax
call edi
push 0x85
push dword [0x548d7c]
mov dword [0x5484e0], eax
call edi
push 0x86
push dword [0x548d7c]
mov dword [0x5484e4], eax
call edi
push 0x7f83
push 0
mov dword [0x5484e8], eax
call edi
push 0x7f82
push 0
mov dword [0x5484ec], eax
call edi
push 0x5c
mov dword [0x5484f0], eax
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.004ded20
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoW]
lea eax, [ebp - 0x98]
add esp, 0xc
push 0
push eax
push 0x5c
push 0x1f
call esi
movq xmm0, qword [0x51b470]
lea ecx, [ebp - 0x98]
movzx eax, word [0x51b478]
movq qword [ebp - 0x7c], xmm0
mov word [ebp - 0x74], ax
mov dword [ebp - 0x98], 0xfffffff4
call fcn.00411310
push 0x5c
mov dword [0x548530], eax
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.004ded20
add esp, 0xc
lea eax, [ebp - 0x98]
push 0
push eax
push 0x5c
push 0x1f
call esi
movq xmm0, qword [0x51b470]
movzx eax, word [0x51b478]
movq qword [ebp - 0x7c], xmm0
mov word [ebp - 0x74], ax
mov dword [ebp - 0x98], 0xfffffff4
mov dword [ebp - 0x88], 0x2bc
mov word [ebp - 0x84], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 0x82], 0
call fcn.00411310
push 0x5c
mov dword [0x548534], eax
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.004ded20
add esp, 0xc
lea eax, [ebp - 0x98]
push 0
push eax
push 0x5c
push 0x1f
call esi
mov eax, dword [0x52c418]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x7c], eax
movzx eax, word [0x52c41c]
mov word [ebp - 0x78], ax
mov dword [ebp - 0x98], 0xfffffff4
call fcn.00411310
lea edx, [ebp - 0xdc]
mov dword [0x548538], eax
mov ecx, 0x90
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x5484f4], eax
mov ecx, 0x94
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x5484f8], eax
mov ecx, 0x88
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x5484fc], eax
mov ecx, 0x8c
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548500], eax
mov ecx, 0xb8
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548504], eax
mov ecx, 0xa8
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548508], eax
mov ecx, 0xa4
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
mov dword [0x54850c], eax
mov dword [ebp - 0xdc], 0
lea edx, [ebp - 0xdc]
mov ecx, 0xac
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548510], eax
mov ecx, 0xbc
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548514], eax
mov ecx, 0xb0
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548524], eax
mov ecx, 0xb4
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
lea edx, [ebp - 0xdc]
mov dword [0x548528], eax
mov ecx, 0xc4
mov dword [ebp - 0xdc], 0
call fcn.00464900
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.004108c0
push dword [0x5484f0]
mov dword [0x54852c], eax
call fcn.00466110
push dword [0x5484e4]
mov dword [0x548518], eax
call fcn.00466110
push dword [0x5484e8]
mov dword [0x54851c], eax
call fcn.00466110
mov ecx, dword [0x5484d0]
mov dword [0x548520], eax
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
mov ecx, esi
call fcn.0040d220
mov ecx, esi
mov dword [0x54853c], eax
call fcn.00472fa0
push 0x7f00
push 0
mov dword [0x548540], eax
mov dword [ebp - 0xe4], 0
call edi
mov eax, dword [0x548d7c]
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push 0x82
push eax
mov dword [ebp - 0xd8], 0x30
mov dword [ebp - 0xd4], 0xb
mov dword [ebp - 0xd0], 0x466270
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], eax
call esi
push 0x7f00
push 0
mov dword [ebp - 0xc0], eax
call edi
mov ecx, dword [0x5484d0]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 8]
call eax
mov ecx, eax
call fcn.00472fa0
push 0x82
push dword [ebp - 0xc4]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0x52c420
call esi
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
movzx eax, ax
push eax
push 0x52c454
mov byte [0x547ea6], 1
call fcn.00464ee0
add esp, 8
lea eax, [ebp - 0xa8]
push str.rcWindow
push eax
call fcn.0044c210
push 0
push str.isZoomed
mov ecx, 0x5492d0
call fcn.004347b0
test eax, eax
mov edx, 0x16cf0000
push str.E8A2C7A2_B1FD_460F_93D3_FBACD3A38B56
setne byte [0x547ea5]
mov ecx, 0x17cf0000
test eax, eax
push 0
cmove ecx, edx
push 0x1f0003
mov dword [ebp - 0xdc], ecx
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x18], 0
test eax, eax
jne 0x465d67
push str.E8A2C7A2_B1FD_460F_93D3_FBACD3A38B56
push 0x64
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x465d74
lea ecx, [ebp - 0x18]
push ecx
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
call fcn.0042e5f0
test al, al
mov ecx, 0x51b3ac
mov esi, 0x52c6b0
cmove esi, ecx
mov ecx, 0x115
call fcn.00425b20
mov edx, eax
mov ecx, 0x8b
xor eax, eax
mov dword [ebp - 0x14], edx
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [edx + 0x10]
mov dword [edx + 4], 1
mov dword [edx + 0xc], 0x105
mov dword [edx + 8], ecx
mov dword [edx], eax
push esi
push 0x51b3ac
push 0x51b3ac
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0x14
push 0x52c6c0
push eax
call fcn.00423fb0
push 0x52c590
call fcn.00464ee0
push 0x18
call fcn.004db155
add esp, 0x1c
mov dword [0x54a0f0], eax
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x465e0c
mov edi, dword [esi + 8]
jmp 0x465e0e
xor edi, edi
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa4]
sub eax, edx
mov ecx, dword [ebp - 0xa8]
push 0
push dword [0x548d7c]
push 0
push 0
push eax
mov eax, dword [ebp - 0xa0]
sub eax, ecx
push eax
push edx
push ecx
push dword [ebp - 0xdc]
push edi
push 0x52c420
push 0x40000
call dword [sym.imp.USER32.dll_CreateWindowExW]
push dword [ebp - 0xdc]
mov dword [0x5482c0], eax
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [0x5482c0]
push 0x52c5b0
call fcn.00464ee0
add esp, 8
cmp dword [0x5482c0], 0
je 0x46603f
push 0x52c5f8
call fcn.00464ee0
add esp, 4
push 5
push dword [0x5482c0]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x5482c0]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x52c614
call fcn.00464ee0
add esp, 4
cmp dword [0x549340], 0
je 0x465eda
push 0
push str.showHideWindow
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x5492d8], eax
jmp 0x465edf
mov eax, dword [0x5492d8]
test eax, eax
setne cl
call fcn.0045f2f0
push 0x10
push dword [0x545ef4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x465f29
push 0
push dword [eax + 0x14]
push 0x111b
push dword [0x545ef4]
call edi
push 0
push 0
push 0x111c
push dword [0x545ef4]
call edi
mov dword [0x545f10], eax
push 0
push 9
push 0x110a
push dword [0x545fe0]
call edi
push ecx
push eax
mov ecx, 0x545fdc
call fcn.00434a40
push eax
call fcn.004446a0
push 0
push 0
push 0x110a
push dword [0x545ef4]
call edi
push eax
push 2
push 0x1102
push dword [0x545ef4]
call edi
call fcn.00436510
push 0x52c6ec
call fcn.00464ee0
add esp, 4
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x34], xmm0
push 0x6d
push dword [0x548d7c]
movq qword [ebp - 0x24], xmm0
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
push 0x52c714
mov dword [ebp - 0xdc], eax
call fcn.00464ee0
add esp, 4
push 0
push 0
push 0
push 0x46b4b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x465fd3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x34]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x466029
mov esi, dword [ebp - 0xdc]
nop
lea eax, [ebp - 0x34]
push eax
push esi
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x466016
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x34]
push eax
call edi
test eax, eax
jne 0x465ff0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
push 0x52c750
mov dword [ebp - 0xe4], eax
call fcn.00464ee0
add esp, 4
push dword [ebp - 0xe4]
push 0x52c76c
call fcn.00464ee0
mov edi, dword [ebp - 0xe8]
add esp, 8
test edi, edi
je 0x4660c9
lea eax, [ebp - 0x18]
push eax
push 1
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push 0xffffffffffffffff
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call edi
push 0xffffffffffffffff
push dword [ebp - 0xe8]
call edi
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
test eax, eax
jg 0x4660bd
cmp dword [0x549340], 0
je 0x4660aa
push 0
push str.desUnlosySys
mov ecx, 0x5492d0
call fcn.004347b0
mov dword [0x549324], eax
jmp 0x4660af
mov eax, dword [0x549324]
test eax, eax
je 0x4660bd
call fcn.0042dbc0
call fcn.0042dcf0
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0x15
test esi, esi
je 0x4660e3
add dword [esi + 4], 0xffffffff
jne 0x4660e3
push esi
call fcn.004eb01a
add esp, 4
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004dadd7
mov esp, ebp
pop ebp
ret