Function at 0x452210
Capabilities:
Create thread
Get common file path
Inspect load icon resource
Log keystrokes via polling
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x529034]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0x10]
mov ecx, 0x53a610
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x18], eax
call fcn.00447fd0
push eax
push dword [esp + 0x14]
push ecx
lea ecx, [esp + 0xb4]
call fcn.00458910
mov ecx, eax
call fcn.00451030
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00444630
lea eax, [esp + 0xdc]
push eax
call fcn.0045e2c0
push 0x29c
call fcn.004b076d
add esp, 0x24
mov ecx, eax
call fcn.0045cc10
mov dword [0x538ecc], eax
lea ecx, [eax + 8]
call fcn.00444570
test eax, eax
jne 0x4522cf
push 0x10
lea ecx, [esp + 0xc4]
call fcn.00447fd0
push eax
push dword [esp + 0x18]
push ecx
lea ecx, [esp + 0xe8]
call fcn.00458990
mov ecx, eax
call fcn.00453160
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.00451f50
test eax, eax
jne 0x452310
push 0x10
lea ecx, [esp + 0xc4]
call fcn.00447fd0
push eax
push dword [esp + 0x18]
push ecx
lea ecx, [esp + 0xe8]
call fcn.00458b20
mov ecx, eax
call fcn.004531a0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push dword [esp + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.00458dd0
mov ecx, eax
call fcn.004531e0
xor dl, dl
mov ecx, eax
call fcn.00452140
test al, al
je 0x45311e
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x454100
push 0
push 0
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x538c68
push 0x104
call ebx
push dword [esp + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.00459000
mov ecx, eax
call fcn.00443620
push eax
push 0x53a634
mov edx, 0x51f70c
lea ecx, [esp + 0xe0]
call fcn.004457a0
add esp, 4
lea ecx, [esp + 0x8c]
mov edx, eax
call fcn.00445940
add esp, 4
lea ecx, [esp + 0x70]
push eax
call fcn.004445e0
lea ecx, [esp + 0x88]
call fcn.004445d0
lea ecx, [esp + 0xd8]
call fcn.004445d0
sub esp, 0xc
mov dword [0x5337c4], 0x2fe
lea ecx, [esp + 0xb4]
mov dword [0x5337c0], 0x20d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a5ac], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43a58000
mov dword [0x53a5b4], eax
mov dword [esp], 0x43d38000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a5f4], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43a58000
mov dword [0x53a5fc], eax
mov dword [esp], 0x440b0000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a4e0], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43a58000
mov dword [0x53a4e8], eax
mov dword [esp], 0x440b0000
call fcn.004510e0
sub esp, 0xc
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a600], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [0x53a608], eax
mov dword [esp], 0x436a0000
lea ecx, [esp + 0xb4]
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a4b0], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x430c0000
mov dword [0x53a4b8], eax
mov dword [esp], 0x43c58000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a594], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x41e80000
mov dword [0x53a59c], eax
mov dword [esp], 0x40a00000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a5a0], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43d58000
mov dword [0x53a5a8], eax
mov dword [esp], 0x41c80000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a628], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43d58000
mov dword [0x53a630], eax
mov dword [esp], 0x43ac8000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a5d0], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43d58000
mov dword [0x53a5d8], eax
mov dword [esp], 0x433a0000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a588], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43d58000
mov dword [0x53a590], eax
mov dword [esp], 0x43fd8000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a4d4], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x40c00000
mov dword [0x53a4dc], eax
mov dword [esp], 0x44398000
call fcn.004510e0
sub esp, 0xc
lea ecx, [esp + 0xb4]
movq xmm0, qword [eax]
mov dword [esp + 8], 0
movq qword [0x53a5c4], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x43ef0000
mov dword [0x53a5cc], eax
mov dword [esp], 0x41d80000
call fcn.004510e0
push str.Verdana
movq xmm0, qword [eax]
movq qword [0x53a4ec], xmm0
mov eax, dword [eax + 8]
mov dword [0x53a4f4], eax
lea eax, [esp + 0x124]
push eax
call fcn.0044cfa0
mov eax, dword [0x5337c4]
add esp, 8
mov dword [0x538c5c], eax
mov dword [0x538d74], eax
mov eax, dword [0x5337c0]
push 0
mov dword [0x538e70], 0x1e
mov dword [0x538c58], 0x1f3
mov dword [0x538d6c], 0x1a4
mov dword [0x538e68], 0xba
mov dword [0x538d70], 0xba
mov dword [0x538c60], eax
mov dword [0x538d78], eax
mov dword [esp + 0x24], 0x30
mov dword [esp + 0x28], 0x40
mov dword [esp + 0x2c], 0x455970
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov dword [esp + 0x34], eax
lea ecx, [esp + 0xc0]
movups xmmword [esp + 0x38], xmm0
call fcn.00447fd0
push 0x65
push edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
call dword [sym.imp.USER32.dll_LoadIconA]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x38], eax
call fcn.00447fd0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0x38]
lea ecx, [esp + 0xc8]
push 0
push 0
push dword [0x5337c0]
push dword [0x5337c4]
push 0x64
push 0x64
push accept
call fcn.00447fd0
push eax
push dword [esp + 0x70]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
sub esp, 8
mov dword [esp + 0x1c], eax
mov ecx, eax
call fcn.00451ee0
mov ecx, dword [0x538ecc]
add esp, 8
mov eax, dword [esp + 0x14]
mov dword [0x538ef0], eax
push dword [esp + 0x18]
mov dword [ecx + 0x254], eax
add ecx, 0x260
call fcn.004445c0
mov ecx, dword [esp + 0x14]
call fcn.004532a0
test al, al
jne 0x452869
call fcn.00453580
push dword [esp + 0x34]
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_UnregisterClassA]
lea ecx, [esp + 0x70]
call fcn.004445d0
lea ecx, [esp + 0xc0]
call fcn.004445d0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.004b0726
mov esp, ebp
pop ebp
ret 0x10
push 0xa
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.00451120
test al, al
jne 0x452899
call fcn.00453580
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x45282d
cmp dword [0x538f58], 0
mov dword [0x538ef8], 0
mov dword [0x538d7c], 0
mov dword [0x538efc], 0
mov dword [0x538d80], 0
mov dword [0x538f00], 0
mov dword [0x538d84], 0
mov dword [0x538f04], 0
mov dword [0x538d88], 0
mov dword [0x538f08], 0
mov dword [0x538d8c], 0
mov dword [0x538f0c], 0
mov dword [0x538d90], 0
mov dword [0x538f10], 0
mov dword [0x538d94], 0
mov dword [0x538f14], 0
mov dword [0x538d98], 0
mov dword [0x538f18], 0
mov dword [0x538d9c], 0
mov dword [0x538f1c], 0
mov dword [0x538da0], 0
jne 0x452997
push 0x538f58
lea eax, [esp + 0x124]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x1f4
push 0
push 0xd
push dword [0x538be8]
call fcn.004027c5
lea ecx, [esp + 0xa0]
call fcn.00450f10
cmp byte [0x538f84], 0
jne 0x4529dc
push dword [esp + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.00459070
mov ecx, eax
call fcn.00453260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00444630
mov ecx, dword [0x538ecc]
call fcn.0044d010
jmp 0x4529f9
push 0
push 0
push 0
push 0x451110
push 0
push 0
call esi
mov ecx, dword [0x538ecc]
mov dword [ecx + 0x278], eax
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x68
push edi
call esi
push 0x68
push edi
mov dword [0x53a9f4], eax
call esi
push 0x69
push edi
mov dword [0x53a9ec], eax
call esi
push dword [0x53a9f4]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x53a9e8], eax
call edi
mov eax, dword [0x538ecc]
add eax, 0x104
push eax
push 0x104
call ebx
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movd eax, xmm0
movups xmmword [esp + 0x54], xmm0
movq qword [esp + 0x64], xmm0
cmp eax, 0x12
je 0x4530c5
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0
push 0
push 0
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x452a98
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x4530ba
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x452aad
push dword [0x53a9e8]
jmp 0x452ab3
push dword [0x53a9f4]
call edi
mov eax, dword [0x538be8]
push 0
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x538be8]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x538be8]
push 0
push 0xae
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x538be8]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
push 1
push 0
push 0
push eax
call dword [ecx + 0xac]
mov eax, dword [0x538be8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x453085
mov dword [0x538eb4], 0
call fcn.00451020
movzx ecx, al
mov eax, 0x51eb851f
imul ecx, dword [0x538dec]
mov dword [0x538eb8], 0
push 0x10
mul ecx
mov eax, dword [0x538df0]
mov dword [0x538ec0], eax
mov eax, dword [0x538e70]
mov dword [0x538c54], eax
mov eax, dword [0x538e68]
mov dword [0x538d70], eax
mov eax, dword [0x538e14]
shr edx, 5
mov dword [0x538ebc], edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [0x538ec8]
test edx, edx
je 0x452ba3
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a5a0
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x24]
mov edx, dword [0x538ec4]
test edx, edx
je 0x452bc4
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a5ac
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538ef4]
test esi, esi
je 0x452c1e
call fcn.00451010
test al, al
je 0x452c03
mov eax, dword [0x538ef8]
test eax, eax
jne 0x452be7
mov edx, 0xffc8c8c8
jmp 0x452c08
cmp eax, 1
jne 0x452bf1
or edx, 0xffffffff
jmp 0x452c08
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
jmp 0x452c08
mov edx, 0xff505050
mov eax, dword [0x538e14]
push edx
push 0x53a4d4
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov edx, dword [0x538dc4]
test edx, edx
je 0x452c3f
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a594
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538c64]
test esi, esi
je 0x452cab
mov ecx, dword [0x538ecc]
lea ecx, [ecx + 0x38]
call fcn.00447fd0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x452c60
sub eax, edx
je 0x452cab
mov eax, dword [0x538f0c]
test eax, eax
jne 0x452c7b
mov edx, 0xffc8c8c8
jmp 0x452c95
cmp eax, 1
jne 0x452c85
or edx, 0xffffffff
jmp 0x452c95
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a5f4
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538dc8]
test esi, esi
je 0x452d11
mov ecx, dword [0x538ecc]
lea ecx, [ecx + 0x50]
call fcn.00447fd0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x452cc6
sub eax, edx
je 0x452d11
mov eax, dword [0x538f10]
test eax, eax
jne 0x452ce1
mov edx, 0xffc8c8c8
jmp 0x452cfb
cmp eax, 1
jne 0x452ceb
or edx, 0xffffffff
jmp 0x452cfb
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a4e0
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538e1c]
test esi, esi
je 0x452d7b
mov ecx, dword [0x538ecc]
lea ecx, [ecx + 0x68]
call fcn.00447fd0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x452d30
sub eax, edx
je 0x452d7b
mov eax, dword [0x538f14]
test eax, eax
jne 0x452d4b
mov edx, 0xffc8c8c8
jmp 0x452d65
cmp eax, 1
jne 0x452d55
or edx, 0xffffffff
jmp 0x452d65
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a600
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538c10]
test esi, esi
je 0x452dc5
mov eax, dword [0x538efc]
test eax, eax
jne 0x452d95
mov edx, 0xffc8c8c8
jmp 0x452daf
cmp eax, 1
jne 0x452d9f
or edx, 0xffffffff
jmp 0x452daf
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a628
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538be0]
test esi, esi
je 0x452e0f
mov eax, dword [0x538f00]
test eax, eax
jne 0x452ddf
mov edx, 0xffc8c8c8
jmp 0x452df9
cmp eax, 1
jne 0x452de9
or edx, 0xffffffff
jmp 0x452df9
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a5d0
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538e20]
test esi, esi
je 0x452e59
mov eax, dword [0x538f08]
test eax, eax
jne 0x452e29
mov edx, 0xffc8c8c8
jmp 0x452e43
cmp eax, 1
jne 0x452e33
or edx, 0xffffffff
jmp 0x452e43
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a588
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov esi, dword [0x538dcc]
test esi, esi
je 0x452ea3
mov eax, dword [0x538f04]
test eax, eax
jne 0x452e73
mov edx, 0xffc8c8c8
jmp 0x452e8d
cmp eax, 1
jne 0x452e7d
or edx, 0xffffffff
jmp 0x452e8d
cmp eax, 2
mov edx, 0xff505050
mov eax, 0xff969696
cmove edx, eax
mov eax, dword [0x538e14]
push edx
push 0x53a5c4
push 0
mov ecx, dword [eax]
push 0
push esi
push eax
call dword [ecx + 0x24]
mov edx, dword [0x538e18]
test edx, edx
je 0x452ec4
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a4ec
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x24]
mov edx, dword [0x538e64]
test edx, edx
je 0x452ee8
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a4ec
push 0
mov ecx, dword [eax]
push 0x538eb4
push edx
push eax
call dword [ecx + 0x24]
mov edx, dword [0x538f5c]
test edx, edx
je 0x452f09
mov eax, dword [0x538e14]
push 0xffffffffffffffff
push 0x53a4b0
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x24]
mov eax, dword [0x538e14]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x538f58]
push 0xffac752b
push 0
push 0x538c54
mov esi, dword [eax]
lea eax, [esp + 0xe4]
push 0xffffffffffffffff
push eax
call fcn.00450ff0
mov ecx, eax
call fcn.00447fd0
push eax
push 0
push dword [0x538f58]
call dword [esi + 0x38]
lea ecx, [esp + 0xd8]
call fcn.004445d0
mov edx, dword [0x538ecc]
add edx, 0xfc
mov ecx, edx
call fcn.00455e90
test eax, eax
je 0x453077
lea eax, [esp + 0x18]
mov ecx, edx
push eax
call fcn.0044eb40
lea eax, [esp + 0x10]
mov ecx, edx
push eax
call fcn.0044e270
push eax
lea ecx, [esp + 0x1c]
call fcn.00447cf0
test al, al
je 0x453077
nop word [eax + eax]
lea ecx, [esp + 0x18]
call fcn.0044e190
mov ecx, dword [0x538f58]
mov edx, 0x51f734
push 0xffac752b
push 0
push 0x538d6c
mov esi, dword [ecx]
lea ecx, [eax + 4]
push 0xffffffffffffffff
push ecx
add eax, 0x34
lea ecx, [esp + 0xbc]
push 0x51f730
push eax
call fcn.004457a0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, eax
call fcn.00445940
add esp, 4
lea ecx, [esp + 0xec]
mov edx, eax
call fcn.0044f9f0
add esp, 4
mov ecx, eax
call fcn.00447fd0
push eax
push 0
push dword [0x538f58]
call dword [esi + 0x38]
lea ecx, [esp + 0xd8]
call fcn.004445d0
lea ecx, [esp + 0x88]
call fcn.004445d0
lea ecx, [esp + 0xa8]
call fcn.004445d0
add dword [0x538d70], 0x23
lea eax, [esp + 0x6c]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00455f80
mov ecx, dword [0x538ecc]
lea eax, [esp + 0x10]
push eax
lea ecx, [ecx + 0xfc]
call fcn.0044e270
push eax
lea ecx, [esp + 0x1c]
call fcn.00447cf0
test al, al
jne 0x452fa0
mov eax, dword [0x538be8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov eax, dword [0x538be8]
push 0
push 0
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x44]
cmp eax, 0x88760868
jne 0x4530b6
mov eax, dword [0x538be8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x4530b6
call fcn.004535c0
push 0xa
call ebx
cmp dword [esp + 0x54], 0x12
jne 0x452a66
call fcn.00453580
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x34]
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_UnregisterClassA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x70]
call fcn.004445d0
lea ecx, [esp + 0xc0]
call fcn.004445d0
mov ecx, dword [esp + 0x13c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b0726
mov esp, ebp
pop ebp
ret 0x10
push 0x30
lea ecx, [esp + 0xc4]
call fcn.00447fd0
push eax
push dword [esp + 0x18]
push ecx
lea ecx, [esp + 0xe8]
call fcn.00458e60
mov ecx, eax
call fcn.00453220
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.004bd105
int3