Function at 0x492ef0
Capabilities:
Accept command line arguments
Acquire debug privileges
Get common file path
Get hostname
Get memory capacity
Initialize winsock library
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9130
mov eax, dword fs:[0]
push eax
mov eax, 0x48a0
call fcn.004a7970
mov eax, dword [0x517b80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push 0x114
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x2e0]
push 0
mov dword [ebp - 0x38], 0
push eax
mov dword [ebp - 0x4884], edi
mov dword [ebp - 0x2e4], 0
call fcn.004aa220
add esp, 0xc
mov dword [ebp - 0x2e8], 0x11c
lea eax, [ebp - 0x4844]
push eax
push 1
push 0
push 0x4f6900
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x492fb5
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 4
push eax
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x38]
push eax
push 0
push 0x4f695c
push dword [ebp - 0x4844]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x4844]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x4f6964
push 0x4f6978
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x492fe1
push 0x4e454c
mov ecx, esi
call dword [0x4dc8a4]
call esi
push 0x4f6994
push 0x4ee48c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x493027
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov ecx, esi
call dword [0x4dc8a4]
call esi
cmp dword [ebp - 0x2c], 0
je 0x493027
mov byte [0x52e19d], 1
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [0x52e7d8], edi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x34], esi
push eax
push 0x52e3c8
mov dword [ebp - 0x1c], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push 0x104
push 0x52e5d0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x5c
push 0x52e5d6
call fcn.004ab205
xor ecx, ecx
push esi
mov word [eax], cx
lea eax, [ebp - 0x14]
push eax
push 0x4e4e40
call fcn.00405880
add esp, 0x14
test eax, eax
je 0x493553
push 1
push esi
lea eax, [ebp - 0x14]
push eax
push 0x4f69a4
call fcn.0048b470
push 0
mov edi, eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f69b4
mov dword [ebp - 0x485c], edi
call fcn.0048b470
push 0
mov dword [ebp - 0x4864], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f69c8
call fcn.0048b470
push 1
mov dword [ebp - 0x4874], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f69e0
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x4850], eax
lea eax, [ebp - 0x14]
push 1
push esi
push eax
push 0x4f69f0
call fcn.0048b470
push 1
mov dword [ebp - 0x48a0], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6a00
call fcn.0048b470
push 0
mov dword [ebp - 0x48a8], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6a10
call fcn.0048b470
push 0
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6a30
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x4860], eax
lea eax, [ebp - 0x14]
push 1
push esi
push eax
push 0x4f6a54
call fcn.0048b470
push 1
mov dword [ebp - 0x487c], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4e5390
call fcn.0048b470
push 1
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6a74
call fcn.0048b470
mov dword [ebp - 0x488c], eax
push 0
push esi
lea eax, [ebp - 0x14]
push eax
push 0x4f6a8c
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x486c], eax
lea eax, [ebp - 0x14]
push 1
push esi
push eax
push 0x4f6aa0
call fcn.0048b470
push 1
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6ab8
call fcn.0048b470
push 0
mov dword [ebp - 0x48a4], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6ad4
call fcn.0048b470
push 0
mov dword [ebp - 0x4858], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4e5a48
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x4854], eax
lea eax, [ebp - 0x14]
push 0
push esi
push eax
push 0x4f6aec
call fcn.0048b470
push 1
mov dword [ebp - 0x4890], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b04
call fcn.0048b470
push 1
mov dword [ebp - 0x4894], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b24
call fcn.0048b470
push 0
mov dword [ebp - 0x4898], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b40
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x4878], eax
lea eax, [ebp - 0x14]
push 0
push esi
push eax
push 0x4f6b54
call fcn.0048b470
push 0
mov dword [ebp - 0x4870], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b64
call fcn.0048b470
push 0
mov dword [ebp - 0x48ac], eax
push esi
lea eax, [ebp - 0x14]
push eax
push 0x4f6b78
call fcn.0048b470
push 1
mov dword [ebp - 0x489c], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b84
call fcn.0048b470
add esp, 0x40
mov dword [ebp - 0x4880], eax
lea eax, [ebp - 0x14]
push 0
push esi
push eax
push 0x4f6b94
call fcn.0048b470
push 0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6b98
call fcn.0048b470
add esp, 0x20
test eax, eax
je 0x4932fa
or dword [0x5174a8], 8
push 0
push esi
lea eax, [ebp - 0x14]
push eax
push 0x4f6bb4
call fcn.0048b470
push 0
mov dword [ebp - 0x4868], eax
lea eax, [ebp - 0x14]
push esi
push eax
push 0x4f6bd4
call fcn.0048b470
add esp, 0x20
mov dword [ebp - 0x18], eax
test eax, eax
setne byte [ebp - 0x4888]
test edi, edi
jne 0x493350
push edi
push esi
lea eax, [ebp - 0x14]
push eax
push 0x4e454c
call fcn.0048b470
add esp, 0x10
mov dword [ebp - 0x485c], eax
mov edi, eax
cmp dword [ebp - 0x30], 0
jne 0x493379
test edi, edi
jne 0x493379
call fcn.00469bd0
test al, al
jne 0x493379
mov al, byte [0x52e19d]
mov ecx, dword [ebp - 0x18]
test al, al
je 0x493373
test ecx, ecx
jne 0x493381
mov byte [ebp - 0x18], 1
jmp 0x493385
mov al, byte [0x52e19d]
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x18], 0
test al, al
je 0x493391
test ecx, ecx
jne 0x493391
mov al, 1
jmp 0x493393
xor al, al
mov byte [ebp - 0x20], al
test edi, edi
je 0x4933e4
test al, al
je 0x4933e4
push 0x590
call fcn.004a71b8
add esp, 4
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x4933cc
push 0x590
push 0
push eax
call fcn.004aa220
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
call fcn.004266c0
jmp 0x4933ce
xor eax, eax
push edi
mov ecx, eax
call fcn.0049e940
cmp eax, 0xffffffff
je 0x4933e4
and al, 1
neg al
sbb al, al
and byte [ebp - 0x20], al
mov al, byte [ebp - 0x18]
test al, al
je 0x49348e
lea eax, [ebp - 0x4848]
mov dword [ebp - 0x3c], 0
push eax
push 0x4f6be0
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x493447
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 4
push eax
lea eax, [ebp - 0x3c]
push eax
push 0
push 0
push 0x4f6c54
push dword [ebp - 0x4848]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x4848]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push 0
push 6
call fcn.004395f0
add esp, 0xc
test al, al
je 0x49345f
cmp dword [ebp - 0x3c], 0
jne 0x49348b
push 0
push ecx
mov edi, esp
push 0x4f6c68
call fcn.004a27e0
push eax
push 0x4f6c68
call fcn.004a29e0
add esp, 0xc
mov dword [edi], eax
call fcn.0046bd80
add esp, 8
jmp 0x493553
mov al, byte [ebp - 0x18]
cmp byte [ebp - 0x20], 0
jne 0x494752
test al, al
jne 0x494752
mov eax, dword [ebp - 0x48a4]
test eax, eax
je 0x4934bf
push eax
push 0x104
push 0x52e1a0
call fcn.004ba210
add esp, 0xc
jmp 0x4934d1
push 0x104
push 0x52e1a0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 0x48a8]
mov dword [ebp - 0x18], 0
test eax, eax
je 0x4934f1
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x4850], eax
jmp 0x493510
mov eax, dword [ebp - 0x48a0]
test eax, eax
je 0x49350a
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x4850], eax
jmp 0x493510
mov eax, dword [ebp - 0x4850]
cmp dword [ebp - 0x30], 0
jne 0x494733
cmp dword [ebp - 0x14], 1
jne 0x494696
cmp dword [ebp - 0x4858], 0
je 0x493537
cmp dword [ebp - 0x2c], 0
jne 0x494696
test eax, eax
je 0x49357e
test edi, edi
jne 0x49357e
push 0x10
push 0x4e4e40
push 0x4f6da0
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, 1
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
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.004a71aa
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp - 0x487c]
test edi, edi
je 0x4935ca
call fcn.004a50e0
push edi
push dword [0x52e3c4]
call fcn.00488610
add esp, 8
test al, al
je 0x49372f
push 0
mov ecx, 0x52da90
call fcn.004291c0
push 0
call fcn.0046f590
add esp, 4
mov ecx, 0x52da90
push 0
call fcn.004271e0
xor edi, edi
jmp 0x493558
cmp dword [ebp - 0x1c], 0
je 0x493623
test eax, eax
jne 0x493623
push 0x4f6e18
call fcn.004a27e0
push eax
push 0x4f6e18
call fcn.004a29e0
add esp, 0xc
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x30]
push 0x10
push 0x4e4e40
call fcn.004a2380
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], 3
test ecx, ecx
je 0x493553
call fcn.004a2a20
jmp 0x493553
mov ecx, 0x52da90
call fcn.00428890
test al, al
jne 0x493642
push 0x10
push 0x4e4e40
push 0x4f6ea0
jmp 0x49354b
cmp dword [ebp - 0x4874], 0
je 0x49368b
xor edi, edi
nop dword [eax]
push 0
push 0x4f5e90
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
jne 0x493674
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x64
jl 0x493650
jmp 0x493553
push 0
push 0
push 0x8009
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
jmp 0x493558
mov ecx, dword [ebp - 0x4880]
xor eax, eax
mov dword [ebp - 0x40], eax
test ecx, ecx
je 0x4936e1
lea eax, [ebp - 0x40]
push eax
push 0x4e62f0
push ecx
call fcn.00452c10
add esp, 0xc
cmp eax, 1
je 0x4936c2
push 0x10
push 0x4e4e40
push 0x4f6f68
jmp 0x49354b
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4936d0
cmp eax, 0xe10
jbe 0x4936e1
push 0x10
push 0x4e4e40
push 0x4f6fc8
jmp 0x49354b
cmp dword [ebp - 0x4860], 0
je 0x493701
push eax
push 1
push 1
push 0
call fcn.0041e4c0
add esp, 0x10
movzx edi, al
jmp 0x493558
cmp dword [ebp - 0x4864], 0
je 0x493736
push 0
push 0x4f5e90
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x493553
push 0
push 0
push 0x800a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
jmp 0x493558
mov eax, dword [0x52e838]
test eax, eax
je 0x493750
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x52e838], 0
push 0
push 0x4000000
push 0
push 0x8000004
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push 0x38
mov dword [0x52e838], eax
lea eax, [ebp - 0x78]
push 0
push eax
mov dword [ebp - 0x80], 0x40
mov dword [ebp - 0x7c], 0
call fcn.004aa220
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov ecx, dword [ebp - 0x78]
mov edx, 0xaaaaaaab
mov eax, dword [ebp - 0x74]
shld eax, ecx, 1
add ecx, ecx
add ecx, 0xc4653600
adc eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov eax, ecx
mul edx
mov dword [ebp - 0x28], eax
mov edi, edx
mov eax, ecx
mov ecx, 0xaaaaaaaa
mul ecx
mov ecx, 0xaaaaaaab
mov dword [ebp - 0x4880], edx
mov dword [ebp - 0x4860], eax
mov eax, dword [ebp - 0x30]
mul ecx
mov dword [ebp - 0x4864], edx
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov edx, 0xaaaaaaaa
mul edx
add ecx, edi
mov dword [ebp - 0x487c], edx
mov edx, dword [ebp - 0x4864]
adc edx, 0
mov dword [ebp - 0x4874], eax
mov eax, dword [ebp - 0x4860]
add eax, ecx
mov ecx, dword [ebp - 0x4880]
mov dword [ebp - 0x28], eax
adc ecx, 0
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0x4874]
adc eax, eax
add ecx, edx
mov edx, dword [ebp - 0x487c]
adc edx, eax
shrd ecx, edx, 1
shr edx, 1
mov dword [0x52e7f0], ecx
mov dword [0x52e7f4], edx
test edx, edx
jg 0x49386a
jl 0x49384d
cmp ecx, 0x800000
jae 0x49385e
mov dword [0x52e7f0], 0x800000
mov ecx, 0x800000
jmp 0x493879
test edx, edx
jne 0x49386a
cmp ecx, 0x3e800000
jb 0x493881
mov dword [0x52e7f0], 0x3e800000
mov ecx, 0x3e800000
xor edx, edx
mov dword [0x52e7f4], edx
add ecx, 0x2000000
push 0x4f7034
adc edx, 0
mov dword [0x52e7f8], ecx
mov dword [0x52e7fc], edx
call fcn.0041eb20
add esp, 4
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 1
push 0x4f7058
push 0x4f707c
push 0x4e4eb8
push dword [ebp - 0x4888]
call fcn.00467d50
push 0x190
lea eax, [ebp - 0x478]
push 0
push eax
call fcn.004aa220
add esp, 0x20
lea eax, [ebp - 0x478]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push fcn.0048e300
call fcn.004bdd19
push 1
call fcn.004be18e
add esp, 8
push 1
push 0x4885e0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 1
push 0x1ff
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
cmp byte [0x52e19d], 0
mov ecx, 0x4f70f0
push 0
push 0x52e3b0
push 0
push 0xf003f
push 0
push 0
mov eax, 0x4f70a0
cmove eax, ecx
push 0
push eax
push reloc.WS2_32.dll_accept
mov dword [0x52e3b4], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push dword [0x52e3b0]
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movlpd qword [ebp - 0x28], xmm0
call fcn.0049b690
lea eax, [ebp - 0x28]
push eax
call fcn.0049bfb0
add esp, 4
lea ecx, [ebp - 0x28]
call fcn.00405a40
push dword [0x517648]
mov ecx, 0x52da90
call fcn.0042a770
mov edi, dword [ebp - 0x488c]
test edi, edi
je 0x493a32
push 0x100
lea eax, [ebp - 0x1cc]
push 0
push eax
call fcn.004aa220
add esp, 0xc
lea ecx, [ebp - 0x1cc]
call fcn.00487cd0
push 0
push 1
push edi
lea ecx, [ebp - 0x1cc]
call fcn.00463380
test al, al
jne 0x4939fc
push 0x10
push 0x4e4e40
push 0x4f7140
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x1cc]
call fcn.00426d40
mov edi, 2
jmp 0x493558
lea eax, [ebp - 0x1cc]
xorps xmm0, xmm0
push eax
lea ecx, [ebp - 0x28]
movlpd qword [ebp - 0x28], xmm0
call fcn.0049b670
lea eax, [ebp - 0x28]
push eax
call fcn.0049bfb0
add esp, 4
lea ecx, [ebp - 0x28]
call fcn.00405a40
lea ecx, [ebp - 0x1cc]
call fcn.00426d40
cmp dword [ebp - 0x4890], 0
je 0x493a9e
mov eax, dword [ebp - 0x4894]
mov byte [0x517a70], 1
test eax, eax
je 0x493a65
push eax
call fcn.004b60f4
add esp, 4
lea ecx, [eax - 0x64]
cmp ecx, 0xf3c
ja 0x493a65
mov dword [0x517a74], eax
mov eax, dword [ebp - 0x4898]
test eax, eax
je 0x493a85
push eax
call fcn.004b60f4
add esp, 4
lea ecx, [eax - 1]
cmp ecx, 0xe
ja 0x493a85
mov dword [0x517a78], eax
cmp dword [0x517a78], 0
jne 0x493a9e
cmp dword [0x517a74], 0
jne 0x493a9e
mov byte [0x517a70], 0
cmp dword [ebp - 0x4868], 0
je 0x493aae
or dword [0x5174a8], 0x10
cmp dword [ebp - 0x486c], 0
je 0x493b2f
push 0x52db14
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x52db30]
mov ecx, dword [0x52db2c]
cmp ecx, eax
je 0x493aea
push 0x52db2c
push eax
push ecx
call fcn.0041a1f0
mov eax, dword [0x52db2c]
add esp, 0xc
mov dword [0x52db30], eax
push 0
mov ecx, 0x52db14
mov dword [0x52db3c], 0
call fcn.00424eb0
cmp byte [0x52db38], 0
je 0x493b24
mov eax, dword [0x52d910]
mov ecx, 0x52db14
push 0
push dword [eax + 0x10]
push 0
push 0x9c92
call fcn.00423400
push 0x52db14
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x52e808
push 0x4f71a4
push dword [0x52e3b0]
call fcn.00469df0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
test eax, eax
je 0x493b7a
push 0
push 0x517868
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
push 0x4e4eb8
push 0x104
push 0x517868
call fcn.00468fb0
add esp, 0xc
jmp 0x493b8b
cmp dword [ebp - 0x4858], 0
je 0x493b8b
xor eax, eax
mov word [0x517868], ax
call fcn.00469ce0
test al, al
je 0x493ba2
or dword [0x5174a8], 0x40
mov byte [0x52e19f], 1
cmp dword [ebp - 0x4854], 0
je 0x493bb5
mov dword [0x517644], 1
push 2
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
call fcn.004a50e0
mov edi, dword [ebp - 0x485c]
test edi, edi
je 0x493def
mov eax, dword [ebp - 0x4850]
test eax, eax
je 0x493def
push 0x2e
push eax
call fcn.004ab2c0
add esp, 8
test eax, eax
je 0x493dde
push eax
call fcn.0049a2c0
add esp, 4
mov dword [ebp - 0x4868], eax
test eax, eax
js 0x493dde
push 0
push edi
push 0
lfence
call fcn.0048dd90
add esp, 0xc
test al, al
je 0x493553
lfence
cmp dword [ebp - 0x18], 1
mov ecx, 0x52da90
push 0
setae byte [ebp - 0x486c]
cmp dword [ebp - 0x18], 2
setae byte [ebp - 0x4854]
call fcn.004291c0
push dword [ebp - 0x4854]
mov eax, dword [ebp - 0x4868]
mov ecx, 0x52da90
push dword [ebp - 0x486c]
push 1
push dword [eax*8 + 0x517490]
xor eax, eax
cmp dword [ebp - 0x1c], eax
setne al
push eax
mov eax, dword [ebp - 0x4850]
push eax
push 0
call fcn.00431010
mov edi, eax
test edi, edi
je 0x49372f
push 0x4f7214
call fcn.004a27e0
push eax
push 0x4f7214
call fcn.004a29e0
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp edi, 5
ja case.default.0x493cb1
jmp dword [edi*4 + 0x4947f8]
push 0x4f60fc
call fcn.004a27e0
push eax
push 0x4f60fc
jmp 0x493d70
push 0x4f6138
call fcn.004a27e0
push eax
push 0x4f6138
jmp 0x493d70
push 0x4f6180
call fcn.004a27e0
push eax
push 0x4f6180
jmp 0x493d70
push 0x4f61c8
call fcn.004a27e0
push eax
push 0x4f61c8
jmp 0x493d70
mov dword [ebp - 0x18], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004692a0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x4850], ecx
test ecx, ecx
je 0x493d35
call fcn.004a26e0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 4
test ecx, ecx
je 0x493d45
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
jmp 0x493d7e
push 0x4f6288
call fcn.004a27e0
push eax
push 0x4f6288
jmp 0x493d70
push 0x4f6240
call fcn.004a27e0
push eax
push 0x4f6240
call fcn.004a29e0
mov dword [ebp - 0x4850], eax
add esp, 0xc
lea eax, [ebp - 0x4850]
push eax
lea ecx, [ebp - 0x20]
call fcn.004a25e0
mov ecx, dword [ebp - 0x4850]
mov dword [ebp - 4], 5
test ecx, ecx
je 0x493da3
call fcn.004a2a20
push 0x10
push 0x4e4e40
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.004a2380
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 4], 6
test ecx, ecx
je 0x493553
call fcn.004a2a20
jmp 0x493553
push 0x10
push 0x4e4e40
push 0x4f71c0
jmp 0x49354b
cmp dword [ebp - 0x4870], 0
jne 0x49466b
push 0x4ed648
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x52e3ac], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x24], 0xf
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0x4ed604
call fcn.004a27e0
push eax
push 0x4ed604
call fcn.004a29e0
add esp, 0xc
mov dword [ebp - 0x4858], eax
lea eax, [ebp - 0x4858]
mov ecx, 0x517a7c
push eax
call fcn.004a28e0
test eax, eax
je 0x493ecc
push 0x4e454c
call fcn.004a27e0
push eax
push 0x4e454c
call fcn.004a29e0
add esp, 0xc
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov ecx, 0x517a7c
push eax
call fcn.004a28e0
test eax, eax
jne 0x493ec3
mov eax, dword fs:[0x2c]
mov ecx, dword [0x52ee74]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x52e858]
cmp eax, dword [ecx + 0xc]
jg 0x4947b0
mov edi, dword [0x52e854]
test edi, edi
je 0x493ec3
mov ecx, edi
call dword [0x4dc8a4]
call edi
test al, al
je 0x493ec3
mov eax, 3
jmp 0x493ed1
mov byte [ebp - 0x4849], 0
jmp 0x493edc
mov eax, 1
mov byte [ebp - 0x4849], 1
test al, 2
je 0x493eef
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], 7
test ecx, ecx
je 0x493eef
call fcn.004a2a20
mov ecx, dword [ebp - 0x4858]
mov dword [ebp - 4], 8
test ecx, ecx
je 0x493f05
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
call fcn.004149e0
test al, al
je 0x493fca
cmp byte [ebp - 0x4849], 0
je 0x493f4f
call fcn.00413470
push 0
push 0x4ed604
mov ecx, eax
call fcn.00414af0
call fcn.00413470
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
mov ecx, edi
call fcn.004148d0
jmp 0x493fed
push 0x4e454c
call fcn.004a27e0
push eax
push 0x4e454c
call fcn.004a29e0
add esp, 0xc
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov ecx, 0x517a7c
push eax
call fcn.004a28e0
mov edi, eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], 9
test ecx, ecx
je 0x493f8d
call fcn.004a2a20
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x493fca
call fcn.00413470
mov ecx, 0x517a7c
mov edi, eax
call fcn.004a2380
push 0
push eax
mov ecx, edi
call fcn.00414af0
call fcn.00413470
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
mov ecx, edi
call fcn.004148d0
jmp 0x493fe8
call fcn.00413470
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
mov ecx, edi
call fcn.004148d0
cmp byte [ebp - 0x4849], 0
jne 0x493fed
call fcn.00417c40
push 0
push dword [ebp - 0x4884]
mov ecx, 0x52dc90
push 0
call fcn.0048bae0
mov eax, dword [0x51d688]
xorps xmm0, xmm0
add eax, 0x10
movlpd qword [ebp - 0x5c], xmm0
movlpd qword [ebp - 0x54], xmm0
movlpd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], 0
push eax
mov dword [ebp - 0x78], vtable.WTL::CMessageLoop.0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4854], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x52dcc4]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [edi + 8]
xor edx, edx
add ecx, 1
mov dword [ebp - 0x4870], eax
push 4
setb dl
neg edx
or edx, ecx
push edx
push dword [edi]
call fcn.004ba08d
add esp, 0xc
test eax, eax
je 0x4940d7
mov dword [edi], eax
xor ecx, ecx
mov eax, dword [edi + 8]
add eax, 1
push 4
setb cl
neg ecx
or ecx, eax
push ecx
push dword [edi + 4]
call fcn.004ba08d
add esp, 0xc
test eax, eax
je 0x4940d7
mov dword [edi + 4], eax
mov eax, dword [edi + 8]
lea ecx, [eax*4]
mov eax, dword [edi]
add eax, ecx
je 0x4940c8
mov edx, dword [ebp - 0x4870]
mov dword [eax], edx
mov eax, dword [edi + 4]
add eax, ecx
je 0x4940d4
lea ecx, [ebp - 0x78]
mov dword [eax], ecx
inc dword [edi + 8]
push dword [ebp - 0x4854]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x43c8
lea eax, [ebp - 0x4840]
push 0
push eax
call fcn.004aa220
mov edi, dword [sym.imp.USER32.dll_DefWindowProcW]
lea ecx, [ebp - 0x4800]
add esp, 0xc
mov dword [ebp - 0x4820], edi
xorps xmm0, xmm0
movups xmmword [ebp - 0x481c], xmm0
call fcn.00487b40
lea ecx, [ebp - 0x47d0]
mov dword [ebp - 0x4840], 0x4f5e50
mov dword [ebp - 0x480c], 0x4f5e64
mov dword [ebp - 0x4808], 0x4f5e6c
mov dword [ebp - 0x4804], 0x4f5e8c
call fcn.00487900
xorps xmm0, xmm0
mov dword [ebp - 0x47d0], 0x4f5e3c
push 0x1c
mov dword [ebp - 0x470c], 0
mov dword [ebp - 0x46fc], 0
mov dword [ebp - 0x46f8], 0
mov dword [ebp - 0x46f4], 0
mov dword [ebp - 0x46f0], edi
mov dword [ebp - 0x46ec], 0
mov dword [ebp - 0x46e8], 0
mov dword [ebp - 0x4710], 0x4f5da0
movups xmmword [ebp - 0x46e4], xmm0
call fcn.004a71b8
push 0x208
xorps xmm0, xmm0
push 0
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x46dc], eax
lea eax, [ebp - 0x680]
push eax
mov dword [ebp - 0x6b4], 0
mov dword [ebp - 0x6b0], 0xffffffff
mov dword [ebp - 0x6ac], 0x28
mov dword [ebp - 0x6a8], 0
movups xmmword [ebp - 0x6a4], xmm0
mov dword [ebp - 0x684], 1
movups xmmword [ebp - 0x694], xmm0
call fcn.004aa220
add esp, 0x10
push 0
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x4840]
push 0
mov dword [eax], 0
call fcn.004888b0
test eax, eax
jne 0x494249
lea edi, [eax + 1]
jmp 0x4945f0
mov edi, dword [ebp - 0x48ac]
test edi, edi
je 0x49425a
mov eax, 2
jmp 0x494268
mov eax, dword [ebp + 0x14]
mov ecx, 5
cmp eax, 1
cmove eax, ecx
push eax
push dword [ebp - 0x483c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0x483c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, 0x52db14
call fcn.00424e10
test al, al
jne 0x4943e3
test edi, edi
jne 0x4943e3
cmp dword [ebp - 0x489c], edi
jne 0x4943e3
xor eax, eax
mov dword [ebp - 0xbc], edi
mov edi, dword [0x52e3c4]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
movaps xmm0, xmmword [0x4e72b0]
mov word [ebp - 0x8f], ax
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0x90], al
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0xcc], vtable.CFilterDlg.0
mov dword [ebp - 0x8c], 0xb9
call fcn.004a893c
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x494338
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4943a2
push 0
push 0
push eax
call fcn.004a8a3e
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xc4], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x517170
mov dword [ebp - 0xc0], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x517188]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xc4]
push 0x517170
mov dword [0x517188], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, word [ebp - 0x8c]
push 1
push 0x43ef00
push edi
push eax
push dword [0x52f1b0]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x4943bf
push eax
call fcn.004b4707
add esp, 4
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
test eax, eax
je 0x4943e3
push eax
call fcn.004a89e8
lea ecx, [ebp - 0x4840]
call fcn.00460a50
push 0
push dword [0x52e3c4]
call fcn.00488610
add esp, 8
test al, al
je 0x494413
push 0
mov ecx, 0x52da90
call fcn.004291c0
jmp 0x494493
mov edi, dword [ebp - 0x485c]
test edi, edi
je 0x494451
cmp byte [0x51763d], 0
je 0x49443e
push 0
push 0x9c53
push 0x111
push dword [0x52e3c4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push edi
push dword [0x52e3c4]
call fcn.0048dd90
add esp, 0xc
jmp 0x494493
cmp dword [ebp - 0x4878], 0
jne 0x494493
cmp byte [0x52e19d], 0
jne 0x494493
mov eax, dword [ebp - 0x38]
xorps xmm0, xmm0
cmp dword [ebp - 0x2c], 0
movlpd qword [ebp - 0x28], xmm0
mov dword [ebp - 0x24], eax
setne byte [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
push 0x9c87
push 0x111
push dword [0x52e3c4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4944b1
imul eax, eax, 0x3e8
push 0
push eax
push 2
push dword [0x52e3c4]
call dword [sym.imp.USER32.dll_SetTimer]
mov edi, 1
xor esi, esi
mov dword [ebp - 0x20], edi
nop dword [eax + eax]
test edi, edi
je 0x4944fd
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x4944fd
mov eax, dword [ebp - 0x78]
push esi
inc esi
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x4dc8a4]
lea ecx, [ebp - 0x78]
call edi
neg eax
sbb eax, eax
and eax, dword [ebp - 0x20]
mov edi, eax
mov dword [ebp - 0x20], edi
jne 0x4944c4
push 0
push 0
push 0
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x4944c0
test eax, eax
je 0x494577
mov eax, dword [ebp - 0x78]
mov edi, dword [eax + 4]
lea eax, [ebp - 0x5c]
push eax
mov ecx, edi
call dword [0x4dc8a4]
lea ecx, [ebp - 0x78]
call edi
test eax, eax
jne 0x494545
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x78]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x4dc8a4]
lea ecx, [ebp - 0x78]
call edi
mov edi, dword [ebp - 0x20]
test eax, eax
mov ecx, 1
cmovne edi, ecx
xor ecx, ecx
test eax, eax
cmove ecx, esi
mov esi, ecx
jmp 0x4944b8
mov eax, dword [0x51d688]
mov edi, dword [ebp - 0x54]
add eax, 0x10
push eax
mov dword [ebp - 0x4878], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x52dcc4]
mov dword [ebp - 0x1c], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x38], eax
xor ecx, ecx
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x34]
test eax, eax
jle 0x4945d4
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov esi, dword [ebp - 0x38]
cmp dword [edx], esi
mov esi, dword [ebp - 0x34]
je 0x4945c6
inc ecx
add edx, 4
cmp ecx, eax
jl 0x4945b2
jmp 0x4945d4
cmp ecx, 0xffffffff
je 0x4945d4
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00490a40
push dword [ebp - 0x4878]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 0x52dc90
call fcn.00491fa0
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [ebp - 0x6b4]
test eax, eax
je 0x49460f
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
test eax, eax
je 0x49460f
mov dword [ebp - 0x6b4], 0
lea ecx, [ebp - 0x46dc]
call fcn.00488090
push dword [ebp - 0x46e8]
call fcn.004a71f6
mov eax, dword [ebp - 0x46fc]
add esp, 4
test eax, eax
je 0x494638
push eax
call fcn.004a89e8
lea ecx, [ebp - 0x47d0]
call fcn.00487db0
lea ecx, [ebp - 0x4800]
call fcn.00487eb0
mov eax, dword [ebp - 0x482c]
test eax, eax
je 0x49465e
push eax
call fcn.004a89e8
lea ecx, [ebp - 0x78]
call fcn.00488140
jmp 0x493558
call fcn.0046eb80
push 0
call fcn.0046f590
push 0x52e808
push 0x4f71a4
push dword [0x52e3b0]
call fcn.0046b910
add esp, 0x10
xor edi, edi
jmp 0x493558
push 0x4f6d78
mov dword [ebp - 0x2c], 0
call fcn.004a27e0
push eax
push 0x4f6d78
call fcn.004a29e0
mov edi, dword [esi + 4]
push edi
mov dword [ebp - 0x1c], eax
call fcn.004a27e0
push eax
push edi
call fcn.004a29e0
add esp, 0x18
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004a24b0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 4], 0
test ecx, ecx
je 0x4946ee
call fcn.004a2a20
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], 1
test ecx, ecx
je 0x494701
call fcn.004a2a20
push 0x10
push 0x4e4e40
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.004a2380
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], 2
test ecx, ecx
je 0x494733
call fcn.004a2a20
push 0
push 0x418240
push 0
push 0x4edc54
push dword [ebp - 0x4884]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x493553
push dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
call fcn.0041e020
mov eax, dword [eax]
test eax, eax
je 0x494767
mov eax, dword [eax]
jmp 0x494769
xor eax, eax
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push eax
push dword [ebp + 0x14]
call fcn.0046b470
add esp, 0x10
mov byte [ebp - 0x4849], al
lea ecx, [ebp - 0x24]
call fcn.00402fd0
cmp byte [ebp - 0x4849], 0
jne 0x49372f
push 0
push ecx
mov edi, esp
push 0x4f6ce0
call fcn.004a27e0
push eax
push 0x4f6ce0
jmp 0x493474
push 0x52e858
call fcn.004a74f5
add esp, 4
cmp dword [0x52e858], 0xffffffff
jne 0x493ea4
push 0x84
push 0x4e4560
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x52e858
mov dword [0x52e854], eax
call fcn.004a74a4
add esp, 4
jmp 0x493ea4