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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x46c
mov eax, dword [0x4bc1dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x114
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x158]
push 0
push eax
mov dword [ebp - 0x430], ebx
mov dword [ebp - 0x15c], 0
call fcn.00470180
add esp, 0xc
mov dword [ebp - 0x160], 0x11c
lea eax, [ebp - 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
lea eax, [ebp - 0x42c]
push eax
push 1
push 0
push 0x4a6fe0
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x45ec2c
lea eax, [ebp - 0x414]
mov dword [ebp - 0x414], 4
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x418]
push eax
push 0
push 0x4a703c
push dword [ebp - 0x42c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x42c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x4a7044
push 0x4a7058
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
test eax, eax
je 0x45ec50
push 0x490c20
call eax
push 0x4a7074
push 0x4a28b8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
mov esi, eax
mov edi, 1
test esi, esi
je 0x45ec9e
lea eax, [ebp - 0x400]
mov dword [ebp - 0x400], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
movzx eax, byte [0x4be0a3]
cmp dword [ebp - 0x400], 0
cmovne eax, edi
mov byte [0x4be0a3], al
lea eax, [ebp - 0x3f4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [0x4be2c4], ebx
lea eax, [ebp - 0x414]
mov dword [ebp - 0x414], 0x104
push eax
push 0x4be2f8
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push 0x104
push 0x4be500
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x5c
push 0x4be506
call fcn.00471537
xor ecx, ecx
push esi
mov word [eax], cx
lea eax, [ebp - 0x3f4]
push eax
push 0x497944
call fcn.0040b8d0
add esp, 0x14
test eax, eax
setne cl
test cl, cl
jne 0x45ed2a
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret 0x10
push 1
push esi
lea eax, [ebp - 0x3f4]
push eax
push 0x4a7084
call fcn.0044c300
push 0
mov edi, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7094
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a70a8
setne byte [ebp - 0x40e]
call fcn.0044c300
push 1
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a70c0
setne byte [ebp - 0x409]
call fcn.0044c300
add esp, 0x40
mov dword [ebp - 0x448], eax
lea eax, [ebp - 0x3f4]
push 1
push esi
push eax
push 0x4a70d0
call fcn.0044c300
push 1
mov dword [ebp - 0x434], eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a70e0
call fcn.0044c300
push 0
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a70f0
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7110
setne byte [ebp - 0x3fa]
call fcn.0044c300
add esp, 0x40
test eax, eax
lea eax, [ebp - 0x3f4]
setne byte [ebp - 0x40b]
push 1
push esi
push eax
push 0x4a7134
call fcn.0044c300
push 1
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7154
call fcn.0044c300
push 0
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a716c
call fcn.0044c300
push 1
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7180
setne byte [ebp - 0x407]
call fcn.0044c300
add esp, 0x40
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x3f4]
push 1
push esi
push eax
push 0x4a7198
call fcn.0044c300
push 0
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a71b4
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x497c7c
setne byte [ebp - 0x3f9]
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a71cc
setne byte [ebp - 0x40d]
call fcn.0044c300
add esp, 0x40
test eax, eax
lea eax, [ebp - 0x3f4]
setne byte [ebp - 0x408]
push 0
push esi
push eax
push 0x4a71e0
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a71f0
setne byte [ebp - 0x40f]
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7204
setne byte [ebp - 0x40a]
call fcn.0044c300
push 1
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7210
setne byte [ebp - 0x405]
call fcn.0044c300
add esp, 0x40
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0x3f4]
push 0
push esi
push eax
push 0x4a7220
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
setne bh
push 0x4a7224
mov byte [ebp - 0x40c], bh
call fcn.0044c300
add esp, 0x20
test eax, eax
setne al
test al, al
je 0x45efa4
or dword [0x4bc120], 8
push 0
push esi
lea eax, [ebp - 0x3f4]
push eax
push 0x4a7240
call fcn.0044c300
push 0
test eax, eax
lea eax, [ebp - 0x3f4]
push esi
push eax
push 0x4a7260
setne byte [ebp - 0x406]
call fcn.0044c300
add esp, 0x20
test eax, eax
setne bl
mov byte [ebp - 0x438], bl
test edi, edi
jne 0x45efff
push edi
push esi
lea eax, [ebp - 0x3f4]
push eax
push 0x490c20
call fcn.0044c300
add esp, 0x10
mov edi, eax
test bh, bh
jne 0x45f021
test edi, edi
jne 0x45f021
call fcn.004361e0
test al, al
jne 0x45f021
mov al, byte [0x4be0a3]
test al, al
je 0x45f01d
test bl, bl
jne 0x45f026
mov bh, 1
jmp 0x45f028
mov al, byte [0x4be0a3]
xor bh, bh
mov byte [ebp - 0x414], bh
test al, al
je 0x45f03a
test bl, bl
jne 0x45f03a
mov bl, 1
jmp 0x45f03c
xor bl, bl
mov byte [ebp - 0x3f8], bl
test edi, edi
je 0x45f083
test bl, bl
je 0x45f083
push 0x590
call fcn.0046f006
add esp, 4
test eax, eax
je 0x45f064
mov ecx, eax
call fcn.004156d0
jmp 0x45f066
xor eax, eax
push edi
mov ecx, eax
call fcn.00467c60
cmp eax, 0xffffffff
je 0x45f083
and al, 1
neg al
sbb al, al
and al, bl
mov bl, al
mov byte [ebp - 0x3f8], bl
test bh, bh
je 0x45f13a
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x404], 0
push eax
push 0x4a7270
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x45f0e9
lea eax, [ebp - 0x450]
mov dword [ebp - 0x450], 4
push eax
lea eax, [ebp - 0x404]
push eax
push 0
push 0
push 0x4a72e4
push dword [ebp - 0x41c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x41c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x15c], 6
jb 0x45f0fb
cmp dword [ebp - 0x404], 0
jne 0x45f13a
push 0
push ecx
mov esi, esp
push 0x4a72f8
call fcn.0046a680
push eax
push 0x4a72f8
call fcn.0046a810
add esp, 0xc
mov dword [esi], eax
call fcn.00437740
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret 0x10
test bl, bl
jne 0x45fb7a
test bh, bh
jne 0x45fb7a
mov eax, dword [ebp - 0x43c]
test eax, eax
je 0x45f169
push eax
push 0x104
push 0x4be0a8
call fcn.0046f05c
add esp, 0xc
jmp 0x45f17b
push 0x104
push 0x4be0a8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x3f8], 0
test eax, eax
je 0x45f19d
mov dword [ebp - 0x3f8], 2
mov ebx, eax
jmp 0x45f1bb
mov eax, dword [ebp - 0x434]
test eax, eax
je 0x45f1b5
mov dword [ebp - 0x3f8], 1
mov ebx, eax
jmp 0x45f1bb
mov ebx, dword [ebp - 0x448]
cmp byte [ebp - 0x40c], 0
jne 0x45fb5b
cmp dword [ebp - 0x3f4], 1
jne 0x45fac6
cmp byte [ebp - 0x3f9], 0
je 0x45f1eb
cmp dword [ebp - 0x400], 0
jne 0x45fac6
test ebx, ebx
je 0x45f20b
test edi, edi
jne 0x45f20b
push 0x10
push 0x497944
push 0x4a7438
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45f122
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x45f253
push eax
push dword [0x4be2c0]
call fcn.00446aa0
add esp, 8
test al, al
je 0x45f31c
push 0
mov ecx, 0x4bda10
call fcn.00417da0
push 0
call fcn.0043a4e0
add esp, 4
mov ecx, 0x4bda10
push 0
call fcn.00415ed0
jmp 0x45f31c
cmp byte [ebp - 0x3fa], 0
je 0x45f2b0
test ebx, ebx
jne 0x45f2b0
push 0x4a74b0
call fcn.0046a680
push eax
push 0x4a74b0
call fcn.0046a810
add esp, 0xc
mov dword [ebp - 0x404], eax
lea ecx, [ebp - 0x404]
push 0x10
push 0x497944
call fcn.0046a2c0
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x404]
test ecx, ecx
je 0x45f122
call fcn.0046a850
jmp 0x45f122
mov ecx, 0x4bda10
call fcn.004172c0
test al, al
jne 0x45f2d7
push 0x10
push 0x497944
push 0x4a7538
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45f122
cmp byte [ebp - 0x409], 0
je 0x45f331
mov ebx, dword [sym.imp.USER32.dll_FindWindowW]
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, edi
push 0
push 0x4a6f38
call ebx
test eax, eax
jne 0x45f30c
push 0x64
call edi
inc esi
cmp esi, 0x64
jl 0x45f2f0
jmp 0x45f122
push 0
push 0
push 0x8009
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 0x440]
or eax, 0xffffffff
mov dword [ebp - 0x428], eax
test ecx, ecx
je 0x45f3a1
lea eax, [ebp - 0x428]
push eax
push 0x4984c4
push ecx
call fcn.00472921
add esp, 0xc
cmp eax, 1
je 0x45f377
push 0x10
push 0x497944
push 0x4a7600
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45f122
mov eax, dword [ebp - 0x428]
test eax, eax
je 0x45f388
cmp eax, 0xe10
jbe 0x45f3a1
push 0x10
push 0x497944
push 0x4a7660
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45f122
cmp byte [ebp - 0x40b], 0
je 0x45f3cf
push eax
push 1
push 1
push 0
call fcn.0040ec00
add esp, 0x10
movzx eax, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x40e], 0
je 0x45f3fb
push 0
push 0x4a6f38
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x45f122
push 0
push 0
push 0x800a
jmp 0x45f315
push 0x4000000
mov ecx, 0x4bece4
call fcn.0044d1a0
push 0x38
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x44], 0x40
push 0
push eax
mov dword [ebp - 0x40], 0
call fcn.00470180
add esp, 0xc
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp dword [ebp - 0x15c], 6
mov ecx, dword [ebp - 0x3c]
sbb eax, eax
and eax, 0xef4f8a00
add eax, 0x1dcd6500
sub ecx, eax
mov eax, dword [ebp - 0x38]
push 0
sbb eax, 0
shld eax, ecx, 1
push 3
add ecx, ecx
push eax
push ecx
call fcn.00472390
mov dword [0x4be2d8], eax
mov dword [0x4be2dc], edx
test edx, edx
jg 0x45f48d
jl 0x45f479
cmp eax, 0x800000
jae 0x45f480
mov eax, 0x800000
jmp 0x45f492
test edx, edx
jl 0x45f49f
jg 0x45f48d
cmp eax, 0x3e800000
jb 0x45f49f
mov eax, 0x3e800000
xor edx, edx
mov dword [0x4be2d8], eax
mov dword [0x4be2dc], edx
add eax, 0x2000000
push 0x4a76cc
adc edx, 0
mov dword [0x4be2e0], eax
mov dword [0x4be2e4], edx
call fcn.0040efc0
add esp, 4
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 1
push 0x4a76f0
push 0x4a7714
push 0x4a3f0c
push dword [ebp - 0x438]
call fcn.004344c0
xor eax, eax
push 0x18e
push eax
mov word [ebp - 0x3f0], ax
lea eax, [ebp - 0x3ee]
push eax
call fcn.00470180
add esp, 0x20
lea eax, [ebp - 0x3f0]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push fcn.00452f40
call fcn.00471d8c
push 1
call fcn.0047346b
add esp, 8
push 1
push 0x4469b0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 1
push 0x1ff
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
cmp byte [0x4be0a3], 0
mov ecx, 0x4a7788
push 0
push 0x4be2b4
push 0
push 0xf003f
push 0
push 0
mov eax, 0x4a7738
cmove eax, ecx
push 0
push eax
push reloc.WS2_32.dll_accept
mov dword [0x4be2b8], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push dword [0x4be2b4]
lea ecx, [ebp - 0x424]
call fcn.00464bf0
lea eax, [ebp - 0x424]
push eax
call fcn.00465170
add esp, 4
lea ecx, [ebp - 0x424]
call fcn.00464c10
push dword [0x4be8a0]
mov ecx, 0x4bda10
call fcn.00418f30
mov esi, dword [ebp - 0x418]
test esi, esi
je 0x45f650
lea ecx, [ebp - 0x260]
call fcn.004154f0
push 0
push 1
push esi
lea ecx, [ebp - 0x260]
call fcn.00430000
test al, al
jne 0x45f619
push 0x10
push 0x497944
push 0x4a77d8
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x260]
call fcn.00415980
mov ecx, dword [ebp - 4]
mov eax, 2
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046f8ce
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x424]
call fcn.00464bd0
lea eax, [ebp - 0x424]
push eax
call fcn.00465170
add esp, 4
lea ecx, [ebp - 0x424]
call fcn.00464c10
lea ecx, [ebp - 0x260]
call fcn.00415980
cmp byte [ebp - 0x406], 0
je 0x45f660
or dword [0x4bc120], 0x10
cmp byte [ebp - 0x407], 0
je 0x45f675
push 0
mov ecx, 0x4bda94
call fcn.00457c20
push 0x4becd8
push 0x4a783c
push dword [0x4be2b4]
call fcn.004363c0
mov eax, dword [ebp - 0x400]
add esp, 0xc
test eax, eax
je 0x45f6c3
push 0
push 0x4beac0
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
push 0x4a3f0c
push 0x104
push 0x4beac0
call fcn.00435670
add esp, 0xc
jmp 0x45f6d4
cmp byte [ebp - 0x3f9], 0
je 0x45f6d4
xor eax, eax
mov word [0x4beac0], ax
call fcn.004362e0
test al, al
je 0x45f6eb
or dword [0x4bc120], 0x40
mov byte [0x4be2e9], 1
mov eax, dword [0x4be89c]
mov ecx, 1
cmp byte [ebp - 0x40d], 0
push 2
cmovne eax, ecx
mov dword [0x4be89c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
call fcn.0046c800
test edi, edi
je 0x45f849
test ebx, ebx
je 0x45f849
push 0x2e
push ebx
call fcn.004715e5
add esp, 8
test eax, eax
je 0x45f830
push eax
call fcn.0044c400
mov esi, eax
add esp, 4
test esi, esi
js 0x45f830
push 0
push edi
push 0
call fcn.00452150
add esp, 0xc
test al, al
je 0x45f122
push 0
mov ecx, 0x4bda10
call fcn.00417da0
cmp dword [ebp - 0x3f8], 2
mov ecx, 0x4bda10
setge al
cmp dword [ebp - 0x3f8], 1
movzx eax, al
push eax
setge al
movzx eax, al
push eax
xor eax, eax
cmp byte [ebp - 0x3fa], al
push 1
push dword [esi*8 + 0x4a3d08]
setne al
push eax
push ebx
push 0
call fcn.004211e0
mov esi, eax
test esi, esi
je 0x45f31c
push 0x4a78ac
call fcn.0046a680
push eax
push 0x4a78ac
call fcn.0046a810
mov dword [ebp - 0x3f8], eax
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.00459190
add esp, 0x14
lea ecx, [ebp - 0x3f8]
push eax
call fcn.0046a460
mov ecx, dword [ebp - 0x418]
test ecx, ecx
je 0x45f7fd
call fcn.0046a850
push 0x10
push 0x497944
lea ecx, [ebp - 0x3f8]
call fcn.0046a2c0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x3f8]
test ecx, ecx
je 0x45f122
call fcn.0046a850
jmp 0x45f122
push 0x10
push 0x497944
push 0x4a7858
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45f122
cmp byte [ebp - 0x40f], 0
jne 0x45fa9d
push 0x4a671c
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov ebx, dword [ebp - 0x430]
push 0x4a78e0
push ebx
mov dword [0x4be2b0], eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
push ebx
mov dword [ebp - 0x418], eax
call fcn.0044d8c0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
add esp, 4
push 0
push ebx
push 0
push 0
push 0x60
push dword [0x4bd898]
push 0x12c
call esi
push eax
push 0x60
push dword [0x4bd894]
push 0x1f4
call esi
push eax
push 0x60
push dword [0x4bd898]
push 0xc8
call esi
push eax
push 0x60
push dword [0x4bd894]
push 0x64
call esi
mov bl, byte [ebp - 0x40a]
mov ecx, 0x20000000
push eax
xor eax, eax
test bl, bl
cmovne eax, ecx
or eax, 0xcf0000
push eax
push 0x4a4128
push 0x4a6f38
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, eax
mov dword [0x4be2c0], ecx
test ecx, ecx
je 0x45f122
test bl, bl
je 0x45f916
mov eax, 2
jmp 0x45f924
mov eax, dword [ebp + 0x14]
mov edx, 5
cmp eax, 1
cmove eax, edx
push eax
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x4be2c0]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, 0x4bda94
call fcn.00413d90
test al, al
jne 0x45f970
test bl, bl
jne 0x45f970
cmp byte [ebp - 0x405], bl
jne 0x45f970
push 1
push 0x44bb30
push dword [0x4be2c0]
push 0x4a78fc
push dword [0x4be2c4]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push 0
push dword [0x4be2c0]
call fcn.00446aa0
add esp, 8
test al, al
je 0x45f992
push 0
mov ecx, 0x4bda10
call fcn.00417da0
jmp 0x45f9fe
test edi, edi
je 0x45f9ca
cmp byte [0x4be895], 0
je 0x45f9b7
push 0
push 0x9c53
push 0x111
push dword [0x4be2c0]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push edi
push dword [0x4be2c0]
call fcn.00452150
add esp, 0xc
jmp 0x45f9fe
cmp byte [ebp - 0x408], 0
jne 0x45f9fe
cmp byte [0x4be0a3], 0
jne 0x45f9fe
xor eax, eax
cmp dword [ebp - 0x400], eax
setne al
push eax
push 0x9c87
push 0x111
push dword [0x4be2c0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x428]
cmp eax, 0xffffffff
je 0x45fa20
imul eax, eax, 0x3e8
push 0
push eax
push 2
push dword [0x4be2c0]
call dword [sym.imp.USER32.dll_SetTimer]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x46c]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x45faa2
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, eax
lea eax, [ebp - 0x46c]
push eax
push dword [ebp - 0x418]
push esi
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x45fa88
lea eax, [ebp - 0x46c]
push eax
push esi
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x45fa88
lea eax, [ebp - 0x46c]
push eax
call ebx
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x46c]
push eax
call edi
test eax, eax
jne 0x45fa40
jmp 0x45faa2
call fcn.00439d90
push 0
call fcn.0043a4e0
push 0x4becd8
push 0x4a783c
push dword [0x4be2b4]
call fcn.00437310
add esp, 0x10
jmp 0x45f31c
mov esi, dword [esi + 4]
push esi
call fcn.0046a680
push eax
push esi
call fcn.0046a810
push 0x4a740c
mov dword [ebp - 0x41c], eax
call fcn.0046a680
push eax
push 0x4a740c
call fcn.0046a810
add esp, 0x18
mov dword [ebp - 0x404], eax
lea eax, [ebp - 0x41c]
lea ecx, [ebp - 0x404]
push eax
lea eax, [ebp - 0x400]
push eax
call fcn.0046a380
mov ecx, dword [ebp - 0x404]
test ecx, ecx
je 0x45fb22
call fcn.0046a850
mov ecx, dword [ebp - 0x41c]
test ecx, ecx
je 0x45fb31
call fcn.0046a850
push 0x10
push 0x497944
lea ecx, [ebp - 0x400]
call fcn.0046a2c0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x400]
test ecx, ecx
je 0x45fb5b
call fcn.0046a850
push 0
push 0x40c2c0
push 0
push 0x4a6d54
push dword [ebp - 0x430]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x45f122
push dword [ebp - 0x420]
lea ecx, [ebp - 0x420]
call fcn.00403d10
mov eax, dword [eax]
test eax, eax
je 0x45fb95
mov eax, dword [eax]
jmp 0x45fb97
xor eax, eax
push dword [ebp - 0x414]
push dword [ebp - 0x3f8]
push eax
push dword [ebp + 0x14]
call fcn.00436ed0
add esp, 0x10
lea ecx, [ebp - 0x420]
test al, al
sete bl
call fcn.00403a00
test bl, bl
je 0x45f31c
push 0
push ecx
mov esi, esp
push 0x4a7370
call fcn.0046a680
push eax
push 0x4a7370
jmp 0x45f110