Function at 0x41dc70
Capabilities:
Check mutex on windows
Contain obfuscated stackstrings
Create thread
Encode data using xor
Get common file path
Log keystrokes via polling
Parse pe header
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb18
mov eax, dword [0x4da080]
xor eax, esp
mov dword [esp + 0xb14], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
movaps xmm0, xmmword [0x4d41d0]
push esi
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [esp + 0x1fc], eax
movups xmmword [esp + 0x3a4], xmm0
mov word [esp + 0x3b4], 0xe
nop dword [eax + eax]
mov al, byte [esp + 0x3a4]
xor byte [esp + ecx + 0x3a5], al
inc ecx
cmp ecx, 0x10
jb 0x41dcc0
lea eax, [esp + 0x3a5]
mov byte [esp + 0x3b5], 0
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x41dd13
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xb14]
xor ecx, esp
call fcn.00472d8e
mov esp, ebp
pop ebp
ret 0x10
push 0x4ddd80
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movaps xmm0, xmmword [0x4d42c0]
xor ecx, ecx
movups xmmword [esp + 0x1e4], xmm0
mov dword [esp + 0x1f4], 0x7c717a77
mov word [esp + 0x1f8], 0x456b
mov byte [esp + 0x1fa], 0
mov al, byte [esp + 0x1e4]
xor byte [esp + ecx + 0x1e5], al
inc ecx
cmp ecx, 0x15
jb 0x41dd51
lea eax, [esp + 0x1e5]
mov byte [esp + 0x1fa], 0
push eax
lea ecx, [esp + 0xabc]
call fcn.004066b0
mov al, 0x45
mov byte [esp + 0xb8], 0x27
mov ah, al
mov byte [esp + 0xbf], 0
xor al, byte [esp + 0xb8]
mov cl, 0x40
mov byte [esp + 0xb9], al
mov dl, 9
mov al, byte [esp + 0xb8]
mov ch, 0x4a
xor ah, al
mov byte [esp + 0xbf], 0
mov dh, 0x57
mov byte [esp + 0xbc], ah
xor cl, al
xor ch, al
xor dl, al
mov byte [esp + 0xba], cl
xor dh, al
mov byte [esp + 0xbd], ch
lea eax, [esp + 0xab8]
mov byte [esp + 0xbb], dl
push eax
push 0x4ddd80
lea ecx, [esp + 0x658]
mov byte [esp + 0xc6], dh
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x63c]
call fcn.00407e70
lea ecx, [esp + 0xbd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41de20
sub ecx, esi
lea eax, [esp + 0xb9]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x414]
call fcn.00406630
lea ecx, [esp + 0x410]
call fcn.00402810
push 0x10
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
lea ecx, [esp + 0x410]
call fcn.00402850
lea ecx, [esp + 0x638]
call fcn.00402850
lea ecx, [esp + 0x650]
call fcn.00402850
movaps xmm0, xmmword [0x4d3ed0]
xor ecx, ecx
movups xmmword [esp + 0x228], xmm0
mov byte [esp + 0x238], 0
mov al, byte [esp + 0x228]
xor byte [esp + ecx + 0x229], al
inc ecx
cmp ecx, 0xf
jb 0x41dea0
lea eax, [esp + 0xab8]
mov byte [esp + 0x238], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x688]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x66c]
call fcn.00407e70
lea ecx, [esp + 0x22d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41def2
sub ecx, esi
lea eax, [esp + 0x229]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x42c]
call fcn.00406630
lea ecx, [esp + 0x428]
call fcn.00402810
push eax
mov ah, 0x56
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov cl, 1
mov byte [esp + 0xd8], 0x10
xor cl, ah
mov byte [esp + 0x12], 0x55
mov al, 0x1e
mov byte [esp + 0x1d1], cl
xor al, ah
mov byte [esp + 0x1d0], ah
mov byte [esp + 0x1d5], al
mov cl, 0x51
xor cl, byte [esp + 0xd8]
mov al, 0x5c
xor al, byte [esp + 0xd8]
mov dl, 0x1f
mov byte [esp + 0xd9], al
xor dl, ah
mov al, byte [esp + 0x12]
mov ch, 0x12
xor ch, ah
mov byte [esp + 0xda], cl
mov cl, byte [esp + 0xd8]
mov dh, 2
xor dh, ah
mov byte [esp + 0x13], 0x42
xor al, cl
mov byte [esp + 0x1d2], dl
mov byte [esp + 0xdf], al
mov ah, 0x5e
mov al, byte [esp + 0x13]
xor ah, cl
xor al, cl
mov byte [esp + 0xdc], ah
mov byte [esp + 0xe0], al
mov dl, 0x45
push 0x322
mov byte [esp + 0x1d7], ch
lea eax, [esp + 0x1d5]
mov byte [esp + 0x1d8], dh
mov ch, 0x53
push eax
mov dh, 0x58
mov byte [esp + 0x1de], 0
lea eax, [esp + 0xe1]
mov byte [esp + 0xe9], 0
xor dl, cl
mov byte [esp + 0x1de], 0
xor ch, cl
mov byte [esp + 0xe3], dl
xor dh, cl
mov byte [esp + 0xe5], ch
push eax
mov byte [esp + 0xea], dh
mov byte [esp + 0xed], 0
call edi
lea ecx, [esp + 0x428]
mov dword [0x4dbea0], eax
call fcn.00402850
lea ecx, [esp + 0x668]
call fcn.00402850
lea ecx, [esp + 0x680]
call fcn.00402850
movaps xmm0, xmmword [str.l9_4__t]
xor ecx, ecx
movups xmmword [esp + 0x200], xmm0
mov byte [esp + 0x210], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x200]
xor byte [esp + ecx + 0x201], al
inc ecx
cmp ecx, 0xf
jb 0x41e070
lea eax, [esp + 0xab8]
mov byte [esp + 0x210], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x6b8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x69c]
call fcn.00407e70
lea ecx, [esp + 0x205]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e0c2
sub ecx, esi
lea eax, [esp + 0x201]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x444]
call fcn.00406630
lea ecx, [esp + 0x440]
call fcn.00402810
push eax
mov cl, 0x27
mov byte [esp + 0xf0], 0x6f
mov al, cl
mov byte [esp + 0xe4], 0x44
xor cl, byte [esp + 0xf0]
mov dl, 0x2a
mov byte [esp + 0xf1], cl
mov ch, 0x26
mov cl, byte [esp + 0xf0]
mov dh, 0x28
xor al, cl
mov byte [esp + 0x13], 1
mov byte [esp + 0xf5], al
xor dl, cl
xor ch, cl
mov byte [esp + 0x12], 0x16
xor dh, cl
mov byte [esp + 0xf2], dl
mov ah, 0x3b
mov byte [esp + 0xf3], ch
xor ah, cl
mov byte [esp + 0xf4], dh
mov al, 8
mov byte [esp + 0xf6], ah
xor al, byte [esp + 0xe4]
mov cl, 5
xor cl, byte [esp + 0xe4]
mov ah, 0xa
mov byte [esp + 0xe5], al
mov dl, 0x11
mov al, byte [esp + 0x13]
mov ch, 7
mov byte [esp + 0xe6], cl
mov dh, 0xc
mov cl, byte [esp + 0xe4]
xor al, cl
mov byte [esp + 0xf7], 0
mov byte [esp + 0xeb], al
xor ah, cl
mov al, byte [esp + 0x12]
xor dl, cl
xor al, cl
mov byte [esp + 0xe8], ah
mov byte [esp + 0xec], al
xor ch, cl
push 0x252
lea eax, [esp + 0xf5]
mov byte [esp + 0xf1], 0
push eax
lea eax, [esp + 0xed]
mov byte [esp + 0xff], 0
xor dh, cl
mov byte [esp + 0xef], dl
push eax
mov byte [esp + 0xf5], ch
mov byte [esp + 0xf6], dh
mov byte [esp + 0xf9], 0
call edi
lea ecx, [esp + 0x440]
mov dword [0x4dbf18], eax
call fcn.00402850
lea ecx, [esp + 0x698]
call fcn.00402850
lea ecx, [esp + 0x6b0]
call fcn.00402850
movaps xmm0, xmmword [0x4d43c0]
xor ecx, ecx
movups xmmword [esp + 0x214], xmm0
mov byte [esp + 0x224], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x214]
xor byte [esp + ecx + 0x215], al
inc ecx
cmp ecx, 0xf
jb 0x41e250
lea eax, [esp + 0xab8]
mov byte [esp + 0x224], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x6e8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x6cc]
call fcn.00407e70
lea ecx, [esp + 0x219]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e2a2
sub ecx, esi
lea eax, [esp + 0x215]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x45c]
call fcn.00406630
lea ecx, [esp + 0x458]
call fcn.00402810
push eax
mov al, 0x2e
mov byte [esp + 0x86], 0
mov byte [esp + 0x84], al
mov cl, 0x76
xor cl, al
mov byte [esp + 0xd3], 0
mov ah, 0x54
mov byte [esp + 0x85], cl
mov al, 0x16
mov byte [esp + 0xd0], ah
xor al, ah
mov byte [esp + 0x86], 0
mov cl, 0x13
mov byte [esp + 0xd1], al
xor cl, ah
mov byte [esp + 0xd3], 0
push 0
lea eax, [esp + 0x89]
mov byte [esp + 0xd6], cl
push eax
lea eax, [esp + 0xd9]
push eax
call edi
lea ecx, [esp + 0x458]
mov edi, eax
call fcn.00402850
lea ecx, [esp + 0x6c8]
call fcn.00402850
lea ecx, [esp + 0x6e0]
call fcn.00402850
movaps xmm0, xmmword [0x4d3f10]
xor ecx, ecx
movups xmmword [esp + 0x2dc], xmm0
mov byte [esp + 0x2ec], 0
nop dword [eax + eax]
mov al, byte [esp + 0x2dc]
xor byte [esp + ecx + 0x2dd], al
inc ecx
cmp ecx, 0xf
jb 0x41e380
lea eax, [esp + 0xab8]
mov byte [esp + 0x2ec], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x718]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x6fc]
call fcn.00407e70
lea ecx, [esp + 0x2e1]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e3d2
sub ecx, esi
lea eax, [esp + 0x2dd]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x474]
call fcn.00406630
lea ecx, [esp + 0x470]
call fcn.00402810
push eax
mov al, 0x66
mov byte [esp + 0x8a], 0
mov byte [esp + 0x88], al
mov cl, 0x3f
xor cl, al
mov byte [esp + 0xd7], 0
mov ah, 0x16
mov byte [esp + 0x89], cl
mov al, 0x54
mov byte [esp + 0xd4], ah
xor al, ah
mov byte [esp + 0x8a], 0
mov cl, 0x51
mov byte [esp + 0xd5], al
xor cl, ah
mov byte [esp + 0xd7], 0
push 0
lea eax, [esp + 0x8d]
mov byte [esp + 0xda], cl
push eax
lea eax, [esp + 0xdd]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x470]
mov esi, eax
call fcn.00402850
lea ecx, [esp + 0x6f8]
call fcn.00402850
lea ecx, [esp + 0x710]
call fcn.00402850
movaps xmm0, xmmword [0x4d4220]
xor ecx, ecx
movd xmm2, edi
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e0]
mov dword [0x4de0c8], eax
mov byte [esp + 0x24c], 0
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x23c], xmm0
unpcklps xmm2, xmm1
movq qword [0x4de0c0], xmm2
nop
mov al, byte [esp + 0x23c]
xor byte [esp + ecx + 0x23d], al
inc ecx
cmp ecx, 0xf
jb 0x41e4e0
lea eax, [esp + 0xab8]
mov byte [esp + 0x24c], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x748]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x72c]
call fcn.00407e70
lea ecx, [esp + 0x241]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e532
sub ecx, esi
lea eax, [esp + 0x23d]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x3e4]
call fcn.00406630
lea ecx, [esp + 0x3e0]
call fcn.00402810
mov edx, eax
mov byte [esp + 0x8a], 0
mov al, 0x43
mov byte [esp + 0x8a], 0
mov cl, 0x1b
mov byte [esp + 0x88], al
xor cl, al
mov dword [esp + 0x174], 0x485d5a09
mov byte [esp + 0x89], cl
xor eax, eax
mov cl, 9
mov dword [esp + 0x178], 0x4b565d5b
mov dword [esp + 0x17c], 0x465d5d5c
mov word [esp + 0x180], 0x47
nop dword [eax]
xor byte [esp + eax + 0x175], cl
inc eax
cmp eax, 0xc
jae 0x41e5d6
mov cl, byte [esp + 0x174]
jmp 0x41e5c0
push edx
push 0x260
lea eax, [esp + 0x91]
mov byte [esp + 0x189], 0
push eax
lea eax, [esp + 0x181]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x3e0]
mov edi, eax
call fcn.00402850
lea ecx, [esp + 0x728]
call fcn.00402850
lea ecx, [esp + 0x740]
call fcn.00402850
movaps xmm0, xmmword [0x4d4190]
xor ecx, ecx
movups xmmword [esp + 0x250], xmm0
mov byte [esp + 0x260], 0
nop dword [eax]
mov al, byte [esp + 0x250]
xor byte [esp + ecx + 0x251], al
inc ecx
cmp ecx, 0xf
jb 0x41e640
lea eax, [esp + 0xab8]
mov byte [esp + 0x260], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x778]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x75c]
call fcn.00407e70
lea ecx, [esp + 0x255]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e692
sub ecx, esi
lea eax, [esp + 0x251]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x4a4]
call fcn.00406630
lea ecx, [esp + 0x4a0]
call fcn.00402810
mov edx, eax
mov byte [esp + 0x8e], 0
mov al, 0x3b
mov byte [esp + 0x8e], 0
mov cl, 0x62
mov byte [esp + 0x8c], al
xor cl, al
mov dword [esp + 0x184], 0x75606734
mov byte [esp + 0x8d], cl
xor eax, eax
mov cl, 0x34
mov dword [esp + 0x188], 0x766b6066
mov dword [esp + 0x18c], 0x7b606061
mov word [esp + 0x190], 0x7a
nop dword [eax]
xor byte [esp + eax + 0x185], cl
inc eax
cmp eax, 0xc
jae 0x41e736
mov cl, byte [esp + 0x184]
jmp 0x41e720
push edx
push 0x1fd
lea eax, [esp + 0x95]
mov byte [esp + 0x199], 0
push eax
lea eax, [esp + 0x191]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x4a0]
mov esi, eax
call fcn.00402850
lea ecx, [esp + 0x758]
call fcn.00402850
lea ecx, [esp + 0x770]
call fcn.00402850
movd xmm1, edi
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e0]
mov dword [0x4dbeac], eax
mov byte [esp + 0x274], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [str.g2._4]
movq qword [0x4dbea4], xmm1
movups xmmword [esp + 0x264], xmm0
nop dword [eax]
mov al, byte [esp + 0x264]
xor byte [esp + ecx + 0x265], al
inc ecx
cmp ecx, 0xf
jb 0x41e7d0
lea eax, [esp + 0xab8]
mov byte [esp + 0x274], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x7a8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x78c]
call fcn.00407e70
lea ecx, [esp + 0x269]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e822
sub ecx, esi
lea eax, [esp + 0x265]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x4bc]
call fcn.00406630
lea ecx, [esp + 0x4b8]
call fcn.00402810
movaps xmm0, xmmword [0x4d4390]
mov edx, eax
mov al, 0x3e
mov byte [esp + 0x92], 0
mov cl, 0x66
mov byte [esp + 0x90], al
xor cl, al
mov byte [esp + 0x92], 0
mov byte [esp + 0x91], cl
xor ecx, ecx
movups xmmword [esp + 0x3cc], xmm0
mov byte [esp + 0x3dc], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x3cc]
xor byte [esp + ecx + 0x3cd], al
inc ecx
cmp ecx, 0xf
jb 0x41e8a0
push edx
push 0xa1
lea eax, [esp + 0x99]
mov byte [esp + 0x3e4], 0
push eax
lea eax, [esp + 0x3d9]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x4b8]
mov edi, eax
call fcn.00402850
lea ecx, [esp + 0x788]
call fcn.00402850
lea ecx, [esp + 0x7a0]
call fcn.00402850
movaps xmm0, xmmword [0x4d3fd0]
xor ecx, ecx
movups xmmword [esp + 0x278], xmm0
mov byte [esp + 0x288], 0
nop word [eax + eax]
mov al, byte [esp + 0x278]
xor byte [esp + ecx + 0x279], al
inc ecx
cmp ecx, 0xf
jb 0x41e920
lea eax, [esp + 0xab8]
mov byte [esp + 0x288], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x7d8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x7bc]
call fcn.00407e70
lea ecx, [esp + 0x27d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e972
sub ecx, esi
lea eax, [esp + 0x279]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x4d4]
call fcn.00406630
lea ecx, [esp + 0x4d0]
call fcn.00402810
movaps xmm0, xmmword [0x4d4130]
mov edx, eax
mov al, 0x2d
mov byte [esp + 0x96], 0
mov cl, 0x74
mov byte [esp + 0x94], al
xor cl, al
mov byte [esp + 0x96], 0
mov byte [esp + 0x95], cl
xor ecx, ecx
movups xmmword [esp + 0x3b8], xmm0
mov byte [esp + 0x3c8], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x3b8]
xor byte [esp + ecx + 0x3b9], al
inc ecx
cmp ecx, 0xf
jb 0x41e9f0
push edx
push 0x1ff
lea eax, [esp + 0x9d]
mov byte [esp + 0x3d0], 0
push eax
lea eax, [esp + 0x3c5]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x4d0]
mov esi, eax
call fcn.00402850
lea ecx, [esp + 0x7b8]
call fcn.00402850
lea ecx, [esp + 0x7d0]
call fcn.00402850
movd xmm1, edi
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e0]
mov dword [0x4dbf90], eax
mov byte [esp + 0x29c], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d42e0]
movq qword [0x4dbf88], xmm1
movups xmmword [esp + 0x28c], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x28c]
xor byte [esp + ecx + 0x28d], al
inc ecx
cmp ecx, 0xf
jb 0x41eaa0
lea eax, [esp + 0xab8]
mov byte [esp + 0x29c], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x808]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x7ec]
call fcn.00407e70
lea ecx, [esp + 0x291]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eaf2
sub ecx, esi
lea eax, [esp + 0x28d]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x4ec]
call fcn.00406630
lea ecx, [esp + 0x4e8]
call fcn.00402810
mov edx, eax
mov byte [esp + 0x9a], 0
mov al, 0x34
mov byte [esp + 0x9a], 0
mov cl, 0x6c
mov byte [esp + 0x98], al
xor cl, al
mov dword [esp + 0x194], 0x2e2d2261
mov byte [esp + 0x99], cl
xor eax, eax
mov cl, 0x61
mov dword [esp + 0x198], 0x233e2432
mov dword [esp + 0x19c], 0x2e353534
mov word [esp + 0x1a0], 0x2f
nop dword [eax]
xor byte [esp + eax + 0x195], cl
inc eax
cmp eax, 0xc
jae 0x41eb96
mov cl, byte [esp + 0x194]
jmp 0x41eb80
push edx
push 0x2fd
lea eax, [esp + 0xa1]
mov byte [esp + 0x1a9], 0
push eax
lea eax, [esp + 0x1a1]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x4e8]
mov edi, eax
call fcn.00402850
lea ecx, [esp + 0x7e8]
call fcn.00402850
lea ecx, [esp + 0x800]
call fcn.00402850
movaps xmm0, xmmword [0x4d4120]
xor ecx, ecx
movups xmmword [esp + 0x2a0], xmm0
mov byte [esp + 0x2b0], 0
nop dword [eax]
mov al, byte [esp + 0x2a0]
xor byte [esp + ecx + 0x2a1], al
inc ecx
cmp ecx, 0xf
jb 0x41ec00
lea eax, [esp + 0xab8]
mov byte [esp + 0x2b0], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x838]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x81c]
call fcn.00407e70
lea ecx, [esp + 0x2a5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ec52
sub ecx, esi
lea eax, [esp + 0x2a1]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x504]
call fcn.00406630
lea ecx, [esp + 0x500]
call fcn.00402810
mov edx, eax
mov byte [esp + 0x9e], 0
mov al, 0x24
mov byte [esp + 0x9e], 0
mov cl, 0x7d
mov byte [esp + 0x9c], al
xor cl, al
mov dword [esp + 0x1a4], 0x67646b28
mov byte [esp + 0x9d], cl
xor eax, eax
mov cl, 0x28
mov dword [esp + 0x1a8], 0x6a776d7b
mov dword [esp + 0x1ac], 0x677c7c7d
mov word [esp + 0x1b0], 0x66
nop dword [eax]
xor byte [esp + eax + 0x1a5], cl
inc eax
cmp eax, 0xc
jae 0x41ecf6
mov cl, byte [esp + 0x1a4]
jmp 0x41ece0
push edx
push 3
lea eax, [esp + 0xa5]
mov byte [esp + 0x1b9], 0
push eax
lea eax, [esp + 0x1b1]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x500]
mov esi, eax
call fcn.00402850
lea ecx, [esp + 0x818]
call fcn.00402850
lea ecx, [esp + 0x830]
call fcn.00402850
movd xmm1, edi
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e0]
mov dword [0x4dbf24], eax
mov byte [esp + 0x2c4], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [str.n_6_v]
movq qword [0x4dbf1c], xmm1
movups xmmword [esp + 0x2b4], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x2b4]
xor byte [esp + ecx + 0x2b5], al
inc ecx
cmp ecx, 0xf
jb 0x41ed90
lea eax, [esp + 0xab8]
mov byte [esp + 0x2c4], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x868]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x84c]
call fcn.00407e70
lea ecx, [esp + 0x2b9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ede2
sub ecx, esi
lea eax, [esp + 0x2b5]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x51c]
call fcn.00406630
lea ecx, [esp + 0x518]
call fcn.00402810
mov edx, eax
mov byte [esp + 0xa2], 0
mov al, 0x17
mov byte [esp + 0xa2], 0
mov cl, 0x4f
mov byte [esp + 0xa0], al
xor cl, al
mov dword [esp + 0x138], 0x5f424010
mov byte [esp + 0xa1], cl
xor eax, eax
mov cl, 0x10
mov dword [esp + 0x13c], 0x43554257
mov dword [esp + 0x140], 0x42515243
mov byte [esp + 0x144], 0
nop word [eax + eax]
xor byte [esp + eax + 0x139], cl
inc eax
cmp eax, 0xb
jae 0x41ee86
mov cl, byte [esp + 0x138]
jmp 0x41ee70
push edx
push 0x18
lea eax, [esp + 0xa9]
mov byte [esp + 0x14c], 0
push eax
lea eax, [esp + 0x145]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x518]
mov edi, eax
call fcn.00402850
lea ecx, [esp + 0x848]
call fcn.00402850
lea ecx, [esp + 0x860]
call fcn.00402850
movaps xmm0, xmmword [0x4d41e0]
xor ecx, ecx
movups xmmword [esp + 0x2c8], xmm0
mov byte [esp + 0x2d8], 0
nop word [eax + eax]
mov al, byte [esp + 0x2c8]
xor byte [esp + ecx + 0x2c9], al
inc ecx
cmp ecx, 0xf
jb 0x41eef0
lea eax, [esp + 0xab8]
mov byte [esp + 0x2d8], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x898]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x87c]
call fcn.00407e70
lea ecx, [esp + 0x2cd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ef42
sub ecx, esi
lea eax, [esp + 0x2c9]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x534]
call fcn.00406630
lea ecx, [esp + 0x530]
call fcn.00402810
mov edx, eax
mov byte [esp + 0xa6], 0
mov al, 0x77
mov byte [esp + 0xa6], 0
mov cl, 0x2e
mov byte [esp + 0xa4], al
xor cl, al
mov dword [esp + 0x148], 0x1c010353
mov byte [esp + 0xa5], cl
xor eax, eax
mov cl, 0x53
mov dword [esp + 0x14c], 0x160114
mov dword [esp + 0x150], 0x1121100
mov byte [esp + 0x154], 0
nop word [eax + eax]
xor byte [esp + eax + 0x149], cl
inc eax
cmp eax, 0xb
jae 0x41efe6
mov cl, byte [esp + 0x148]
jmp 0x41efd0
push edx
push 0x22d
lea eax, [esp + 0xad]
mov byte [esp + 0x15c], 0
push eax
lea eax, [esp + 0x155]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x530]
mov esi, eax
call fcn.00402850
lea ecx, [esp + 0x878]
call fcn.00402850
lea ecx, [esp + 0x890]
call fcn.00402850
movd xmm1, edi
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e0]
mov dword [0x4dbecc], eax
mov byte [esp + 0x3a0], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d4150]
movq qword [0x4dbec4], xmm1
movups xmmword [esp + 0x390], xmm0
nop dword [eax]
mov al, byte [esp + 0x390]
xor byte [esp + ecx + 0x391], al
inc ecx
cmp ecx, 0xf
jb 0x41f080
lea eax, [esp + 0xab8]
mov byte [esp + 0x3a0], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x8c8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x8ac]
call fcn.00407e70
lea ecx, [esp + 0x395]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f0d2
sub ecx, esi
lea eax, [esp + 0x391]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x54c]
call fcn.00406630
lea ecx, [esp + 0x548]
call fcn.00402810
push eax
mov byte [esp + 0x16c], 0x52
mov cl, 0x14
xor cl, byte [esp + 0x16c]
mov al, 0xd
mov byte [esp + 0x16d], cl
mov ch, 0x1c
mov cl, byte [esp + 0x16c]
mov ah, 1
xor al, cl
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [esp + 0x171], al
xor ah, cl
mov byte [esp + 0x13], 0x1b
xor ch, cl
mov al, byte [esp + 0x13]
mov dl, 0x1d
xor al, cl
mov byte [esp + 0x12], 8
mov byte [esp + 0x173], al
xor dl, cl
mov al, byte [esp + 0x12]
mov dh, 6
xor al, cl
mov byte [esp + 0x11], 0x17
mov byte [esp + 0x174], al
xor dh, cl
mov al, byte [esp + 0x11]
xor al, cl
mov byte [esp + 0x172], ah
mov byte [esp + 0x175], al
mov ah, 0x43
mov byte [esp + 0x16f], ch
mov al, 0x51
mov ch, 0x17
mov byte [esp + 0x16e], dl
xor al, ch
mov byte [esp + 0x176], 0
xor ah, ch
mov byte [esp + 0x1b9], al
mov byte [esp + 0x1bc], ah
mov cl, 0x58
push 0xe
lea eax, [esp + 0x171]
mov byte [esp + 0x1c1], 0
push eax
mov dl, 0x59
mov byte [esp + 0x178], dh
lea eax, [esp + 0x1c1]
mov byte [esp + 0x17e], 0
xor cl, ch
mov byte [esp + 0x1c0], ch
xor dl, ch
mov byte [esp + 0x1c2], cl
push eax
mov byte [esp + 0x1c7], dl
mov byte [esp + 0x1c9], 0
call edi
lea ecx, [esp + 0x548]
mov dword [esp + 0x1d4], eax
call fcn.00402850
lea ecx, [esp + 0x8a8]
call fcn.00402850
lea ecx, [esp + 0x8c0]
call fcn.00402850
movaps xmm0, xmmword [str.l9_4__t]
xor ecx, ecx
movups xmmword [esp + 0x2f0], xmm0
mov byte [esp + 0x300], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x2f0]
xor byte [esp + ecx + 0x2f1], al
inc ecx
cmp ecx, 0xf
jb 0x41f250
lea eax, [esp + 0xab8]
mov byte [esp + 0x300], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x8f8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x8dc]
call fcn.00407e70
lea ecx, [esp + 0x2f5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f2a2
sub ecx, esi
lea eax, [esp + 0x2f1]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x48c]
call fcn.00406630
lea ecx, [esp + 0x488]
call fcn.00402810
mov esi, eax
mov dword [esp + 0x158], 0x19181157
mov cl, 0x57
mov dword [esp + 0x15c], 0x12000803
mov dword [esp + 0x160], 0x31f101e
xor eax, eax
mov byte [esp + 0x164], 0
xor byte [esp + eax + 0x159], cl
inc eax
cmp eax, 0xb
jae 0x41f319
mov cl, byte [esp + 0x158]
jmp 0x41f303
mov ch, 0x49
mov byte [esp + 0x1c1], 0
mov al, 0xf
mov byte [esp + 0x164], 0
mov ah, 0x1d
mov byte [esp + 0x1bc], ch
xor al, ch
mov byte [esp + 0x1c1], 0
xor ah, ch
mov byte [esp + 0x1bd], al
push esi
mov byte [esp + 0x1c4], ah
mov cl, 6
push 0x1f4
lea eax, [esp + 0x161]
mov dl, 7
push eax
lea eax, [esp + 0x1c9]
xor cl, ch
xor dl, ch
mov byte [esp + 0x1ca], cl
push eax
mov byte [esp + 0x1cf], dl
call edi
lea ecx, [esp + 0x488]
call fcn.00402850
lea ecx, [esp + 0x8d8]
call fcn.00402850
lea ecx, [esp + 0x8f0]
call fcn.00402850
movaps xmm0, xmmword [0x4d4010]
xor ecx, ecx
movups xmmword [esp + 0x304], xmm0
mov byte [esp + 0x314], 0
nop dword [eax + eax]
mov al, byte [esp + 0x304]
xor byte [esp + ecx + 0x305], al
inc ecx
cmp ecx, 0xf
jb 0x41f3c0
lea eax, [esp + 0xab8]
mov byte [esp + 0x314], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x928]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x90c]
call fcn.00407e70
lea ecx, [esp + 0x309]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f412
sub ecx, esi
lea eax, [esp + 0x305]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x57c]
call fcn.00406630
lea ecx, [esp + 0x578]
call fcn.00402810
push eax
mov byte [esp + 0xf8], 0x12
mov cl, 0x54
xor cl, byte [esp + 0xf8]
mov ch, 0x5f
mov byte [esp + 0xf9], cl
mov al, 0x5e
mov cl, byte [esp + 0xf8]
mov ah, 0x4b
xor al, cl
mov byte [esp + 0xff], 0
xor ah, cl
mov byte [esp + 0xfd], al
xor ch, cl
mov byte [esp + 0xfe], ah
mov byte [esp + 0xfb], ch
mov al, 0x59
mov ch, 0x1f
mov byte [esp + 0x1cd], 0
xor al, ch
mov byte [esp + 0xff], 0
mov ah, 0x4b
mov byte [esp + 0x1c9], al
xor ah, ch
mov byte [esp + 0x1c8], ch
mov byte [esp + 0x1cc], ah
mov dl, 0x53
push 0x19
xor dl, cl
mov byte [esp + 0x1d1], 0
lea eax, [esp + 0xb08]
mov byte [esp + 0xfe], dl
push eax
mov dh, 0x5b
lea eax, [esp + 0x101]
xor dh, cl
mov dl, 0x51
push str.Verdana
push eax
mov cl, 0x50
mov byte [esp + 0x10c], dh
lea eax, [esp + 0x1d9]
xor cl, ch
xor dl, ch
mov byte [esp + 0x1da], cl
push eax
mov byte [esp + 0x1df], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x578]
call fcn.00402850
lea ecx, [esp + 0x908]
call fcn.00402850
lea ecx, [esp + 0x920]
call fcn.00402850
movaps xmm0, xmmword [0x4d3f60]
xor ecx, ecx
movups xmmword [esp + 0x318], xmm0
mov byte [esp + 0x328], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x318]
xor byte [esp + ecx + 0x319], al
inc ecx
cmp ecx, 0xf
jb 0x41f560
lea eax, [esp + 0xab8]
mov byte [esp + 0x328], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x958]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x93c]
call fcn.00407e70
lea ecx, [esp + 0x31d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f5b2
sub ecx, esi
lea eax, [esp + 0x319]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x594]
call fcn.00406630
lea ecx, [esp + 0x590]
call fcn.00402810
push eax
mov al, 2
mov byte [esp + 0x100], 0x66
mov byte [esp + 0xac], al
mov cl, 0x5a
xor cl, al
mov byte [esp + 0x11], 0x23
mov byte [esp + 0xad], cl
mov al, 0x2f
xor al, byte [esp + 0x100]
mov cl, 0x28
xor cl, byte [esp + 0x100]
mov dh, 0x32
mov byte [esp + 0x101], al
mov ah, 0x29
mov al, byte [esp + 0x11]
mov dl, 0x20
mov byte [esp + 0x102], cl
mov ch, 0x39
mov cl, byte [esp + 0x100]
xor al, cl
mov byte [esp + 0x13], 0x3e
mov byte [esp + 0x107], al
xor ah, cl
mov al, byte [esp + 0x13]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], dh
mov byte [esp + 0x108], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x104], ah
mov byte [esp + 0x109], al
lea eax, [esp + 0xad]
push 0x242
push eax
lea eax, [esp + 0x109]
mov byte [esp + 0xb6], 0
mov byte [esp + 0x112], 0
push eax
mov byte [esp + 0xba], 0
mov byte [esp + 0x10f], dl
mov byte [esp + 0x111], ch
mov byte [esp + 0x112], dh
mov byte [esp + 0x116], 0
call edi
lea ecx, [esp + 0x590]
mov dword [0x4dde44], eax
call fcn.00402850
lea ecx, [esp + 0x938]
call fcn.00402850
lea ecx, [esp + 0x950]
call fcn.00402850
movaps xmm0, xmmword [0x4d4190]
xor ecx, ecx
movups xmmword [esp + 0x32c], xmm0
mov byte [esp + 0x33c], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x32c]
xor byte [esp + ecx + 0x32d], al
inc ecx
cmp ecx, 0xf
jb 0x41f710
lea eax, [esp + 0xab8]
mov byte [esp + 0x33c], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x988]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x96c]
call fcn.00407e70
lea ecx, [esp + 0x331]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f762
sub ecx, esi
lea eax, [esp + 0x32d]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x5ac]
call fcn.00406630
lea ecx, [esp + 0x5a8]
call fcn.00402810
push eax
mov al, 0x3f
mov byte [esp + 0x10c], 0x39
mov byte [esp + 0xb0], al
mov cl, 0x66
xor cl, al
mov byte [esp + 0x11], 0x7c
mov byte [esp + 0xb1], cl
mov al, 0x70
xor al, byte [esp + 0x10c]
mov cl, 0x77
xor cl, byte [esp + 0x10c]
mov dh, 0x6d
mov byte [esp + 0x10d], al
mov ah, 0x76
mov al, byte [esp + 0x11]
mov dl, 0x7f
mov byte [esp + 0x10e], cl
mov ch, 0x66
mov cl, byte [esp + 0x10c]
xor al, cl
mov byte [esp + 0x13], 0x61
mov byte [esp + 0x113], al
xor ah, cl
mov al, byte [esp + 0x13]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], dh
mov byte [esp + 0x114], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x110], ah
mov byte [esp + 0x115], al
lea eax, [esp + 0xb1]
push 0x212
push eax
lea eax, [esp + 0x115]
mov byte [esp + 0xba], 0
mov byte [esp + 0x11e], 0
push eax
mov byte [esp + 0xbe], 0
mov byte [esp + 0x11b], dl
mov byte [esp + 0x11d], ch
mov byte [esp + 0x11e], dh
mov byte [esp + 0x122], 0
call edi
lea ecx, [esp + 0x5a8]
mov dword [0x4ddd70], eax
call fcn.00402850
lea ecx, [esp + 0x968]
call fcn.00402850
lea ecx, [esp + 0x980]
call fcn.00402850
movaps xmm0, xmmword [0x4d4140]
xor ecx, ecx
movups xmmword [esp + 0x340], xmm0
mov byte [esp + 0x350], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x340]
xor byte [esp + ecx + 0x341], al
inc ecx
cmp ecx, 0xf
jb 0x41f8c0
lea eax, [esp + 0xab8]
mov byte [esp + 0x350], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x9b8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x99c]
call fcn.00407e70
lea ecx, [esp + 0x345]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f912
sub ecx, esi
lea eax, [esp + 0x341]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x5c4]
call fcn.00406630
lea ecx, [esp + 0x5c0]
call fcn.00402810
push eax
mov al, 8
mov byte [esp + 0x118], 0x34
mov byte [esp + 0xb4], al
mov cl, 0x50
xor cl, al
mov byte [esp + 0x13], 0x6c
mov byte [esp + 0xb5], cl
mov al, 0x64
xor al, byte [esp + 0x118]
mov cl, 0x75
xor cl, byte [esp + 0x118]
mov ah, 0x71
mov byte [esp + 0x119], al
mov dh, 0x60
mov byte [esp + 0x11], ah
mov dl, 0x73
mov al, byte [esp + 0x11]
mov ch, 0x6b
mov byte [esp + 0x11a], cl
mov cl, byte [esp + 0x118]
xor al, cl
mov byte [esp + 0x12], dh
mov byte [esp + 0x11f], al
xor ah, cl
mov al, byte [esp + 0x13]
xor dl, cl
xor al, cl
mov byte [esp + 0x11c], ah
mov byte [esp + 0x120], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0xb6], 0
mov byte [esp + 0x121], al
lea eax, [esp + 0xb5]
push 0x262
push eax
lea eax, [esp + 0x121]
mov byte [esp + 0x12a], 0
push eax
mov byte [esp + 0xc2], 0
mov byte [esp + 0x127], dl
mov byte [esp + 0x129], ch
mov byte [esp + 0x12a], dh
mov byte [esp + 0x12e], 0
call edi
lea ecx, [esp + 0x5c0]
call fcn.00402850
lea ecx, [esp + 0x998]
call fcn.00402850
lea ecx, [esp + 0x9b0]
call fcn.00402850
movaps xmm0, xmmword [0x4d3fd0]
xor ecx, ecx
movups xmmword [esp + 0x354], xmm0
mov byte [esp + 0x364], 0
nop dword [eax]
mov al, byte [esp + 0x354]
xor byte [esp + ecx + 0x355], al
inc ecx
cmp ecx, 0xf
jb 0x41fa60
lea eax, [esp + 0xab8]
mov byte [esp + 0x364], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0x9e8]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x9cc]
call fcn.00407e70
lea ecx, [esp + 0x359]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fab2
sub ecx, esi
lea eax, [esp + 0x355]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x5dc]
call fcn.00406630
lea ecx, [esp + 0x5d8]
call fcn.00402810
push eax
mov al, 0x5c
mov byte [esp + 0x124], 0x37
mov byte [esp + 0xb8], al
mov cl, 5
xor cl, al
mov byte [esp + 0x13], 0x6f
mov byte [esp + 0xb9], cl
mov al, 0x67
xor al, byte [esp + 0x124]
mov cl, 0x76
xor cl, byte [esp + 0x124]
mov ah, 0x72
mov byte [esp + 0x125], al
mov dh, 0x63
mov byte [esp + 0x11], ah
mov dl, 0x70
mov al, byte [esp + 0x11]
mov ch, 0x68
mov byte [esp + 0x126], cl
mov cl, byte [esp + 0x124]
xor al, cl
mov byte [esp + 0x12], dh
mov byte [esp + 0x12b], al
xor ah, cl
mov al, byte [esp + 0x13]
xor dl, cl
xor al, cl
mov byte [esp + 0x128], ah
mov byte [esp + 0x12c], al
xor ch, cl
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0xba], 0
mov byte [esp + 0x12d], al
lea eax, [esp + 0xb9]
push 0x1ae
push eax
lea eax, [esp + 0x12d]
mov byte [esp + 0x136], 0
push eax
mov byte [esp + 0xc6], 0
mov byte [esp + 0x133], dl
mov byte [esp + 0x135], ch
mov byte [esp + 0x136], dh
mov byte [esp + 0x13a], 0
call edi
lea ecx, [esp + 0x5d8]
call fcn.00402850
lea ecx, [esp + 0x9c8]
call fcn.00402850
lea ecx, [esp + 0x9e0]
call fcn.00402850
movaps xmm0, xmmword [0x4d40c0]
xor ecx, ecx
movups xmmword [esp + 0x368], xmm0
mov byte [esp + 0x378], 0
nop dword [eax]
mov al, byte [esp + 0x368]
xor byte [esp + ecx + 0x369], al
inc ecx
cmp ecx, 0xf
jb 0x41fc00
lea eax, [esp + 0xab8]
mov byte [esp + 0x378], 0
push eax
push 0x4ddd80
lea ecx, [esp + 0xa18]
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0x9fc]
call fcn.00407e70
lea ecx, [esp + 0x36d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fc52
sub ecx, esi
lea eax, [esp + 0x369]
push ecx
push eax
mov ecx, edx
call fcn.004064b0
push eax
lea ecx, [esp + 0x5f4]
call fcn.00406630
lea ecx, [esp + 0x5f0]
call fcn.00402810
push eax
mov byte [esp + 0x130], 0x3c
mov cl, 0x6f
xor cl, byte [esp + 0x130]
mov dl, 0x68
mov al, dl
mov byte [esp + 0x131], cl
mov cl, byte [esp + 0x130]
mov ch, 0x7d
xor al, cl
mov byte [esp + 0x11], 0x64
mov byte [esp + 0x135], al
xor dl, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0xc4], 0x56
mov byte [esp + 0x137], al
mov dh, 0x6e
xor dh, cl
mov byte [esp + 0x132], dl
mov ah, 0x63
mov byte [esp + 0x133], ch
xor ah, cl
mov byte [esp + 0x134], dh
mov al, 0x18
mov byte [esp + 0x136], ah
xor al, byte [esp + 0xc4]
mov cl, 0x19
mov byte [esp + 0xc5], al
mov dl, 2
mov al, byte [esp + 0xc4]
mov ah, 0x1f
xor cl, al
mov byte [esp + 0x11], 5
xor dl, al
mov byte [esp + 0x138], 0
xor ah, al
mov byte [esp + 0xcc], 0
mov ch, 0x15
mov byte [esp + 0xc8], ah
xor ch, al
mov byte [esp + 0x138], 0
mov dh, 0x13
mov byte [esp + 0xc6], cl
xor dh, al
mov byte [esp + 0xc7], dl
mov al, byte [esp + 0x11]
xor al, byte [esp + 0xc4]
mov byte [esp + 0xcb], al
lea eax, [esp + 0x131]
push 0xc8
push eax
lea eax, [esp + 0xcd]
mov byte [esp + 0xd1], ch
push eax
mov byte [esp + 0xd6], dh
mov byte [esp + 0xd8], 0
call edi
lea ecx, [esp + 0x5f0]
mov dword [0x4dde00], eax
call fcn.00402850
lea ecx, [esp + 0x9f8]
call fcn.00402850
lea ecx, [esp + 0xa10]
call fcn.00402850
movaps xmm0, xmmword [0x4d4120]
xor ecx, ecx
movups xmmword [esp + 0x37c], xmm0
mov byte [esp + 0x38c], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x37c]
xor byte [esp + ecx + 0x37d], al
inc ecx
cmp ecx, 0xf
jb 0x41fde0
push 0x4ddd80
lea ecx, [esp + 0xa2c]
mov byte [esp + 0x390], 0
call fcn.004066b0
lea ecx, [esp + 0xab8]
push ecx
mov ecx, eax
call fcn.00406510
push eax
lea ecx, [esp + 0x564]
call fcn.00406630
lea ecx, [esp + 0x37d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fe33
sub ecx, edx
lea eax, [esp + 0x37d]
push ecx
push eax
lea ecx, [esp + 0x568]
call fcn.004064b0
push eax
lea ecx, [esp + 0x3fc]
call fcn.00406630
lea ecx, [esp + 0x3f8]
call fcn.00402810
push 0x53
lea ecx, [esp + 0x14]
mov dword [esp + 0x80], eax
mov byte [esp + 0x14], 0x55
call fcn.00421e90
push 0x54
lea ecx, [esp + 0x14]
mov byte [esp + 0x15], al
call fcn.00421e90
push 0x41
lea ecx, [esp + 0x14]
mov byte [esp + 0x16], al
call fcn.00421e90
push 0x52
lea ecx, [esp + 0x14]
mov byte [esp + 0x17], al
call fcn.00421e90
push 0x54
lea ecx, [esp + 0x14]
mov byte [esp + 0x18], al
call fcn.00421e90
push 0x5f
lea ecx, [esp + 0x14]
mov byte [esp + 0x19], al
call fcn.00421e90
push 0x59
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a], al
call fcn.00421e90
mov byte [esp + 0x17], al
xor esi, esi
mov byte [esp + 0x18], 0
push esi
lea ecx, [esp + 0x15]
call fcn.00409e00
lea ecx, [esp + 0x10]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x15]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x41fee6
push 7
lea ecx, [esp + 0x15]
call fcn.00409e00
lea ecx, [esp + 0x11]
mov byte [eax], 0
call fcn.00409df0
push 0x4e
lea ecx, [esp + 0x20]
mov byte [esp + 0x20], 0x5a
mov edi, eax
call fcn.00421e90
push 0x4f
lea ecx, [esp + 0x20]
mov byte [esp + 0x21], al
call fcn.00421e90
push 0x54
lea ecx, [esp + 0x20]
mov byte [esp + 0x22], al
call fcn.00421e90
push 0x49
lea ecx, [esp + 0x20]
mov byte [esp + 0x23], al
call fcn.00421e90
push 0x43
lea ecx, [esp + 0x20]
mov byte [esp + 0x24], al
call fcn.00421e90
push 0x45
lea ecx, [esp + 0x20]
mov byte [esp + 0x25], al
call fcn.00421e90
push 0x53
lea ecx, [esp + 0x20]
mov byte [esp + 0x26], al
call fcn.00421e90
mov byte [esp + 0x23], al
xor esi, esi
mov byte [esp + 0x24], 0
push esi
lea ecx, [esp + 0x21]
call fcn.00409e00
lea ecx, [esp + 0x1c]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x21]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x41ffa5
push 7
lea ecx, [esp + 0x21]
call fcn.00409e00
lea ecx, [esp + 0x1d]
mov byte [eax], 0
call fcn.00409df0
push dword [esp + 0x7c]
push 0x1e0
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x3f8]
mov dword [0x4dde04], eax
call fcn.00402850
lea ecx, [esp + 0x560]
call fcn.00402850
lea ecx, [esp + 0xa28]
call fcn.00402850
push 0x55
lea ecx, [esp + 0x50]
mov byte [esp + 0x50], 0x7e
call fcn.00421e90
push 0x49
lea ecx, [esp + 0x50]
mov byte [esp + 0x51], al
call fcn.00421e90
push 0x58
lea ecx, [esp + 0x50]
mov byte [esp + 0x52], al
call fcn.00421e90
push 0x53
lea ecx, [esp + 0x50]
mov byte [esp + 0x53], al
call fcn.00421e90
push 0x65
lea ecx, [esp + 0x50]
mov byte [esp + 0x54], al
call fcn.00421e90
push 0x74
lea ecx, [esp + 0x50]
mov byte [esp + 0x55], al
call fcn.00421e90
push 0x74
lea ecx, [esp + 0x50]
mov byte [esp + 0x56], al
call fcn.00421e90
push 0x69
lea ecx, [esp + 0x50]
mov byte [esp + 0x57], al
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x50]
mov byte [esp + 0x58], al
call fcn.00421e90
push 0x67
lea ecx, [esp + 0x50]
mov byte [esp + 0x59], al
call fcn.00421e90
push 0x73
lea ecx, [esp + 0x50]
mov byte [esp + 0x5a], al
call fcn.00421e90
push 0x2e
lea ecx, [esp + 0x50]
mov byte [esp + 0x5b], al
call fcn.00421e90
push 0x69
lea ecx, [esp + 0x50]
mov byte [esp + 0x5c], al
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x50]
mov byte [esp + 0x5d], al
call fcn.00421e90
push 0x69
lea ecx, [esp + 0x50]
mov byte [esp + 0x5e], al
call fcn.00421e90
mov byte [esp + 0x5b], al
xor esi, esi
mov byte [esp + 0x5c], 0
push esi
lea ecx, [esp + 0x51]
call fcn.00409e00
lea ecx, [esp + 0x4c]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x51]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x420114
push 0xf
lea ecx, [esp + 0x51]
call fcn.00409e00
lea ecx, [esp + 0x4d]
mov byte [eax], 0
call fcn.00409df0
mov esi, eax
lea ecx, [esp + 0xa70]
lea eax, [esp + 0xab8]
push eax
push 0x4ddd80
call fcn.004066b0
mov edx, eax
lea ecx, [esp + 0xa5c]
call fcn.00407e70
add esp, 4
lea ecx, [esp + 0xa40]
mov edx, eax
push esi
call fcn.00407de0
add esp, 4
mov ecx, eax
call fcn.00402810
push 0x4f
lea ecx, [esp + 0x38]
mov dword [esp + 0x80], eax
mov byte [esp + 0x38], 0x44
call fcn.00421e90
push 0x46
lea ecx, [esp + 0x38]
mov byte [esp + 0x39], al
call fcn.00421e90
push 0x46
lea ecx, [esp + 0x38]
mov byte [esp + 0x3a], al
call fcn.00421e90
push 0x53
lea ecx, [esp + 0x38]
mov byte [esp + 0x3b], al
call fcn.00421e90
push 0x45
lea ecx, [esp + 0x38]
mov byte [esp + 0x3c], al
call fcn.00421e90
push 0x54
lea ecx, [esp + 0x38]
mov byte [esp + 0x3d], al
call fcn.00421e90
push 0x5f
lea ecx, [esp + 0x38]
mov byte [esp + 0x3e], al
call fcn.00421e90
push 0x59
lea ecx, [esp + 0x38]
mov byte [esp + 0x3f], al
call fcn.00421e90
mov byte [esp + 0x3c], al
xor esi, esi
mov byte [esp + 0x3d], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x39]
call fcn.00409e00
lea ecx, [esp + 0x34]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x39]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x420230
push 8
lea ecx, [esp + 0x39]
call fcn.00409e00
lea ecx, [esp + 0x35]
mov byte [eax], 0
call fcn.00409df0
push 0x4e
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], 0x4d
mov edi, eax
call fcn.00421e90
push 0x4f
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2d], al
call fcn.00421e90
push 0x54
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e], al
call fcn.00421e90
push 0x49
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2f], al
call fcn.00421e90
push 0x43
lea ecx, [esp + 0x2c]
mov byte [esp + 0x30], al
call fcn.00421e90
push 0x45
lea ecx, [esp + 0x2c]
mov byte [esp + 0x31], al
call fcn.00421e90
push 0x53
lea ecx, [esp + 0x2c]
mov byte [esp + 0x32], al
call fcn.00421e90
mov byte [esp + 0x2f], al
xor esi, esi
mov byte [esp + 0x30], 0
nop
push esi
lea ecx, [esp + 0x2d]
call fcn.00409e00
lea ecx, [esp + 0x28]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x2d]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x4202f0
push 7
lea ecx, [esp + 0x2d]
call fcn.00409e00
lea ecx, [esp + 0x29]
mov byte [eax], 0
call fcn.00409df0
push dword [esp + 0x7c]
push 0x17
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0xa40]
call fcn.00402850
lea ecx, [esp + 0xa58]
call fcn.00402850
lea ecx, [esp + 0xa70]
call fcn.00402850
mov eax, dword [0x4dbf18]
mov ecx, dword [0x4dbea0]
mov dword [0x4ddd78], eax
mov dword [0x4dde0c], eax
mov eax, dword fs:[0x2c]
mov dword [0x4ddd74], ecx
mov dword [0x4dde08], ecx
mov ecx, dword [eax]
mov eax, dword [0x55e148]
cmp eax, dword [ecx + 4]
jle 0x4203c3
push 0x55e148
call fcn.00473341
add esp, 4
cmp dword [0x55e148], 0xffffffff
jne 0x4203c3
push 0x55e148
call fcn.004732f7
add esp, 4
push 0
mov dword [esp + 0xa8c], 0x30
mov dword [esp + 0xa90], 0x3000
mov dword [esp + 0xa94], 0x421910
mov dword [esp + 0xa98], 0
mov dword [esp + 0xa9c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x65
push dword [esp + 0x7c]
mov dword [esp + 0xaa4], eax
mov dword [esp + 0xaac], 0
mov dword [esp + 0xab0], 0
mov dword [esp + 0xab4], 0
mov dword [esp + 0xab8], 0x4b5dbc
mov dword [esp + 0xabc], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0xaa0], eax
lea eax, [esp + 0xa88]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov eax, dword [0x4dbea0]
lea ecx, [esp + 0x40]
mov edi, dword [0x4dbf18]
push 0x4c
mov dword [esp + 0x80], eax
mov byte [esp + 0x44], 0x47
call fcn.00421e90
push 0x61
lea ecx, [esp + 0x44]
mov byte [esp + 0x45], al
call fcn.00421e90
push 0x75
lea ecx, [esp + 0x44]
mov byte [esp + 0x46], al
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x44]
mov byte [esp + 0x47], al
call fcn.00421e90
push 0x63
lea ecx, [esp + 0x44]
mov byte [esp + 0x48], al
call fcn.00421e90
push 0x68
lea ecx, [esp + 0x44]
mov byte [esp + 0x49], al
call fcn.00421e90
push 0x65
lea ecx, [esp + 0x44]
mov byte [esp + 0x4a], al
call fcn.00421e90
push 0x72
lea ecx, [esp + 0x44]
mov byte [esp + 0x4b], al
call fcn.00421e90
mov byte [esp + 0x48], al
xor esi, esi
mov byte [esp + 0x49], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x45]
call fcn.00409e00
lea ecx, [esp + 0x40]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x45]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x420500
push 8
lea ecx, [esp + 0x45]
call fcn.00409e00
lea ecx, [esp + 0x41]
mov byte [eax], 0
call fcn.00409df0
push 0
push dword [esp + 0xaa0]
push 0
push 0
push edi
push dword [esp + 0x90]
push 0x64
push 0x64
push connect
push eax
push dword [esp + 0xad8]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x4dbf18]
mov esi, eax
xor edx, edx
push dword [0x4dbea0]
mov ecx, esi
mov dword [esp + 0x84], esi
call fcn.0041d980
add esp, 8
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 1
push 0
push 0xea00ff
push esi
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov ecx, esi
mov dword [0x4ddcf8], esi
call fcn.00420d20
test al, al
jne 0x4205d7
call fcn.00421070
jmp 0x4205fc
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0041ca50
test al, al
jne 0x420617
call fcn.00421070
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa9c]
push dword [esp + 0xab4]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x420cce
mov eax, dword [esp + 0x78]
xorps xmm0, xmm0
push 0x290
mov dword [0x4ddd60], eax
movups xmmword [0x4ddd34], xmm0
mov dword [0x4ddd44], 0
mov dword [0x4ddd48], 0
call fcn.00472da1
add esp, 4
mov esi, eax
mov ecx, esi
push 0x290
call fcn.00420d00
mov ecx, esi
call fcn.00421f90
mov ecx, dword [0x4ddcf8]
push dword [esp + 0x1fc]
mov dword [0x4ddd28], eax
mov dword [eax + 0x148], ecx
lea ecx, [eax + 0x154]
call fcn.00402820
cmp dword [0x4ddd50], 0
jne 0x4206bf
push 0x4ddd50
lea eax, [esp + 0xb04]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x2bc
push 0
push dword [esp + 0x1fc]
push dword [0x4de0d0]
call dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
lea ecx, [esp + 0xaf8]
call fcn.0041c8a0
lea ecx, [esp + 0xaf8]
call fcn.0041c890
mov edx, eax
xor al, al
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 0x14]
add ecx, 0x76c
cmp ecx, 0x7ee
jle 0x4206f7
mov byte [esp + 0x78], 1
jmp 0x42072e
mov esi, dword [edx + 0x10]
cmp esi, 0xb
jle 0x42070e
cmp ecx, 0x7ee
jne 0x42070e
mov byte [esp + 0x78], 1
jmp 0x42072e
cmp dword [edx + 0xc], 1
jle 0x42072e
cmp esi, 0xb
jne 0x42072e
cmp ecx, 0x7ee
movzx eax, al
mov edx, 1
cmove eax, edx
mov dword [esp + 0x78], eax
mov eax, dword [0x4ddd28]
sub esp, 0x18
add eax, 0x130
mov ecx, esp
push eax
call fcn.00406730
call fcn.0041da50
add esp, 0x18
test al, al
je 0x420770
cmp byte [esp + 0x78], 0
jne 0x420770
push 0
push 0
push 0
push 0x41ca40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x42090e
push 0x55
lea ecx, [esp + 0x64]
mov byte [esp + 0x64], 0x7c
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x64]
mov byte [esp + 0x65], al
call fcn.00421e90
push 0x6b
lea ecx, [esp + 0x64]
mov byte [esp + 0x66], al
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x64]
mov byte [esp + 0x67], al
call fcn.00421e90
push 0x6f
lea ecx, [esp + 0x64]
mov byte [esp + 0x68], al
call fcn.00421e90
push 0x77
lea ecx, [esp + 0x64]
mov byte [esp + 0x69], al
call fcn.00421e90
push 0x6e
lea ecx, [esp + 0x64]
mov byte [esp + 0x6a], al
call fcn.00421e90
push 0x20
lea ecx, [esp + 0x64]
mov byte [esp + 0x6b], al
call fcn.00421e90
push 0x64
lea ecx, [esp + 0x64]
mov byte [esp + 0x6c], al
call fcn.00421e90
push 0x61
lea ecx, [esp + 0x64]
mov byte [esp + 0x6d], al
call fcn.00421e90
push 0x74
lea ecx, [esp + 0x64]
mov byte [esp + 0x6e], al
call fcn.00421e90
push 0x61
lea ecx, [esp + 0x64]
mov byte [esp + 0x6f], al
call fcn.00421e90
push 0x20
lea ecx, [esp + 0x64]
mov byte [esp + 0x70], al
call fcn.00421e90
push 0x73
lea ecx, [esp + 0x64]
mov byte [esp + 0x71], al
call fcn.00421e90
push 0x74
lea ecx, [esp + 0x64]
mov byte [esp + 0x72], al
call fcn.00421e90
push 0x72
lea ecx, [esp + 0x64]
mov byte [esp + 0x73], al
call fcn.00421e90
push 0x65
lea ecx, [esp + 0x64]
mov byte [esp + 0x74], al
call fcn.00421e90
push 0x61
lea ecx, [esp + 0x64]
mov byte [esp + 0x75], al
call fcn.00421e90
push 0x6d
lea ecx, [esp + 0x64]
mov byte [esp + 0x76], al
call fcn.00421e90
push 0x2e
lea ecx, [esp + 0x64]
mov byte [esp + 0x77], al
call fcn.00421e90
mov byte [esp + 0x74], al
mov byte [esp + 0x75], 0
xor esi, esi
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x65]
call fcn.00409e00
lea ecx, [esp + 0x60]
movzx eax, byte [eax]
push eax
call fcn.00421e90
push esi
lea ecx, [esp + 0x65]
mov byte [esp + 0x11], al
call fcn.00409e00
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 0x14
jb 0x4208b0
push 0x14
lea ecx, [esp + 0x65]
call fcn.00409e00
lea ecx, [esp + 0x61]
mov byte [eax], 0
call fcn.00409df0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004066b0
mov ecx, dword [0x4ddd28]
call fcn.0041c8d0
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f00
push 0
mov dword [0x4de0bc], eax
call esi
push 0x7f00
push 0
mov dword [0x4de0b0], eax
call esi
push dword [0x4de0bc]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4de0ac], eax
call edi
mov eax, dword [0x4ddd28]
add eax, 0x2c
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 1
call fcn.00472da1
xorps xmm0, xmm0
mov dword [0x4dde3c], eax
add esp, 4
movaps xmmword [esp + 0xad0], xmm0
movq qword [esp + 0xae0], xmm0
mov dword [esp + 0xae8], 0
nop
push 1
push 0
push 0
push 0
lea eax, [esp + 0xae0]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x4209cb
lea eax, [esp + 0xad0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xad0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x420c96
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4209e0
push dword [0x4de0ac]
jmp 0x4209e6
push dword [0x4de0bc]
call edi
mov eax, dword [0x4de0d0]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de0d0]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de0d0]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de0d0]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
push 1
push 0
push 0
push eax
mov eax, dword [ecx + 0xac]
call eax
mov eax, dword [0x4de0d0]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x420c60
mov ecx, dword [0x4ddd28]
mov dword [0x4dde68], 0
call fcn.0041c960
movzx ecx, al
mov eax, 0x51eb851f
imul ecx, dword [0x4dde2c]
mov dword [0x4dde6c], 0
push 0x10
mul ecx
mov eax, dword [0x4dde30]
mov dword [0x4dde74], eax
mov eax, dword [0x4dde34]
shr edx, 5
mov dword [0x4dde70], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x4dde34]
push 0xffffffffffffffff
push 0x4de0c0
push 0
mov ecx, dword [eax]
push 0
push dword [0x4dde78]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [0x4dde34]
mov ecx, dword [0x4ddd34]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420aed
mov eax, dword [0x4ddd30]
jmp 0x420afc
mov eax, dword [0x4ddd58]
cmp ecx, 2
cmove eax, dword [0x4dde7c]
push 0xffffffffffffffff
push 0x4dbea4
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4dde34]
mov ecx, dword [0x4ddd3c]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420b27
mov eax, dword [0x4ddd24]
jmp 0x420b36
mov eax, dword [0x4ddd20]
cmp ecx, 2
cmove eax, dword [0x4ddd7c]
push 0xffffffffffffffff
push 0x4dbf88
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4dde34]
mov ecx, dword [0x4ddd40]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420b61
mov eax, dword [0x4dde10]
jmp 0x420b70
mov eax, dword [0x4ddd68]
cmp ecx, 2
cmove eax, dword [0x4ddd2c]
push 0xffffffffffffffff
push 0x4dbf1c
push 0
push 0
push eax
push edx
call esi
mov eax, dword [0x4dde34]
push 0xffffffffffffffff
push 0x4dbec4
push 0
mov ecx, dword [eax]
push 0
push dword [0x4dde38]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4dde34]
push 0xffffffffffffffff
push 0x4dbec4
push 0
mov ecx, dword [eax]
push 0x4dde68
push dword [0x4dde40]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4dde34]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [0x4ddd28]
lea eax, [esp + 0x608]
mov esi, dword [0x4ddd50]
push eax
call fcn.0041c8b0
mov ecx, eax
call fcn.00402810
mov edx, esi
mov ecx, eax
call fcn.0041d9f0
lea ecx, [esp + 0x608]
call fcn.00402850
mov eax, dword [0x4dde44]
mov ecx, dword [0x4ddd28]
mov dword [0x4ddd6c], eax
mov eax, dword [0x4ddd50]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
lea eax, [esp + 0x620]
push eax
call fcn.0041c8b0
mov ecx, eax
call fcn.00402810
push 0xffffffffffffffff
push 0
push 0x4ddd6c
push 0xffffffffffffffff
push eax
push 0
push dword [0x4ddd50]
call esi
lea ecx, [esp + 0x620]
call fcn.00402850
mov eax, dword [0x4de0d0]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov ecx, dword [0x4de0d0]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
mov eax, dword [eax + 0x44]
call eax
cmp eax, 0x88760868
jne 0x420c96
mov eax, dword [0x4de0d0]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x420c96
call fcn.004210b0
cmp dword [esp + 0xad4], 0x12
jne 0x420990
call fcn.00421070
push dword [esp + 0x7c]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa9c]
push dword [esp + 0xab4]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, dword [esp + 0xad8]
lea ecx, [esp + 0xab8]
call fcn.00402850
mov ecx, dword [esp + 0xb1c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00472d8e
mov esp, ebp
pop ebp
ret 0x10