Function at 0x41db50
Capabilities:
Authenticate hmac
Check mutex on windows
Contain obfuscated stackstrings
Create thread
Encode data using xor
Get common file path
Inspect load icon resource
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, 0xae8
mov eax, dword [0x4d90c0]
xor eax, esp
mov dword [esp + 0xae4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
movaps xmm0, xmmword [0x4d3290]
push esi
mov dword [esp + 0x1c8], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [esp + 0xc], eax
movups xmmword [esp + 0x370], xmm0
mov word [esp + 0x380], 0x67
nop dword [eax + eax]
mov al, byte [esp + 0x370]
xor byte [esp + ecx + 0x371], al
inc ecx
cmp ecx, 0x10
jb 0x41dba0
lea eax, [esp + 0x371]
mov byte [esp + 0x381], 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 0x41dbf3
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xae4]
xor ecx, esp
call fcn.00472221
mov esp, ebp
pop ebp
ret 0x10
push 0x4dd008
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movaps xmm0, xmmword [0x4d3610]
xor ecx, ecx
movups xmmword [esp + 0x3ac], xmm0
mov byte [esp + 0x3bc], 0
nop dword [eax]
mov al, byte [esp + 0x3ac]
xor byte [esp + ecx + 0x3ad], al
inc ecx
cmp ecx, 0xf
jb 0x41dc20
lea eax, [esp + 0x3ad]
mov byte [esp + 0x3bc], 0
push eax
lea ecx, [esp + 0xa9c]
call fcn.00406160
mov al, 0x57
mov byte [esp + 0x100], 0x35
mov ah, al
mov byte [esp + 0x107], 0
xor al, byte [esp + 0x100]
mov cl, 0x52
mov byte [esp + 0x101], al
mov dl, 0x1b
mov al, byte [esp + 0x100]
mov ch, 0x58
xor ah, al
mov byte [esp + 0x107], 0
mov dh, 0x45
mov byte [esp + 0x104], ah
xor cl, al
xor ch, al
xor dl, al
mov byte [esp + 0x102], cl
xor dh, al
mov byte [esp + 0x105], ch
lea eax, [esp + 0xa98]
mov byte [esp + 0x103], dl
push eax
push 0x4dd008
lea ecx, [esp + 0x770]
mov byte [esp + 0x10e], dh
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x754]
call fcn.00407820
add esp, 4
lea ecx, [esp + 0x101]
mov edx, eax
push 0x10
push 0
push 0
push 0
push ecx
lea ecx, [esp + 0x74c]
call fcn.004077c0
add esp, 4
mov ecx, eax
call fcn.00402470
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
lea ecx, [esp + 0x738]
call fcn.00402480
lea ecx, [esp + 0x750]
call fcn.00402480
lea ecx, [esp + 0x768]
call fcn.00402480
push 0x55
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], 0x1c
call fcn.00421dc0
push 0x49
lea ecx, [esp + 0x54]
mov byte [esp + 0x55], al
call fcn.00421dc0
push 0x58
lea ecx, [esp + 0x54]
mov byte [esp + 0x56], al
call fcn.00421dc0
push 0x53
lea ecx, [esp + 0x54]
mov byte [esp + 0x57], al
call fcn.00421dc0
push 0x65
lea ecx, [esp + 0x54]
mov byte [esp + 0x58], al
call fcn.00421dc0
push 0x74
lea ecx, [esp + 0x54]
mov byte [esp + 0x59], al
call fcn.00421dc0
push 0x74
lea ecx, [esp + 0x54]
mov byte [esp + 0x5a], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x5b], al
call fcn.00421dc0
push 0x6e
lea ecx, [esp + 0x54]
mov byte [esp + 0x5c], al
call fcn.00421dc0
push 0x67
lea ecx, [esp + 0x54]
mov byte [esp + 0x5d], al
call fcn.00421dc0
push 0x73
lea ecx, [esp + 0x54]
mov byte [esp + 0x5e], al
call fcn.00421dc0
push 0x2e
lea ecx, [esp + 0x54]
mov byte [esp + 0x5f], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x60], al
call fcn.00421dc0
push 0x6e
lea ecx, [esp + 0x54]
mov byte [esp + 0x61], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x62], al
call fcn.00421dc0
mov byte [esp + 0x5f], al
xor esi, esi
mov byte [esp + 0x60], 0
push esi
lea ecx, [esp + 0x55]
call fcn.00409ba0
lea ecx, [esp + 0x50]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x55]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41de22
push 0xf
lea ecx, [esp + 0x55]
call fcn.00409ba0
lea ecx, [esp + 0x51]
mov byte [eax], 0
call fcn.00409b90
mov esi, eax
lea ecx, [esp + 0x7b0]
lea eax, [esp + 0xa98]
push eax
push 0x4dd008
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x79c]
call fcn.00407820
add esp, 4
lea ecx, [esp + 0x780]
mov edx, eax
push esi
call fcn.004077c0
add esp, 4
mov ecx, eax
call fcn.00402470
push 0x57
lea ecx, [esp + 0x18]
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x18], 0x43
call fcn.00421dc0
push 0x49
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], al
call fcn.00421dc0
push 0x44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a], al
call fcn.00421dc0
push 0x54
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b], al
call fcn.00421dc0
push 0x48
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c], al
call fcn.00421dc0
mov byte [esp + 0x19], al
xor esi, esi
mov byte [esp + 0x1a], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x19]
call fcn.00409ba0
lea ecx, [esp + 0x14]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x19]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x41df10
push 5
lea ecx, [esp + 0x19]
call fcn.00409ba0
lea ecx, [esp + 0x15]
mov byte [eax], 0
call fcn.00409b90
push 0x4c
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], 0x42
mov edi, eax
call fcn.00421dc0
push 0x41
lea ecx, [esp + 0x28]
mov byte [esp + 0x29], al
call fcn.00421dc0
push 0x55
lea ecx, [esp + 0x28]
mov byte [esp + 0x2a], al
call fcn.00421dc0
push 0x4e
lea ecx, [esp + 0x28]
mov byte [esp + 0x2b], al
call fcn.00421dc0
push 0x43
lea ecx, [esp + 0x28]
mov byte [esp + 0x2c], al
call fcn.00421dc0
push 0x48
lea ecx, [esp + 0x28]
mov byte [esp + 0x2d], al
call fcn.00421dc0
push 0x45
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e], al
call fcn.00421dc0
push 0x52
lea ecx, [esp + 0x28]
mov byte [esp + 0x2f], al
call fcn.00421dc0
mov byte [esp + 0x2c], al
xor esi, esi
mov byte [esp + 0x2d], 0
nop
push esi
lea ecx, [esp + 0x29]
call fcn.00409ba0
lea ecx, [esp + 0x24]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x29]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x41dfe0
push 8
lea ecx, [esp + 0x29]
call fcn.00409ba0
lea ecx, [esp + 0x25]
mov byte [eax], 0
call fcn.00409b90
push dword [esp + 0x1d0]
push 0x322
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
call edi
lea ecx, [esp + 0x780]
mov dword [0x4daf10], eax
call fcn.00402480
lea ecx, [esp + 0x798]
call fcn.00402480
lea ecx, [esp + 0x7b0]
call fcn.00402480
push 0x55
lea ecx, [esp + 0x40]
mov byte [esp + 0x40], 0x6c
call fcn.00421dc0
push 0x49
lea ecx, [esp + 0x40]
mov byte [esp + 0x41], al
call fcn.00421dc0
push 0x58
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], al
call fcn.00421dc0
push 0x53
lea ecx, [esp + 0x40]
mov byte [esp + 0x43], al
call fcn.00421dc0
push 0x65
lea ecx, [esp + 0x40]
mov byte [esp + 0x44], al
call fcn.00421dc0
push 0x74
lea ecx, [esp + 0x40]
mov byte [esp + 0x45], al
call fcn.00421dc0
push 0x74
lea ecx, [esp + 0x40]
mov byte [esp + 0x46], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x47], al
call fcn.00421dc0
push 0x6e
lea ecx, [esp + 0x40]
mov byte [esp + 0x48], al
call fcn.00421dc0
push 0x67
lea ecx, [esp + 0x40]
mov byte [esp + 0x49], al
call fcn.00421dc0
push 0x73
lea ecx, [esp + 0x40]
mov byte [esp + 0x4a], al
call fcn.00421dc0
push 0x2e
lea ecx, [esp + 0x40]
mov byte [esp + 0x4b], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x4c], al
call fcn.00421dc0
push 0x6e
lea ecx, [esp + 0x40]
mov byte [esp + 0x4d], al
call fcn.00421dc0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x4e], al
call fcn.00421dc0
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], 0
xor esi, esi
push esi
lea ecx, [esp + 0x41]
call fcn.00409ba0
lea ecx, [esp + 0x3c]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x41]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41e154
push 0xf
lea ecx, [esp + 0x41]
call fcn.00409ba0
lea ecx, [esp + 0x3d]
mov byte [eax], 0
call fcn.00409b90
mov esi, eax
lea ecx, [esp + 0x7f8]
lea eax, [esp + 0xa98]
push eax
push 0x4dd008
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x7e4]
call fcn.00407820
add esp, 4
lea ecx, [esp + 0x7c8]
mov edx, eax
push esi
call fcn.004077c0
add esp, 4
mov ecx, eax
call fcn.00402470
push 0x48
lea ecx, [esp + 0x20]
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x20], 0x58
call fcn.00421dc0
push 0x45
lea ecx, [esp + 0x20]
mov byte [esp + 0x21], al
call fcn.00421dc0
push 0x49
lea ecx, [esp + 0x20]
mov byte [esp + 0x22], al
call fcn.00421dc0
push 0x47
lea ecx, [esp + 0x20]
mov byte [esp + 0x23], al
call fcn.00421dc0
push 0x48
lea ecx, [esp + 0x20]
mov byte [esp + 0x24], al
call fcn.00421dc0
push 0x54
lea ecx, [esp + 0x20]
mov byte [esp + 0x25], al
call fcn.00421dc0
mov byte [esp + 0x22], al
xor esi, esi
mov byte [esp + 0x23], 0
nop
push esi
lea ecx, [esp + 0x21]
call fcn.00409ba0
lea ecx, [esp + 0x1c]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x21]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x41e250
push 6
lea ecx, [esp + 0x21]
call fcn.00409ba0
lea ecx, [esp + 0x1d]
mov byte [eax], 0
call fcn.00409b90
push 0x4c
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], eax
mov byte [esp + 0x34], 0x2a
call fcn.00421dc0
push 0x41
lea ecx, [esp + 0x34]
mov byte [esp + 0x35], al
call fcn.00421dc0
push 0x55
lea ecx, [esp + 0x34]
mov byte [esp + 0x36], al
call fcn.00421dc0
push 0x4e
lea ecx, [esp + 0x34]
mov byte [esp + 0x37], al
call fcn.00421dc0
push 0x43
lea ecx, [esp + 0x34]
mov byte [esp + 0x38], al
call fcn.00421dc0
push 0x48
lea ecx, [esp + 0x34]
mov byte [esp + 0x39], al
call fcn.00421dc0
push 0x45
lea ecx, [esp + 0x34]
mov byte [esp + 0x3a], al
call fcn.00421dc0
push 0x52
lea ecx, [esp + 0x34]
mov byte [esp + 0x3b], al
call fcn.00421dc0
mov byte [esp + 0x38], al
xor esi, esi
mov byte [esp + 0x39], 0
push esi
lea ecx, [esp + 0x35]
call fcn.00409ba0
lea ecx, [esp + 0x30]
movzx eax, byte [eax]
push eax
call fcn.00421dc0
push esi
lea ecx, [esp + 0x35]
mov byte [esp + 0xe], al
call fcn.00409ba0
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x41e320
push 8
lea ecx, [esp + 0x35]
call fcn.00409ba0
lea ecx, [esp + 0x31]
mov byte [eax], 0
call fcn.00409b90
push dword [esp + 0x1d0]
push 0x252
push dword [esp + 0x18]
push eax
call edi
lea ecx, [esp + 0x7c8]
mov dword [0x4daf40], eax
call fcn.00402480
lea ecx, [esp + 0x7e0]
call fcn.00402480
lea ecx, [esp + 0x7f8]
call fcn.00402480
movaps xmm0, xmmword [0x4d3270]
xor ecx, ecx
movups xmmword [esp + 0x1e0], xmm0
mov byte [esp + 0x1f0], 0
nop dword [eax]
mov al, byte [esp + 0x1e0]
xor byte [esp + ecx + 0x1e1], al
inc ecx
cmp ecx, 0xf
jb 0x41e3c0
push dword [esp + 0xc]
lea ecx, [esp + 0x4b4]
mov byte [esp + 0x1f4], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e3f4
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x4b8]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4b4]
lea ecx, [esp + 0x814]
call fcn.00407820
lea ecx, [esp + 0x1e5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e440
sub ecx, esi
lea eax, [esp + 0x1e1]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x5ec]
call fcn.00406110
lea ecx, [esp + 0x5e8]
call fcn.00402470
push eax
mov al, 0x43
mov byte [esp + 0x6a], 0
mov byte [esp + 0x68], al
mov cl, 0x1b
xor cl, al
mov byte [esp + 0xdf], 0
mov ah, 0x74
mov byte [esp + 0x69], cl
mov al, 0x36
mov byte [esp + 0xdc], ah
xor al, ah
mov byte [esp + 0x6a], 0
mov cl, 0x33
mov byte [esp + 0xdd], al
xor cl, ah
mov byte [esp + 0xdf], 0
push 0
lea eax, [esp + 0x6d]
mov byte [esp + 0xe2], cl
push eax
lea eax, [esp + 0xe5]
push eax
call edi
lea ecx, [esp + 0x5e8]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x810]
call fcn.00402480
lea ecx, [esp + 0x4b0]
call fcn.00402480
movaps xmm0, xmmword [0x4d3230]
xor ecx, ecx
movups xmmword [esp + 0x1f4], xmm0
mov byte [esp + 0x204], 0
nop dword [eax]
mov al, byte [esp + 0x1f4]
xor byte [esp + ecx + 0x1f5], al
inc ecx
cmp ecx, 0xf
jb 0x41e510
push dword [esp + 0xc]
lea ecx, [esp + 0x4cc]
mov byte [esp + 0x208], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e544
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x4d0]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4cc]
lea ecx, [esp + 0x82c]
call fcn.00407820
lea ecx, [esp + 0x1f9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e590
sub ecx, esi
lea eax, [esp + 0x1f5]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x604]
call fcn.00406110
lea ecx, [esp + 0x600]
call fcn.00402470
push eax
mov al, 0x1b
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6c], al
mov cl, 0x42
xor cl, al
mov byte [esp + 0xe3], 0
mov ah, 0x7e
mov byte [esp + 0x6d], cl
mov al, 0x3c
mov byte [esp + 0xe0], ah
xor al, ah
mov byte [esp + 0x6e], 0
mov cl, 0x39
mov byte [esp + 0xe1], al
xor cl, ah
mov byte [esp + 0xe3], 0
push 0
lea eax, [esp + 0x71]
mov byte [esp + 0xe6], cl
push eax
lea eax, [esp + 0xe9]
push eax
call edi
lea ecx, [esp + 0x600]
mov esi, eax
call fcn.00402480
lea ecx, [esp + 0x828]
call fcn.00402480
lea ecx, [esp + 0x4c8]
call fcn.00402480
movd xmm2, dword [esp + 0x10]
xor ecx, ecx
movaps xmm0, xmmword [0x4d3260]
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x1dc], 0
mov eax, dword [esp + 0x1dc]
mov dword [0x4dd350], eax
mov byte [esp + 0x218], 0
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x208], xmm0
unpcklps xmm2, xmm1
movq qword [0x4dd348], xmm2
nop dword [eax]
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0xf
jb 0x41e690
push dword [esp + 0xc]
lea ecx, [esp + 0x4e4]
mov byte [esp + 0x21c], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e6c4
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x4e8]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4e4]
lea ecx, [esp + 0x844]
call fcn.00407820
lea ecx, [esp + 0x20d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e710
sub ecx, esi
lea eax, [esp + 0x209]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x61c]
call fcn.00406110
lea ecx, [esp + 0x618]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x6e], 0
mov al, 0x6d
mov byte [esp + 0x6e], 0
mov cl, 0x35
mov byte [esp + 0x6c], al
xor cl, al
mov dword [esp + 0x174], 0x1c090e5d
mov byte [esp + 0x6d], cl
xor eax, eax
mov cl, 0x5d
mov dword [esp + 0x178], 0x1f02090f
mov dword [esp + 0x17c], 0x12090908
mov word [esp + 0x180], 0x13
nop dword [eax + eax]
xor byte [esp + eax + 0x175], cl
inc eax
cmp eax, 0xc
jae 0x41e7a6
mov cl, byte [esp + 0x174]
jmp 0x41e790
push edx
push 0x260
lea eax, [esp + 0x75]
mov byte [esp + 0x189], 0
push eax
lea eax, [esp + 0x181]
push eax
call edi
lea ecx, [esp + 0x618]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x840]
call fcn.00402480
lea ecx, [esp + 0x4e0]
call fcn.00402480
movaps xmm0, xmmword [0x4d32b0]
xor ecx, ecx
movups xmmword [esp + 0x21c], xmm0
mov byte [esp + 0x22c], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x21c]
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0xf
jb 0x41e810
push dword [esp + 0xc]
lea ecx, [esp + 0x4fc]
mov byte [esp + 0x230], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e844
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x500]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4fc]
lea ecx, [esp + 0x85c]
call fcn.00407820
lea ecx, [esp + 0x221]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e890
sub ecx, esi
lea eax, [esp + 0x21d]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x634]
call fcn.00406110
lea ecx, [esp + 0x630]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x72], 0
mov al, 7
mov byte [esp + 0x72], 0
mov cl, 0x5e
mov byte [esp + 0x70], al
xor cl, al
mov dword [esp + 0x184], 0x50454211
mov byte [esp + 0x71], cl
xor eax, eax
mov cl, 0x11
mov dword [esp + 0x188], 0x534e4543
mov dword [esp + 0x18c], 0x5e454544
mov word [esp + 0x190], 0x5f
nop dword [eax + eax]
xor byte [esp + eax + 0x185], cl
inc eax
cmp eax, 0xc
jae 0x41e926
mov cl, byte [esp + 0x184]
jmp 0x41e910
push edx
push 0x1fd
lea eax, [esp + 0x79]
mov byte [esp + 0x199], 0
push eax
lea eax, [esp + 0x191]
push eax
call edi
lea ecx, [esp + 0x630]
mov esi, eax
call fcn.00402480
lea ecx, [esp + 0x858]
call fcn.00402480
lea ecx, [esp + 0x4f8]
call fcn.00402480
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1dc], 0
mov eax, dword [esp + 0x1dc]
mov dword [0x4daf1c], eax
mov byte [esp + 0x240], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d34b0]
movq qword [0x4daf14], xmm1
movups xmmword [esp + 0x230], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x230]
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 0xf
jb 0x41e9c0
push dword [esp + 0xc]
lea ecx, [esp + 0x514]
mov byte [esp + 0x244], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e9f4
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x518]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x514]
lea ecx, [esp + 0x874]
call fcn.00407820
lea ecx, [esp + 0x235]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ea40
sub ecx, esi
lea eax, [esp + 0x231]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x64c]
call fcn.00406110
lea ecx, [esp + 0x648]
call fcn.00402470
movaps xmm0, xmmword [0x4d3490]
mov edx, eax
mov al, 1
mov byte [esp + 0x76], 0
mov cl, 0x59
mov byte [esp + 0x74], al
xor cl, al
mov byte [esp + 0x76], 0
mov byte [esp + 0x75], cl
xor ecx, ecx
movups xmmword [esp + 0x384], xmm0
mov byte [esp + 0x394], 0
nop word [eax + eax]
mov al, byte [esp + 0x384]
xor byte [esp + ecx + 0x385], al
inc ecx
cmp ecx, 0xf
jb 0x41eab0
push edx
push 0xa1
lea eax, [esp + 0x7d]
mov byte [esp + 0x39c], 0
push eax
lea eax, [esp + 0x391]
push eax
call edi
lea ecx, [esp + 0x648]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x870]
call fcn.00402480
lea ecx, [esp + 0x510]
call fcn.00402480
movaps xmm0, xmmword [0x4d35c0]
xor ecx, ecx
movups xmmword [esp + 0x244], xmm0
mov byte [esp + 0x254], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x244]
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 0xf
jb 0x41eb30
push dword [esp + 0xc]
lea ecx, [esp + 0x52c]
mov byte [esp + 0x258], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eb64
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x530]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x52c]
lea ecx, [esp + 0x88c]
call fcn.00407820
lea ecx, [esp + 0x249]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ebb0
sub ecx, esi
lea eax, [esp + 0x245]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x664]
call fcn.00406110
lea ecx, [esp + 0x660]
call fcn.00402470
movaps xmm0, xmmword [0x4d35f0]
mov edx, eax
mov al, 0x74
mov byte [esp + 0x7a], 0
mov cl, 0x2d
mov byte [esp + 0x78], al
xor cl, al
mov byte [esp + 0x7a], 0
mov byte [esp + 0x79], cl
xor ecx, ecx
movups xmmword [esp + 0x398], xmm0
mov byte [esp + 0x3a8], 0
nop word [eax + eax]
mov al, byte [esp + 0x398]
xor byte [esp + ecx + 0x399], al
inc ecx
cmp ecx, 0xf
jb 0x41ec20
push edx
push 0x1ff
lea eax, [esp + 0x81]
mov byte [esp + 0x3b0], 0
push eax
lea eax, [esp + 0x3a5]
push eax
call edi
lea ecx, [esp + 0x660]
mov esi, eax
call fcn.00402480
lea ecx, [esp + 0x888]
call fcn.00402480
lea ecx, [esp + 0x528]
call fcn.00402480
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1dc], 0
mov eax, dword [esp + 0x1dc]
mov dword [0x4daf70], eax
mov byte [esp + 0x268], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d3280]
movq qword [0x4daf68], xmm1
movups xmmword [esp + 0x258], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x258]
xor byte [esp + ecx + 0x259], al
inc ecx
cmp ecx, 0xf
jb 0x41ecd0
push dword [esp + 0xc]
lea ecx, [esp + 0x544]
mov byte [esp + 0x26c], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ed04
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x548]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x544]
lea ecx, [esp + 0x8a4]
call fcn.00407820
lea ecx, [esp + 0x25d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ed50
sub ecx, esi
lea eax, [esp + 0x259]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x67c]
call fcn.00406110
lea ecx, [esp + 0x678]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x7e], 0
mov al, 0x52
mov byte [esp + 0x7e], 0
mov cl, 0xa
mov byte [esp + 0x7c], al
xor cl, al
mov dword [esp + 0x194], 0x7e7d7231
mov byte [esp + 0x7d], cl
xor eax, eax
mov cl, 0x31
mov dword [esp + 0x198], 0x736e7462
mov dword [esp + 0x19c], 0x7e656564
mov word [esp + 0x1a0], 0x7f
nop dword [eax + eax]
xor byte [esp + eax + 0x195], cl
inc eax
cmp eax, 0xc
jae 0x41ede6
mov cl, byte [esp + 0x194]
jmp 0x41edd0
push edx
push 0x2fd
lea eax, [esp + 0x85]
mov byte [esp + 0x1a9], 0
push eax
lea eax, [esp + 0x1a1]
push eax
call edi
lea ecx, [esp + 0x678]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x8a0]
call fcn.00402480
lea ecx, [esp + 0x540]
call fcn.00402480
movaps xmm0, xmmword [0x4d3500]
xor ecx, ecx
movups xmmword [esp + 0x26c], xmm0
mov byte [esp + 0x27c], 0
nop word [eax + eax]
mov al, byte [esp + 0x26c]
xor byte [esp + ecx + 0x26d], al
inc ecx
cmp ecx, 0xf
jb 0x41ee50
push dword [esp + 0xc]
lea ecx, [esp + 0x55c]
mov byte [esp + 0x280], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ee84
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x560]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x55c]
lea ecx, [esp + 0x8bc]
call fcn.00407820
lea ecx, [esp + 0x271]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eed0
sub ecx, esi
lea eax, [esp + 0x26d]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x694]
call fcn.00406110
lea ecx, [esp + 0x690]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x82], 0
mov al, 0x5f
mov byte [esp + 0x82], 0
mov cl, 6
mov byte [esp + 0x80], al
xor cl, al
mov dword [esp + 0x1a4], 0x7e7d7231
mov byte [esp + 0x81], cl
xor eax, eax
mov cl, 0x31
mov dword [esp + 0x1a8], 0x736e7462
mov dword [esp + 0x1ac], 0x7e656564
mov word [esp + 0x1b0], 0x7f
nop word [eax + eax]
xor byte [esp + eax + 0x1a5], cl
inc eax
cmp eax, 0xc
jae 0x41ef76
mov cl, byte [esp + 0x1a4]
jmp 0x41ef60
push edx
push 3
lea eax, [esp + 0x89]
mov byte [esp + 0x1b9], 0
push eax
lea eax, [esp + 0x1b1]
push eax
call edi
lea ecx, [esp + 0x690]
mov esi, eax
call fcn.00402480
lea ecx, [esp + 0x8b8]
call fcn.00402480
lea ecx, [esp + 0x558]
call fcn.00402480
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1dc], 0
mov eax, dword [esp + 0x1dc]
mov dword [0x4daf4c], eax
mov byte [esp + 0x290], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d34b0]
movq qword [0x4daf44], xmm1
movups xmmword [esp + 0x280], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x280]
xor byte [esp + ecx + 0x281], al
inc ecx
cmp ecx, 0xf
jb 0x41f010
push dword [esp + 0xc]
lea ecx, [esp + 0x49c]
mov byte [esp + 0x294], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f044
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x4a0]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x49c]
lea ecx, [esp + 0x8d4]
call fcn.00407820
lea ecx, [esp + 0x285]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f090
sub ecx, esi
lea eax, [esp + 0x281]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x6ac]
call fcn.00406110
lea ecx, [esp + 0x6a8]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x86], 0
mov al, 0x56
mov byte [esp + 0x86], 0
mov cl, 0xe
mov byte [esp + 0x84], al
xor cl, al
mov dword [esp + 0x138], 0x475a5808
mov byte [esp + 0x85], cl
xor eax, eax
mov cl, 8
mov dword [esp + 0x13c], 0x5b4d5a4f
mov dword [esp + 0x140], 0x5a494a5b
mov byte [esp + 0x144], 0
xor byte [esp + eax + 0x139], cl
inc eax
cmp eax, 0xb
jae 0x41f12b
mov cl, byte [esp + 0x138]
jmp 0x41f115
push edx
push 0x18
lea eax, [esp + 0x8d]
mov byte [esp + 0x14c], 0
push eax
lea eax, [esp + 0x145]
push eax
call edi
lea ecx, [esp + 0x6a8]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x8d0]
call fcn.00402480
lea ecx, [esp + 0x498]
call fcn.00402480
movaps xmm0, xmmword [str.w____]
xor ecx, ecx
movups xmmword [esp + 0x294], xmm0
mov byte [esp + 0x2a4], 0
nop dword [eax]
mov al, byte [esp + 0x294]
xor byte [esp + ecx + 0x295], al
inc ecx
cmp ecx, 0xf
jb 0x41f190
push dword [esp + 0xc]
lea ecx, [esp + 0x574]
mov byte [esp + 0x2a8], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f1c4
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x578]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x574]
lea ecx, [esp + 0x8ec]
call fcn.00407820
lea ecx, [esp + 0x299]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f210
sub ecx, esi
lea eax, [esp + 0x295]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x6c4]
call fcn.00406110
lea ecx, [esp + 0x6c0]
call fcn.00402470
mov edx, eax
mov byte [esp + 0x8a], 0
mov al, 0x18
mov byte [esp + 0x8a], 0
mov cl, 0x41
mov byte [esp + 0x88], al
xor cl, al
mov dword [esp + 0x148], 0x776a6838
mov byte [esp + 0x89], cl
xor eax, eax
mov cl, 0x38
mov dword [esp + 0x14c], 0x6b7d6a7f
mov dword [esp + 0x150], 0x6a797a6b
mov byte [esp + 0x154], 0
xor byte [esp + eax + 0x149], cl
inc eax
cmp eax, 0xb
jae 0x41f2ab
mov cl, byte [esp + 0x148]
jmp 0x41f295
push edx
push 0x22d
lea eax, [esp + 0x91]
mov byte [esp + 0x15c], 0
push eax
lea eax, [esp + 0x155]
push eax
call edi
lea ecx, [esp + 0x6c0]
mov esi, eax
call fcn.00402480
lea ecx, [esp + 0x8e8]
call fcn.00402480
lea ecx, [esp + 0x570]
call fcn.00402480
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1dc], 0
mov eax, dword [esp + 0x1dc]
mov dword [0x4daf3c], eax
mov byte [esp + 0x2b8], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d3200]
movq qword [0x4daf34], xmm1
movups xmmword [esp + 0x2a8], xmm0
nop dword [eax]
mov al, byte [esp + 0x2a8]
xor byte [esp + ecx + 0x2a9], al
inc ecx
cmp ecx, 0xf
jb 0x41f340
push dword [esp + 0xc]
lea ecx, [esp + 0x58c]
mov byte [esp + 0x2bc], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f374
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x590]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x58c]
lea ecx, [esp + 0x904]
call fcn.00407820
lea ecx, [esp + 0x2ad]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f3c0
sub ecx, esi
lea eax, [esp + 0x2a9]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x6dc]
call fcn.00406110
lea ecx, [esp + 0x6d8]
call fcn.00402470
push eax
mov byte [esp + 0x16c], 0x13
mov cl, 0x55
xor cl, byte [esp + 0x16c]
mov al, 0x4c
mov byte [esp + 0x16d], cl
mov ch, 0x5d
mov cl, byte [esp + 0x16c]
mov ah, 0x40
xor al, cl
mov byte [esp + 0xe], 0x5a
mov byte [esp + 0x171], al
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xf], 0x49
mov byte [esp + 0x173], al
mov dl, 0x5c
mov al, byte [esp + 0xf]
xor dl, cl
xor al, cl
mov byte [esp + 0xd], 0x56
mov byte [esp + 0x174], al
mov dh, 0x47
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0x172], ah
mov byte [esp + 0x175], al
mov ah, 0x53
mov byte [esp + 0x16f], ch
mov al, 0x41
mov ch, 7
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, 0x48
push 0xe
lea eax, [esp + 0x171]
mov byte [esp + 0x1c1], 0
push eax
mov dl, 0x49
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 + 0x6d8]
mov dword [esp + 0x10], eax
call fcn.00402480
lea ecx, [esp + 0x900]
call fcn.00402480
lea ecx, [esp + 0x588]
call fcn.00402480
movaps xmm0, xmmword [0x4d3480]
xor ecx, ecx
movups xmmword [esp + 0x2bc], xmm0
mov byte [esp + 0x2cc], 0
nop dword [eax]
mov al, byte [esp + 0x2bc]
xor byte [esp + ecx + 0x2bd], al
inc ecx
cmp ecx, 0xf
jb 0x41f530
push dword [esp + 0xc]
lea ecx, [esp + 0x5a4]
mov byte [esp + 0x2d0], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f564
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x5a8]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x5a4]
lea ecx, [esp + 0x91c]
call fcn.00407820
lea ecx, [esp + 0x2c1]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f5b0
sub ecx, esi
lea eax, [esp + 0x2bd]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x3dc]
call fcn.00406110
cmp dword [esp + 0x3ec], 0xf
lea esi, [esp + 0x3d8]
mov cl, 0x63
mov dword [esp + 0x158], 0x2d2c2563
cmova esi, dword [esp + 0x3d8]
xor eax, eax
mov dword [esp + 0x15c], 0x26343c37
mov dword [esp + 0x160], 0x372b242a
mov byte [esp + 0x164], 0
nop word [eax + eax]
xor byte [esp + eax + 0x159], cl
inc eax
cmp eax, 0xb
jae 0x41f636
mov cl, byte [esp + 0x158]
jmp 0x41f620
mov ch, 3
mov byte [esp + 0x1c9], 0
mov al, 0x45
mov byte [esp + 0x164], 0
mov ah, 0x57
mov byte [esp + 0x1c4], ch
xor al, ch
mov byte [esp + 0x1c9], 0
xor ah, ch
mov byte [esp + 0x1c5], al
push esi
mov byte [esp + 0x1cc], ah
mov cl, 0x4c
push 0x1f4
lea eax, [esp + 0x161]
mov dl, 0x4d
push eax
lea eax, [esp + 0x1d1]
xor cl, ch
xor dl, ch
mov byte [esp + 0x1d2], cl
push eax
mov byte [esp + 0x1d7], dl
call edi
lea ecx, [esp + 0x3d8]
call fcn.00402480
lea ecx, [esp + 0x918]
call fcn.00402480
lea ecx, [esp + 0x5a0]
call fcn.00402480
movaps xmm0, xmmword [0x4d31d0]
xor ecx, ecx
movups xmmword [esp + 0x2d0], xmm0
mov byte [esp + 0x2e0], 0
nop dword [eax + eax]
mov al, byte [esp + 0x2d0]
xor byte [esp + ecx + 0x2d1], al
inc ecx
cmp ecx, 0xf
jb 0x41f6e0
push dword [esp + 0xc]
lea ecx, [esp + 0x5bc]
mov byte [esp + 0x2e4], 0
call fcn.004026f0
mov ecx, 0x4dd008
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f714
sub ecx, edx
push ecx
push 0x4dd008
lea ecx, [esp + 0x5c0]
call fcn.004080c0
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x5bc]
lea ecx, [esp + 0x934]
call fcn.00407820
lea ecx, [esp + 0x2d5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f760
sub ecx, esi
lea eax, [esp + 0x2d1]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x3f4]
call fcn.00406110
cmp dword [esp + 0x404], 0xf
lea esi, [esp + 0x3f0]
mov byte [esp + 0xec], 0xe
mov al, 0x48
cmova esi, dword [esp + 0x3f0]
mov ah, 0x47
xor al, byte [esp + 0xec]
mov ch, 0x42
mov byte [esp + 0xed], al
mov cl, 0x4f
mov al, byte [esp + 0xec]
mov dl, 0x43
xor ah, al
mov byte [esp + 0xf3], 0
xor ch, al
mov byte [esp + 0xf0], ah
xor cl, al
mov byte [esp + 0xf1], ch
xor dl, al
mov byte [esp + 0xee], cl
mov ch, 0x28
mov byte [esp + 0xef], dl
mov dh, 0x57
mov byte [esp + 0x1c1], 0
xor dh, al
mov byte [esp + 0xf3], 0
push esi
mov al, 0x6e
mov byte [esp + 0xf6], dh
xor al, ch
mov byte [esp + 0x1c0], ch
mov ah, 0x7c
mov byte [esp + 0x1c1], al
xor ah, ch
mov byte [esp + 0x1c5], 0
mov byte [esp + 0x1c4], ah
mov cl, 0x67
push 0x19
lea eax, [esp + 0xad8]
mov dl, 0x66
push eax
push str.Verdana
lea eax, [esp + 0xfd]
xor cl, ch
push eax
lea eax, [esp + 0x1d1]
mov byte [esp + 0x1d2], cl
xor dl, ch
push eax
mov byte [esp + 0x1d7], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x3f0]
call fcn.00402480
lea ecx, [esp + 0x930]
call fcn.00402480
lea ecx, [esp + 0x5b8]
call fcn.00402480
movaps xmm0, xmmword [0x4d3620]
xor ecx, ecx
movups xmmword [esp + 0x2e4], xmm0
mov byte [esp + 0x2f4], 0
nop dword [eax + eax]
mov al, byte [esp + 0x2e4]
xor byte [esp + ecx + 0x2e5], al
inc ecx
cmp ecx, 0xf
jb 0x41f8b0
lea eax, [esp + 0xa98]
mov byte [esp + 0x2f4], 0
push eax
push 0x4dd008
lea ecx, [esp + 0x968]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x94c]
call fcn.00407820
lea ecx, [esp + 0x2e9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f902
sub ecx, esi
lea eax, [esp + 0x2e5]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x40c]
call fcn.00406110
cmp dword [esp + 0x41c], 0xf
lea esi, [esp + 0x408]
mov cl, 0x52
mov byte [esp + 0x108], 0x6d
cmova esi, dword [esp + 0x408]
mov al, 0xa
xor al, cl
mov byte [esp + 0x8c], cl
mov byte [esp + 0x8d], al
mov cl, 0x23
xor cl, byte [esp + 0x108]
mov al, 0x24
xor al, byte [esp + 0x108]
mov dh, 0x39
mov byte [esp + 0x109], al
mov ah, 0x22
mov byte [esp + 0x10a], cl
mov dl, 0x2b
mov cl, byte [esp + 0x108]
mov ch, 0x32
mov byte [esp + 9], 0x28
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 0x35
mov byte [esp + 0x10f], al
xor ch, cl
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x110], al
xor dh, cl
mov al, byte [esp + 0xa]
xor al, cl
mov byte [esp + 0x10c], ah
push esi
mov byte [esp + 0x115], al
lea eax, [esp + 0x91]
push 0x242
push eax
lea eax, [esp + 0x115]
mov byte [esp + 0x9a], 0
mov byte [esp + 0x11e], 0
push eax
mov byte [esp + 0x9e], 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 + 0x408]
mov dword [0x4dd0cc], eax
call fcn.00402480
lea ecx, [esp + 0x948]
call fcn.00402480
lea ecx, [esp + 0x960]
call fcn.00402480
movaps xmm0, xmmword [0x4d32c0]
xor ecx, ecx
movups xmmword [esp + 0x2f8], xmm0
mov byte [esp + 0x308], 0
nop dword [eax]
mov al, byte [esp + 0x2f8]
xor byte [esp + ecx + 0x2f9], al
inc ecx
cmp ecx, 0xf
jb 0x41fa60
lea eax, [esp + 0xa98]
mov byte [esp + 0x308], 0
push eax
push 0x4dd008
lea ecx, [esp + 0x998]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x97c]
call fcn.00407820
lea ecx, [esp + 0x2fd]
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 + 0x2f9]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x424]
call fcn.00406110
cmp dword [esp + 0x434], 0xf
lea esi, [esp + 0x420]
mov cl, 0x53
mov byte [esp + 0x114], 7
cmova esi, dword [esp + 0x420]
mov al, 0xa
xor al, cl
mov byte [esp + 0x90], cl
mov byte [esp + 0x91], al
mov cl, 0x49
xor cl, byte [esp + 0x114]
mov al, 0x4e
xor al, byte [esp + 0x114]
mov dh, 0x53
mov byte [esp + 0x115], al
mov ah, 0x48
mov byte [esp + 0x116], cl
mov dl, 0x41
mov cl, byte [esp + 0x114]
mov ch, 0x58
mov byte [esp + 9], 0x42
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 0x5f
mov byte [esp + 0x11b], al
xor ch, cl
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x11c], al
xor dh, cl
mov al, byte [esp + 0xa]
xor al, cl
mov byte [esp + 0x118], ah
push esi
mov byte [esp + 0x121], al
lea eax, [esp + 0x95]
push 0x212
push eax
lea eax, [esp + 0x121]
mov byte [esp + 0x9e], 0
mov byte [esp + 0x12a], 0
push eax
mov byte [esp + 0xa2], 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 + 0x420]
mov dword [0x4dcff8], eax
call fcn.00402480
lea ecx, [esp + 0x978]
call fcn.00402480
lea ecx, [esp + 0x990]
call fcn.00402480
movaps xmm0, xmmword [0x4d35d0]
xor ecx, ecx
movups xmmword [esp + 0x30c], xmm0
mov byte [esp + 0x31c], 0
nop dword [eax]
mov al, byte [esp + 0x30c]
xor byte [esp + ecx + 0x30d], al
inc ecx
cmp ecx, 0xf
jb 0x41fc10
lea eax, [esp + 0xa98]
mov byte [esp + 0x31c], 0
push eax
push 0x4dd008
lea ecx, [esp + 0x9c8]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x9ac]
call fcn.00407820
lea ecx, [esp + 0x311]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fc62
sub ecx, esi
lea eax, [esp + 0x30d]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x43c]
call fcn.00406110
cmp dword [esp + 0x44c], 0xf
lea esi, [esp + 0x438]
mov cl, 0x2b
mov byte [esp + 0x120], 0x3a
cmova esi, dword [esp + 0x438]
mov al, 0x73
xor al, cl
mov byte [esp + 0x94], cl
mov byte [esp + 0x95], al
mov cl, 0x7b
xor cl, byte [esp + 0x120]
mov al, 0x6a
xor al, byte [esp + 0x120]
mov ah, 0x7f
mov byte [esp + 0x121], al
mov dh, 0x6e
mov byte [esp + 9], ah
mov dl, 0x7d
mov al, byte [esp + 9]
mov ch, 0x65
mov byte [esp + 0x122], cl
mov cl, byte [esp + 0x120]
xor al, cl
mov byte [esp + 0xb], 0x62
mov byte [esp + 0x127], al
xor ah, cl
mov al, byte [esp + 0xb]
xor dl, cl
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x128], al
xor ch, cl
mov al, byte [esp + 0xa]
xor dh, cl
xor al, cl
mov byte [esp + 0x124], ah
push esi
mov byte [esp + 0x12d], al
lea eax, [esp + 0x99]
push 0x262
push eax
lea eax, [esp + 0x12d]
mov byte [esp + 0xa2], 0
mov byte [esp + 0x136], 0
push eax
mov byte [esp + 0xa6], 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 + 0x438]
call fcn.00402480
lea ecx, [esp + 0x9a8]
call fcn.00402480
lea ecx, [esp + 0x9c0]
call fcn.00402480
movaps xmm0, xmmword [0x4d3440]
xor ecx, ecx
movups xmmword [esp + 0x320], xmm0
mov byte [esp + 0x330], 0
nop word [eax + eax]
mov al, byte [esp + 0x320]
xor byte [esp + ecx + 0x321], al
inc ecx
cmp ecx, 0xf
jb 0x41fdc0
lea eax, [esp + 0xa98]
mov byte [esp + 0x330], 0
push eax
push 0x4dd008
lea ecx, [esp + 0x9f8]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0x9dc]
call fcn.00407820
lea ecx, [esp + 0x325]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fe12
sub ecx, esi
lea eax, [esp + 0x321]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x454]
call fcn.00406110
cmp dword [esp + 0x464], 0xf
lea esi, [esp + 0x450]
mov cl, 0x37
mov byte [esp + 0x12c], 0x1d
cmova esi, dword [esp + 0x450]
mov al, 0x6e
xor al, cl
mov byte [esp + 0x98], cl
mov byte [esp + 0x99], al
mov cl, 0x5c
xor cl, byte [esp + 0x12c]
mov al, 0x4d
xor al, byte [esp + 0x12c]
mov ah, 0x58
mov byte [esp + 0x12d], al
mov dh, 0x49
mov byte [esp + 9], ah
mov dl, 0x5a
mov al, byte [esp + 9]
mov ch, 0x42
mov byte [esp + 0x12e], cl
mov cl, byte [esp + 0x12c]
xor al, cl
mov byte [esp + 0xb], 0x45
mov byte [esp + 0x133], al
xor ah, cl
mov al, byte [esp + 0xb]
xor dl, cl
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x134], al
xor ch, cl
mov al, byte [esp + 0xa]
xor dh, cl
xor al, cl
mov byte [esp + 0x130], ah
push esi
mov byte [esp + 0x139], al
lea eax, [esp + 0x9d]
push 0x1ae
push eax
lea eax, [esp + 0x139]
mov byte [esp + 0xa6], 0
mov byte [esp + 0x142], 0
push eax
mov byte [esp + 0xaa], 0
mov byte [esp + 0x13f], dl
mov byte [esp + 0x141], ch
mov byte [esp + 0x142], dh
mov byte [esp + 0x146], 0
call edi
lea ecx, [esp + 0x450]
call fcn.00402480
lea ecx, [esp + 0x9d8]
call fcn.00402480
lea ecx, [esp + 0x9f0]
call fcn.00402480
movaps xmm0, xmmword [0x4d33c0]
xor ecx, ecx
movups xmmword [esp + 0x334], xmm0
mov byte [esp + 0x344], 0
nop word [eax + eax]
mov al, byte [esp + 0x334]
xor byte [esp + ecx + 0x335], al
inc ecx
cmp ecx, 0xf
jb 0x41ff70
lea eax, [esp + 0xa98]
mov byte [esp + 0x344], 0
push eax
push 0x4dd008
lea ecx, [esp + 0xa28]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0xa0c]
call fcn.00407820
lea ecx, [esp + 0x339]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ffc2
sub ecx, esi
lea eax, [esp + 0x335]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x46c]
call fcn.00406110
cmp dword [esp + 0x47c], 0xf
lea esi, [esp + 0x468]
mov byte [esp + 0x9c], 0x70
mov al, 0x23
cmova esi, dword [esp + 0x468]
mov cl, 0x24
xor al, byte [esp + 0x9c]
mov ch, cl
mov byte [esp + 0x9d], al
mov dl, 0x31
mov al, byte [esp + 0x9c]
mov ah, 0x22
xor cl, al
mov byte [esp + 9], 0x28
xor dl, al
mov byte [esp + 0xa8], 0x41
xor ah, al
mov byte [esp + 0x9e], cl
xor ch, al
mov byte [esp + 0xa0], ah
mov dh, 0x2f
mov byte [esp + 0x9f], dl
xor dh, al
mov byte [esp + 0xa1], ch
mov al, byte [esp + 9]
mov cl, 0xe
xor al, byte [esp + 0x9c]
mov dl, 0x15
mov byte [esp + 0xa3], al
mov ah, 8
mov al, 0xf
mov byte [esp + 0xa2], dh
xor al, byte [esp + 0xa8]
mov ch, 2
mov byte [esp + 0xa9], al
mov dh, 4
mov al, byte [esp + 0xa8]
xor cl, al
mov byte [esp + 9], 0x12
xor dl, al
mov byte [esp + 0xa4], 0
xor ah, al
mov byte [esp + 0xb0], 0
xor ch, al
mov byte [esp + 0xac], ah
xor dh, al
mov byte [esp + 0xa4], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xa8]
push esi
mov byte [esp + 0xb3], al
lea eax, [esp + 0xa1]
push 0xc8
push eax
lea eax, [esp + 0xb5]
mov byte [esp + 0xb6], cl
push eax
mov byte [esp + 0xbb], dl
mov byte [esp + 0xbd], ch
mov byte [esp + 0xbe], dh
mov byte [esp + 0xc0], 0
call edi
lea ecx, [esp + 0x468]
mov dword [0x4dd088], eax
call fcn.00402480
lea ecx, [esp + 0xa08]
call fcn.00402480
lea ecx, [esp + 0xa20]
call fcn.00402480
movaps xmm0, xmmword [0x4d30e0]
movups xmmword [esp + 0x348], xmm0
mov byte [esp + 0x358], 0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x348]
xor byte [esp + ecx + 0x349], al
inc ecx
cmp ecx, 0xf
jb 0x420160
lea eax, [esp + 0xa98]
mov byte [esp + 0x358], 0
push eax
push 0x4dd008
lea ecx, [esp + 0xa58]
call fcn.00406160
mov edx, eax
lea ecx, [esp + 0xa3c]
call fcn.00407820
lea ecx, [esp + 0x34d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4201b2
sub ecx, esi
lea eax, [esp + 0x349]
push ecx
push eax
mov ecx, edx
call fcn.00405fb0
push eax
lea ecx, [esp + 0x484]
call fcn.00406110
cmp dword [esp + 0x494], 0xf
lea esi, [esp + 0x480]
mov byte [esp + 0xb4], 0x6d
mov al, 0x3e
cmova esi, dword [esp + 0x480]
mov cl, 0x39
xor al, byte [esp + 0xb4]
mov ch, cl
mov byte [esp + 0xb5], al
mov dl, 0x2c
mov al, byte [esp + 0xb4]
mov ah, 0x3f
xor cl, al
mov byte [esp + 9], 0x34
xor dl, al
mov byte [esp + 0xc0], 3
xor ah, al
mov byte [esp + 0xb6], cl
xor ch, al
mov byte [esp + 0xb8], ah
mov dh, 0x32
mov byte [esp + 0xb7], dl
xor dh, al
mov byte [esp + 0xb9], ch
mov al, byte [esp + 9]
mov cl, 0x4c
xor al, byte [esp + 0xb4]
mov dl, 0x57
mov byte [esp + 0xbb], al
mov ah, 0x4a
mov al, 0x4d
mov byte [esp + 0xba], dh
xor al, byte [esp + 0xc0]
mov ch, 0x40
mov byte [esp + 0xc1], al
mov dh, 0x46
mov al, byte [esp + 0xc0]
xor cl, al
mov byte [esp + 9], 0x50
xor dl, al
mov byte [esp + 0xbc], 0
xor ah, al
mov byte [esp + 0xc8], 0
xor ch, al
mov byte [esp + 0xc4], ah
xor dh, al
mov byte [esp + 0xbc], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xc0]
push esi
mov byte [esp + 0xcb], al
lea eax, [esp + 0xb9]
push 0x1e0
push eax
lea eax, [esp + 0xcd]
mov byte [esp + 0xce], cl
push eax
mov byte [esp + 0xd3], dl
mov byte [esp + 0xd5], ch
mov byte [esp + 0xd6], dh
mov byte [esp + 0xd8], 0
call edi
lea ecx, [esp + 0x480]
mov dword [0x4dd08c], eax
call fcn.00402480
lea ecx, [esp + 0xa38]
call fcn.00402480
lea ecx, [esp + 0xa50]
call fcn.00402480
movaps xmm0, xmmword [0x4d3350]
movups xmmword [esp + 0x35c], xmm0
mov byte [esp + 0x36c], 0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x35c]
xor byte [esp + ecx + 0x35d], al
inc ecx
cmp ecx, 0xf
jb 0x420350
push 0x4dd008
lea ecx, [esp + 0x724]
mov byte [esp + 0x370], 0
call fcn.00406160
lea ecx, [esp + 0xa98]
push ecx
mov ecx, eax
call fcn.00406010
push eax
lea ecx, [esp + 0x6f4]
call fcn.00406110
lea ecx, [esp + 0x35d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4203a3
sub ecx, edx
lea eax, [esp + 0x35d]
push ecx
push eax
lea ecx, [esp + 0x6f8]
call fcn.00405fb0
push eax
lea ecx, [esp + 0x3c4]
call fcn.00406110
cmp dword [esp + 0x3d4], 0xf
lea esi, [esp + 0x3c0]
mov cl, 0x42
mov byte [esp + 0xf4], 4
cmova esi, dword [esp + 0x3c0]
mov dl, cl
xor cl, byte [esp + 0xf4]
mov al, 0x4b
xor al, byte [esp + 0xf4]
mov ah, 0x57
mov byte [esp + 0xf5], al
mov ch, 0x41
mov byte [esp + 0xf6], cl
mov dh, 0x50
mov cl, byte [esp + 0xf4]
mov byte [esp + 9], 0x5b
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 0x5d
mov byte [esp + 0xfb], al
xor ch, cl
mov al, byte [esp + 0xb]
xor dh, cl
xor al, cl
mov byte [esp + 0xcc], 0x33
mov byte [esp + 0xfc], al
mov cl, 0x7c
mov al, 0x7d
mov byte [esp + 0xf8], ah
xor al, byte [esp + 0xcc]
mov ah, 0x7a
mov byte [esp + 0xcd], al
mov al, byte [esp + 0xcc]
mov byte [esp + 0xf7], dl
xor cl, al
mov byte [esp + 0xf9], ch
xor ah, al
mov byte [esp + 0xfa], dh
mov dl, 0x67
xor dl, al
mov byte [esp + 9], 0x60
mov ch, 0x70
mov byte [esp + 0xd0], ah
xor ch, al
mov byte [esp + 0xfd], 0
mov dh, 0x76
mov byte [esp + 0xd4], 0
xor dh, al
mov byte [esp + 0xfd], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xcc]
push esi
mov byte [esp + 0xd7], al
lea eax, [esp + 0xf9]
push 0x17
push eax
lea eax, [esp + 0xd9]
mov byte [esp + 0xda], cl
push eax
mov byte [esp + 0xdf], dl
mov byte [esp + 0xe1], ch
mov byte [esp + 0xe2], dh
mov byte [esp + 0xe4], 0
call edi
lea ecx, [esp + 0x3c0]
call fcn.00402480
lea ecx, [esp + 0x6f0]
call fcn.00402480
lea ecx, [esp + 0x720]
call fcn.00402480
mov eax, dword [0x4daf40]
mov ecx, dword [0x4daf10]
mov dword [0x4dd000], eax
mov dword [0x4dd094], eax
mov eax, dword fs:[0x2c]
mov dword [0x4dcffc], ecx
mov dword [0x4dd090], ecx
mov ecx, dword [eax]
mov eax, dword [0x55d3cc]
cmp eax, dword [ecx + 4]
jle 0x420583
push 0x55d3cc
call fcn.00472719
add esp, 4
cmp dword [0x55d3cc], 0xffffffff
jne 0x420583
push 0x55d3cc
call fcn.004726c8
add esp, 4
push 0
mov dword [esp + 0xa6c], 0x30
mov dword [esp + 0xa70], 0x3000
mov dword [esp + 0xa74], 0x421830
mov dword [esp + 0xa78], 0
mov dword [esp + 0xa7c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [esp + 0x1cc]
push 0x65
push edi
mov dword [esp + 0xa84], eax
mov dword [esp + 0xa8c], 0
mov dword [esp + 0xa90], 0
mov dword [esp + 0xa94], 0
mov dword [esp + 0xa98], 0x4ce260
mov dword [esp + 0xa9c], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0xa80], eax
lea eax, [esp + 0xa68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0xa80]
mov byte [esp + 0xe8], 4
mov al, 0x48
xor al, byte [esp + 0xe8]
mov cl, 0x65
xor cl, byte [esp + 0xe8]
mov ah, 0x6a
push 0
push 0
push dword [0x4daf40]
mov byte [esp + 0xf5], al
mov dl, 0x71
push dword [0x4daf10]
mov byte [esp + 0xfa], cl
mov ch, 0x67
mov cl, byte [esp + 0xf8]
mov dh, 0x6c
mov byte [esp + 0x21], 0x61
xor ah, cl
mov al, byte [esp + 0x21]
xor dl, cl
xor al, cl
mov byte [esp + 0x23], 0x76
mov byte [esp + 0xff], al
xor ch, cl
mov al, byte [esp + 0x23]
xor dh, cl
push 0x64
push 0x64
xor al, cl
mov byte [esp + 0x104], ah
push connect
mov byte [esp + 0x10c], al
lea eax, [esp + 0x105]
push eax
push dword [esp + 0xab8]
mov byte [esp + 0x115], 0
push 0
mov byte [esp + 0x113], dl
mov byte [esp + 0x115], ch
mov byte [esp + 0x116], dh
mov byte [esp + 0x119], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x4daf40]
mov esi, eax
xor edx, edx
push dword [0x4daf10]
mov ecx, esi
mov dword [esp + 0x1d4], esi
call fcn.0041da80
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 [0x4dcb80], esi
call fcn.00420c80
test al, al
jne 0x42074e
call fcn.00420fc0
jmp 0x420773
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0041cfa0
test al, al
jne 0x42078e
call fcn.00420fc0
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa7c]
push dword [esp + 0xa94]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x420c30
xorps xmm0, xmm0
mov dword [0x4dcfe8], edi
push 0x2b4
movups xmmword [0x4dcfbc], xmm0
mov dword [0x4dcfcc], 0
mov dword [0x4dcfd0], 0
call fcn.00472234
add esp, 4
mov esi, eax
mov ecx, esi
push 0x2b4
call fcn.00420c60
mov ecx, esi
call fcn.00421ec0
mov edi, dword [esp + 0xc]
mov edx, edi
mov ecx, dword [0x4dcb80]
mov dword [0x4dcb88], eax
mov dword [eax + 0x148], ecx
lea ecx, [eax + 0x154]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4207f4
sub edx, esi
push edx
push edi
call fcn.004024f0
cmp dword [0x4dcfd8], 0
jne 0x42083d
push 0x4dcfd8
lea eax, [esp + 0xad4]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x2bc
push 0
push dword [esp + 0x38]
push dword [0x4dd358]
call dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
push 0
push 0
push 0
push 0x41cf90
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f00
push 0
mov dword [0x4dd344], eax
call esi
push 0x7f00
push 0
mov dword [0x4dd338], eax
call esi
push dword [0x4dd344]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4dd334], eax
call edi
mov eax, dword [0x4dcb88]
add eax, 0x2c
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 1
call fcn.00472234
xorps xmm0, xmm0
mov dword [0x4dd0c4], eax
add esp, 4
movaps xmmword [esp + 0xab0], xmm0
movq qword [esp + 0xac0], xmm0
mov dword [esp + 0xac8], 0
push 1
push 0
push 0
push 0
lea eax, [esp + 0xac0]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x42090d
lea eax, [esp + 0xab0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xab0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x420bf5
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x420922
push dword [0x4dd334]
jmp 0x420928
push dword [0x4dd344]
call edi
mov eax, dword [0x4dd358]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4dd358]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4dd358]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4dd358]
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 [0x4dd358]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x420bb2
mov eax, dword [0x4dcb88]
mov dword [0x4dd0f0], 0
push 0x10
movzx ecx, byte [eax + 0x2b0]
mov eax, 0x51eb851f
imul ecx, dword [0x4dd0b4]
mov dword [0x4dd0f4], 0
mul ecx
mov eax, dword [0x4dd0b8]
mov dword [0x4dd0fc], eax
mov eax, dword [0x4dd0bc]
shr edx, 5
mov dword [0x4dd0f8], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x4dd0bc]
push 0xffffffffffffffff
push 0x4dd348
push 0
mov ecx, dword [eax]
push 0
push dword [0x4dd100]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [0x4dd0bc]
mov ecx, dword [0x4dcfbc]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420a2d
mov eax, dword [0x4dcfb8]
jmp 0x420a3c
mov eax, dword [0x4dcfe0]
cmp ecx, 2
cmove eax, dword [0x4dd104]
push 0xffffffffffffffff
push 0x4daf14
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4dd0bc]
mov ecx, dword [0x4dcfc4]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420a67
mov eax, dword [0x4dcfb0]
jmp 0x420a76
mov eax, dword [0x4dcb8c]
cmp ecx, 2
cmove eax, dword [0x4dd004]
push 0xffffffffffffffff
push 0x4daf68
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4dd0bc]
mov ecx, dword [0x4dcfc8]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x420aa1
mov eax, dword [0x4dd098]
jmp 0x420ab0
mov eax, dword [0x4dcff0]
cmp ecx, 2
cmove eax, dword [0x4dcfb4]
push 0xffffffffffffffff
push 0x4daf44
push 0
push 0
push eax
push edx
call esi
mov eax, dword [0x4dd0bc]
push 0xffffffffffffffff
push 0x4daf34
push 0
mov ecx, dword [eax]
push 0
push dword [0x4dd0c0]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4dd0bc]
push 0xffffffffffffffff
push 0x4daf34
push 0
mov ecx, dword [eax]
push 0x4dd0f0
push dword [0x4dd0c8]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4dd0bc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov eax, dword [0x4dcb88]
lea ecx, [esp + 0x708]
mov esi, dword [0x4dcfd8]
add eax, 0x280
push eax
call fcn.004061a0
lea ecx, [esp + 0x708]
call fcn.00402470
mov edx, esi
mov ecx, eax
call fcn.0041daf0
lea ecx, [esp + 0x708]
call fcn.00402480
mov eax, dword [0x4dd0cc]
lea ecx, [esp + 0x5d0]
mov dword [0x4dcff4], eax
mov eax, dword [0x4dcfd8]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
mov eax, dword [0x4dcb88]
add eax, 0x280
push eax
call fcn.004061a0
lea ecx, [esp + 0x5d0]
call fcn.00402470
push 0xffffffffffffffff
push 0
push 0x4dcff4
push 0xffffffffffffffff
push eax
push 0
push dword [0x4dcfd8]
call esi
lea ecx, [esp + 0x5d0]
call fcn.00402480
mov eax, dword [0x4dd358]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov ecx, dword [0x4dd358]
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 0x420bf5
mov eax, dword [0x4dd358]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x420bf5
mov eax, dword [0x4dd358]
push 0x4dd364
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
cmp dword [esp + 0xab4], 0x12
jne 0x4208d2
call fcn.00420fc0
push dword [esp + 0x1cc]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa7c]
push dword [esp + 0xa94]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, dword [esp + 0xab8]
lea ecx, [esp + 0xa98]
call fcn.00402480
mov ecx, dword [esp + 0xaec]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00472221
mov esp, ebp
pop ebp
ret 0x10