Function at 0x41e160
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
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xae8
mov eax, dword [0x4da0c0]
xor eax, esp
mov dword [esp + 0xae4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
movaps xmm0, xmmword [0x4d42d0]
push esi
mov dword [esp + 0x1dc], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [esp + 0xc], eax
movups xmmword [esp + 0x384], xmm0
mov word [esp + 0x394], 0x45
nop dword [eax + eax]
mov al, byte [esp + 0x384]
xor byte [esp + ecx + 0x385], al
inc ecx
cmp ecx, 0x10
jb 0x41e1b0
lea eax, [esp + 0x385]
mov byte [esp + 0x395], 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 0x41e203
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xae4]
xor ecx, esp
call fcn.00473461
mov esp, ebp
pop ebp
ret 0x10
push 0x4ddc10
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movaps xmm0, xmmword [0x4d4770]
xor ecx, ecx
movups xmmword [esp + 0x1f4], xmm0
mov word [esp + 0x204], 0x4f61
mov byte [esp + 0x206], 0
nop word [eax + eax]
mov al, byte [esp + 0x1f4]
xor byte [esp + ecx + 0x1f5], al
inc ecx
cmp ecx, 0x11
jb 0x41e240
lea eax, [esp + 0x1f5]
mov byte [esp + 0x206], 0
push eax
lea ecx, [esp + 0xa9c]
call fcn.004067e0
mov al, 6
mov byte [esp + 0x10c], 0x64
mov ah, al
mov byte [esp + 0x113], 0
xor al, byte [esp + 0x10c]
mov cl, 3
mov byte [esp + 0x10d], al
mov ch, 9
mov al, byte [esp + 0x10c]
mov dl, 0x4a
xor cl, al
mov byte [esp + 0x113], 0
xor ch, al
mov byte [esp + 0x10e], cl
mov dh, 0x14
mov byte [esp + 0x111], ch
xor dl, al
lea ecx, [esp + 0x768]
xor ah, al
mov byte [esp + 0x10f], dl
xor dh, al
mov byte [esp + 0x110], ah
push 0x4ddc10
mov byte [esp + 0x116], dh
call fcn.004067e0
lea ecx, [esp + 0xa98]
push ecx
mov ecx, eax
call fcn.00406690
push eax
lea ecx, [esp + 0x5ec]
call fcn.00406790
push 0x10
push 0
push 0
lea eax, [esp + 0x119]
push 0
push eax
lea edx, [esp + 0x5fc]
lea ecx, [esp + 0x764]
call fcn.00407e40
add esp, 4
mov ecx, eax
call fcn.00402af0
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
lea ecx, [esp + 0x750]
call fcn.00402b00
lea ecx, [esp + 0x5e8]
call fcn.00402b00
lea ecx, [esp + 0x768]
call fcn.00402b00
push 0x55
lea ecx, [esp + 0x68]
mov byte [esp + 0x68], 0x69
call fcn.004224f0
push 0x49
lea ecx, [esp + 0x68]
mov byte [esp + 0x69], al
call fcn.004224f0
push 0x58
lea ecx, [esp + 0x68]
mov byte [esp + 0x6a], al
call fcn.004224f0
push 0x53
lea ecx, [esp + 0x68]
mov byte [esp + 0x6b], al
call fcn.004224f0
push 0x65
lea ecx, [esp + 0x68]
mov byte [esp + 0x6c], al
call fcn.004224f0
mov byte [esp + 0x69], al
lea ecx, [esp + 0x64]
push 0x74
call fcn.004224f0
push 0x74
lea ecx, [esp + 0x68]
mov byte [esp + 0x6e], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x68]
mov byte [esp + 0x6f], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x68]
mov byte [esp + 0x70], al
call fcn.004224f0
push 0x67
lea ecx, [esp + 0x68]
mov byte [esp + 0x71], al
call fcn.004224f0
push 0x73
lea ecx, [esp + 0x68]
mov byte [esp + 0x72], al
call fcn.004224f0
push 0x2e
lea ecx, [esp + 0x68]
mov byte [esp + 0x73], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x68]
mov byte [esp + 0x74], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x68]
mov byte [esp + 0x75], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x68]
mov byte [esp + 0x76], al
call fcn.004224f0
mov byte [esp + 0x73], al
xor esi, esi
mov byte [esp + 0x74], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x69]
call fcn.0040a240
lea ecx, [esp + 0x64]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x69]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41e450
push 0xf
lea ecx, [esp + 0x69]
call fcn.0040a240
lea ecx, [esp + 0x65]
mov byte [eax], 0
call fcn.0040a230
mov esi, eax
lea ecx, [esp + 0x7b0]
lea eax, [esp + 0xa98]
push eax
push 0x4ddc10
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x79c]
call fcn.00407ea0
add esp, 4
lea ecx, [esp + 0x780]
mov edx, eax
push esi
call fcn.00407e40
add esp, 4
mov ecx, eax
call fcn.00402af0
push 0x57
lea ecx, [esp + 0x18]
mov dword [esp + 0x1e8], eax
mov byte [esp + 0x18], 0x54
call fcn.004224f0
push 0x49
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], al
call fcn.004224f0
push 0x44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a], al
call fcn.004224f0
push 0x54
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b], al
call fcn.004224f0
push 0x48
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c], al
call fcn.004224f0
mov byte [esp + 0x19], al
xor esi, esi
mov byte [esp + 0x1a], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x19]
call fcn.0040a240
lea ecx, [esp + 0x14]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x19]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x41e540
push 5
lea ecx, [esp + 0x19]
call fcn.0040a240
lea ecx, [esp + 0x15]
mov byte [eax], 0
call fcn.0040a230
push 0x4c
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], 0x7a
mov edi, eax
call fcn.004224f0
push 0x41
lea ecx, [esp + 0x28]
mov byte [esp + 0x29], al
call fcn.004224f0
push 0x55
lea ecx, [esp + 0x28]
mov byte [esp + 0x2a], al
call fcn.004224f0
push 0x4e
lea ecx, [esp + 0x28]
mov byte [esp + 0x2b], al
call fcn.004224f0
push 0x43
lea ecx, [esp + 0x28]
mov byte [esp + 0x2c], al
call fcn.004224f0
push 0x48
lea ecx, [esp + 0x28]
mov byte [esp + 0x2d], al
call fcn.004224f0
push 0x45
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e], al
call fcn.004224f0
push 0x52
lea ecx, [esp + 0x28]
mov byte [esp + 0x2f], al
call fcn.004224f0
mov byte [esp + 0x2c], al
xor esi, esi
mov byte [esp + 0x2d], 0
nop
push esi
lea ecx, [esp + 0x29]
call fcn.0040a240
lea ecx, [esp + 0x24]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x29]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x41e610
push 8
lea ecx, [esp + 0x29]
call fcn.0040a240
lea ecx, [esp + 0x25]
mov byte [eax], 0
call fcn.0040a230
push dword [esp + 0x1e4]
push 0x322
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
call edi
lea ecx, [esp + 0x780]
mov dword [0x4dbf10], eax
call fcn.00402b00
lea ecx, [esp + 0x798]
call fcn.00402b00
lea ecx, [esp + 0x7b0]
call fcn.00402b00
push 0x55
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], 0x40
call fcn.004224f0
push 0x49
lea ecx, [esp + 0x54]
mov byte [esp + 0x55], al
call fcn.004224f0
push 0x58
lea ecx, [esp + 0x54]
mov byte [esp + 0x56], al
call fcn.004224f0
push 0x53
lea ecx, [esp + 0x54]
mov byte [esp + 0x57], al
call fcn.004224f0
push 0x65
lea ecx, [esp + 0x54]
mov byte [esp + 0x58], al
call fcn.004224f0
push 0x74
lea ecx, [esp + 0x54]
mov byte [esp + 0x59], al
call fcn.004224f0
push 0x74
lea ecx, [esp + 0x54]
mov byte [esp + 0x5a], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x5b], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x54]
mov byte [esp + 0x5c], al
call fcn.004224f0
push 0x67
lea ecx, [esp + 0x54]
mov byte [esp + 0x5d], al
call fcn.004224f0
push 0x73
lea ecx, [esp + 0x54]
mov byte [esp + 0x5e], al
call fcn.004224f0
push 0x2e
lea ecx, [esp + 0x54]
mov byte [esp + 0x5f], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x60], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x54]
mov byte [esp + 0x61], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x54]
mov byte [esp + 0x62], al
call fcn.004224f0
mov byte [esp + 0x5f], al
mov byte [esp + 0x60], 0
xor esi, esi
push esi
lea ecx, [esp + 0x55]
call fcn.0040a240
lea ecx, [esp + 0x50]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x55]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41e784
push 0xf
lea ecx, [esp + 0x55]
call fcn.0040a240
lea ecx, [esp + 0x51]
mov byte [eax], 0
call fcn.0040a230
mov esi, eax
lea ecx, [esp + 0x7f8]
lea eax, [esp + 0xa98]
push eax
push 0x4ddc10
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x7e4]
call fcn.00407ea0
add esp, 4
lea ecx, [esp + 0x7c8]
mov edx, eax
push esi
call fcn.00407e40
add esp, 4
mov ecx, eax
call fcn.00402af0
push 0x48
lea ecx, [esp + 0x20]
mov dword [esp + 0x1e8], eax
mov byte [esp + 0x20], 0x25
call fcn.004224f0
push 0x45
lea ecx, [esp + 0x20]
mov byte [esp + 0x21], al
call fcn.004224f0
push 0x49
lea ecx, [esp + 0x20]
mov byte [esp + 0x22], al
call fcn.004224f0
push 0x47
lea ecx, [esp + 0x20]
mov byte [esp + 0x23], al
call fcn.004224f0
push 0x48
lea ecx, [esp + 0x20]
mov byte [esp + 0x24], al
call fcn.004224f0
push 0x54
lea ecx, [esp + 0x20]
mov byte [esp + 0x25], al
call fcn.004224f0
mov byte [esp + 0x22], al
xor esi, esi
mov byte [esp + 0x23], 0
nop
push esi
lea ecx, [esp + 0x21]
call fcn.0040a240
lea ecx, [esp + 0x1c]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x21]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x41e880
push 6
lea ecx, [esp + 0x21]
call fcn.0040a240
lea ecx, [esp + 0x1d]
mov byte [eax], 0
call fcn.0040a230
push 0x4c
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], eax
mov byte [esp + 0x34], 0x36
call fcn.004224f0
push 0x41
lea ecx, [esp + 0x34]
mov byte [esp + 0x35], al
call fcn.004224f0
push 0x55
lea ecx, [esp + 0x34]
mov byte [esp + 0x36], al
call fcn.004224f0
push 0x4e
lea ecx, [esp + 0x34]
mov byte [esp + 0x37], al
call fcn.004224f0
push 0x43
lea ecx, [esp + 0x34]
mov byte [esp + 0x38], al
call fcn.004224f0
push 0x48
lea ecx, [esp + 0x34]
mov byte [esp + 0x39], al
call fcn.004224f0
push 0x45
lea ecx, [esp + 0x34]
mov byte [esp + 0x3a], al
call fcn.004224f0
push 0x52
lea ecx, [esp + 0x34]
mov byte [esp + 0x3b], al
call fcn.004224f0
mov byte [esp + 0x38], al
xor esi, esi
mov byte [esp + 0x39], 0
push esi
lea ecx, [esp + 0x35]
call fcn.0040a240
lea ecx, [esp + 0x30]
movzx eax, byte [eax]
push eax
call fcn.004224f0
push esi
lea ecx, [esp + 0x35]
mov byte [esp + 0xe], al
call fcn.0040a240
mov cl, byte [esp + 0xa]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x41e950
push 8
lea ecx, [esp + 0x35]
call fcn.0040a240
lea ecx, [esp + 0x31]
mov byte [eax], 0
call fcn.0040a230
push dword [esp + 0x1e4]
push 0x252
push dword [esp + 0x18]
push eax
call edi
lea ecx, [esp + 0x7c8]
mov dword [0x4dbf44], eax
call fcn.00402b00
lea ecx, [esp + 0x7e0]
call fcn.00402b00
lea ecx, [esp + 0x7f8]
call fcn.00402b00
push 0x55
lea ecx, [esp + 0x40]
mov byte [esp + 0x40], 0x3c
call fcn.004224f0
push 0x49
lea ecx, [esp + 0x40]
mov byte [esp + 0x41], al
call fcn.004224f0
push 0x58
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], al
call fcn.004224f0
push 0x53
lea ecx, [esp + 0x40]
mov byte [esp + 0x43], al
call fcn.004224f0
push 0x65
lea ecx, [esp + 0x40]
mov byte [esp + 0x44], al
call fcn.004224f0
push 0x74
lea ecx, [esp + 0x40]
mov byte [esp + 0x45], al
call fcn.004224f0
push 0x74
lea ecx, [esp + 0x40]
mov byte [esp + 0x46], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x47], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x40]
mov byte [esp + 0x48], al
call fcn.004224f0
push 0x67
lea ecx, [esp + 0x40]
mov byte [esp + 0x49], al
call fcn.004224f0
push 0x73
lea ecx, [esp + 0x40]
mov byte [esp + 0x4a], al
call fcn.004224f0
push 0x2e
lea ecx, [esp + 0x40]
mov byte [esp + 0x4b], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x4c], al
call fcn.004224f0
push 0x6e
lea ecx, [esp + 0x40]
mov byte [esp + 0x4d], al
call fcn.004224f0
push 0x69
lea ecx, [esp + 0x40]
mov byte [esp + 0x4e], al
call fcn.004224f0
mov byte [esp + 0x4b], al
xor ecx, ecx
mov byte [esp + 0x4c], 0
mov al, byte [esp + 0x3c]
xor byte [esp + ecx + 0x3d], al
inc ecx
cmp ecx, 0xf
jb 0x41eac1
push dword [esp + 0xc]
lea ecx, [esp + 0x4b4]
mov byte [esp + 0x50], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eaf0
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x4b8]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4b4]
lea ecx, [esp + 0x814]
call fcn.00407ea0
lea ecx, [esp + 0x41]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eb32
sub ecx, esi
lea eax, [esp + 0x3d]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x604]
call fcn.00406790
lea ecx, [esp + 0x600]
call fcn.00402af0
push eax
mov al, 0x7d
mov byte [esp + 0x7e], 0
mov byte [esp + 0x7c], al
mov cl, 0x25
xor cl, al
mov byte [esp + 0xf3], 0
mov ah, 0x51
mov byte [esp + 0x7d], cl
mov al, 0x13
mov byte [esp + 0xf0], ah
xor al, ah
mov byte [esp + 0x7e], 0
mov cl, 0x16
mov byte [esp + 0xf1], al
xor cl, ah
mov byte [esp + 0xf3], 0
push 0
lea eax, [esp + 0x81]
mov byte [esp + 0xf6], cl
push eax
lea eax, [esp + 0xf9]
push eax
call edi
lea ecx, [esp + 0x600]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x810]
call fcn.00402b00
lea ecx, [esp + 0x4b0]
call fcn.00402b00
movaps xmm0, xmmword [str.v_._]
xor ecx, ecx
movups xmmword [esp + 0x208], xmm0
mov byte [esp + 0x218], 0
nop
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0xf
jb 0x41ec00
push dword [esp + 0xc]
lea ecx, [esp + 0x4cc]
mov byte [esp + 0x21c], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ec34
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x4d0]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4cc]
lea ecx, [esp + 0x82c]
call fcn.00407ea0
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 0x41ec80
sub ecx, esi
lea eax, [esp + 0x209]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x61c]
call fcn.00406790
lea ecx, [esp + 0x618]
call fcn.00402af0
push eax
mov al, 3
mov byte [esp + 0x82], 0
mov byte [esp + 0x80], al
mov cl, 0x5a
xor cl, al
mov byte [esp + 0xf7], 0
mov ah, 0x29
mov byte [esp + 0x81], cl
mov al, 0x6b
mov byte [esp + 0xf4], ah
xor al, ah
mov byte [esp + 0x82], 0
mov cl, 0x6e
mov byte [esp + 0xf5], al
xor cl, ah
mov byte [esp + 0xf7], 0
push 0
lea eax, [esp + 0x85]
mov byte [esp + 0xfa], cl
push eax
lea eax, [esp + 0xfd]
push eax
call edi
lea ecx, [esp + 0x618]
mov esi, eax
call fcn.00402b00
lea ecx, [esp + 0x828]
call fcn.00402b00
lea ecx, [esp + 0x4c8]
call fcn.00402b00
movd xmm2, dword [esp + 0x10]
xor ecx, ecx
movaps xmm0, xmmword [0x4d4580]
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f0]
mov dword [0x4de090], eax
mov byte [esp + 0x2cc], 0
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x2bc], xmm0
unpcklps xmm2, xmm1
movq qword [0x4de088], xmm2
nop dword [eax + eax]
mov al, byte [esp + 0x2bc]
xor byte [esp + ecx + 0x2bd], al
inc ecx
cmp ecx, 0xf
jb 0x41ed90
push dword [esp + 0xc]
lea ecx, [esp + 0x4e4]
mov byte [esp + 0x2d0], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41edc4
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x4e8]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4e4]
lea ecx, [esp + 0x844]
call fcn.00407ea0
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 0x41ee10
sub ecx, esi
lea eax, [esp + 0x2bd]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x634]
call fcn.00406790
lea ecx, [esp + 0x630]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x82], 0
mov al, 0x78
mov byte [esp + 0x82], 0
mov cl, 0x20
mov byte [esp + 0x80], al
xor cl, al
mov dword [esp + 0x188], 0x584d4a19
mov byte [esp + 0x81], cl
xor eax, eax
mov cl, 0x19
mov dword [esp + 0x18c], 0x5b464d4b
mov dword [esp + 0x190], 0x564d4d4c
mov word [esp + 0x194], 0x57
nop word [eax + eax]
xor byte [esp + eax + 0x189], cl
inc eax
cmp eax, 0xc
jae 0x41eeb6
mov cl, byte [esp + 0x188]
jmp 0x41eea0
push edx
push 0x260
lea eax, [esp + 0x89]
mov byte [esp + 0x19d], 0
push eax
lea eax, [esp + 0x195]
push eax
call edi
lea ecx, [esp + 0x630]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x840]
call fcn.00402b00
lea ecx, [esp + 0x4e0]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4480]
xor ecx, ecx
movups xmmword [esp + 0x21c], xmm0
mov byte [esp + 0x22c], 0
nop word [eax + eax]
mov al, byte [esp + 0x21c]
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0xf
jb 0x41ef20
push dword [esp + 0xc]
lea ecx, [esp + 0x4fc]
mov byte [esp + 0x230], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ef54
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x500]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x4fc]
lea ecx, [esp + 0x85c]
call fcn.00407ea0
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 0x41efa0
sub ecx, esi
lea eax, [esp + 0x21d]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x64c]
call fcn.00406790
lea ecx, [esp + 0x648]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x86], 0
mov al, 6
mov byte [esp + 0x86], 0
mov cl, 0x5f
mov byte [esp + 0x84], al
xor cl, al
mov dword [esp + 0x198], 0xf1a1d4e
mov byte [esp + 0x85], cl
xor eax, eax
mov cl, 0x4e
mov dword [esp + 0x19c], 0xc111a1c
mov dword [esp + 0x1a0], 0x11a1a1b
mov word [esp + 0x1a4], 0
nop word [eax + eax]
xor byte [esp + eax + 0x199], cl
inc eax
cmp eax, 0xc
jae 0x41f046
mov cl, byte [esp + 0x198]
jmp 0x41f030
push edx
push 0x1fd
lea eax, [esp + 0x8d]
mov byte [esp + 0x1ad], 0
push eax
lea eax, [esp + 0x1a5]
push eax
call edi
lea ecx, [esp + 0x648]
mov esi, eax
call fcn.00402b00
lea ecx, [esp + 0x858]
call fcn.00402b00
lea ecx, [esp + 0x4f8]
call fcn.00402b00
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f0]
mov dword [0x4dbf1c], eax
mov byte [esp + 0x240], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d4630]
movq qword [0x4dbf14], xmm1
movups xmmword [esp + 0x230], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x230]
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 0xf
jb 0x41f0e0
push dword [esp + 0xc]
lea ecx, [esp + 0x514]
mov byte [esp + 0x244], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f114
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x518]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x514]
lea ecx, [esp + 0x874]
call fcn.00407ea0
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 0x41f160
sub ecx, esi
lea eax, [esp + 0x231]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x664]
call fcn.00406790
lea ecx, [esp + 0x660]
call fcn.00402af0
movaps xmm0, xmmword [0x4d44c0]
mov edx, eax
mov al, 0x22
mov byte [esp + 0x8a], 0
mov cl, 0x7a
mov byte [esp + 0x88], al
xor cl, al
mov byte [esp + 0x8a], 0
mov byte [esp + 0x89], cl
xor ecx, ecx
movups xmmword [esp + 0x398], xmm0
mov byte [esp + 0x3a8], 0
mov al, byte [esp + 0x398]
xor byte [esp + ecx + 0x399], al
inc ecx
cmp ecx, 0xf
jb 0x41f1d1
push edx
push 0xa1
lea eax, [esp + 0x91]
mov byte [esp + 0x3b0], 0
push eax
lea eax, [esp + 0x3a5]
push eax
call edi
lea ecx, [esp + 0x660]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x870]
call fcn.00402b00
lea ecx, [esp + 0x510]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4480]
xor ecx, ecx
movups xmmword [esp + 0x244], xmm0
mov byte [esp + 0x254], 0
nop word [eax + eax]
mov al, byte [esp + 0x244]
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 0xf
jb 0x41f250
push dword [esp + 0xc]
lea ecx, [esp + 0x52c]
mov byte [esp + 0x258], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f284
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x530]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x52c]
lea ecx, [esp + 0x88c]
call fcn.00407ea0
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 0x41f2d0
sub ecx, esi
lea eax, [esp + 0x245]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x67c]
call fcn.00406790
lea ecx, [esp + 0x678]
call fcn.00402af0
movaps xmm0, xmmword [0x4d4570]
mov edx, eax
mov al, 0x2a
mov byte [esp + 0x8e], 0
mov cl, 0x73
mov byte [esp + 0x8c], al
xor cl, al
mov byte [esp + 0x8e], 0
mov byte [esp + 0x8d], cl
xor ecx, ecx
movups xmmword [esp + 0x3ac], xmm0
mov byte [esp + 0x3bc], 0
mov al, byte [esp + 0x3ac]
xor byte [esp + ecx + 0x3ad], al
inc ecx
cmp ecx, 0xf
jb 0x41f341
push edx
push 0x1ff
lea eax, [esp + 0x95]
mov byte [esp + 0x3c4], 0
push eax
lea eax, [esp + 0x3b9]
push eax
call edi
lea ecx, [esp + 0x678]
mov esi, eax
call fcn.00402b00
lea ecx, [esp + 0x888]
call fcn.00402b00
lea ecx, [esp + 0x528]
call fcn.00402b00
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f0]
mov dword [0x4dbf74], eax
mov byte [esp + 0x268], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [str.z_3__]
movq qword [0x4dbf6c], 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 0x41f3f0
push dword [esp + 0xc]
lea ecx, [esp + 0x544]
mov byte [esp + 0x26c], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f424
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x548]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x544]
lea ecx, [esp + 0x8a4]
call fcn.00407ea0
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 0x41f470
sub ecx, esi
lea eax, [esp + 0x259]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x694]
call fcn.00406790
lea ecx, [esp + 0x690]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x92], 0
mov al, 0xa
mov byte [esp + 0x92], 0
mov cl, 0x52
mov byte [esp + 0x90], al
xor cl, al
mov dword [esp + 0x1a8], 0x1516195a
mov byte [esp + 0x91], cl
xor eax, eax
mov cl, 0x5a
mov dword [esp + 0x1ac], 0x18051f09
mov dword [esp + 0x1b0], 0x150e0e0f
mov word [esp + 0x1b4], 0x14
nop word [eax + eax]
xor byte [esp + eax + 0x1a9], cl
inc eax
cmp eax, 0xc
jae 0x41f516
mov cl, byte [esp + 0x1a8]
jmp 0x41f500
push edx
push 0x2fd
lea eax, [esp + 0x99]
mov byte [esp + 0x1bd], 0
push eax
lea eax, [esp + 0x1b5]
push eax
call edi
lea ecx, [esp + 0x690]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x8a0]
call fcn.00402b00
lea ecx, [esp + 0x540]
call fcn.00402b00
movaps xmm0, xmmword [str.f3__5]
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 0x41f580
push dword [esp + 0xc]
lea ecx, [esp + 0x55c]
mov byte [esp + 0x280], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f5b4
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x560]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x55c]
lea ecx, [esp + 0x8bc]
call fcn.00407ea0
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 0x41f600
sub ecx, esi
lea eax, [esp + 0x26d]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x6ac]
call fcn.00406790
lea ecx, [esp + 0x6a8]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x96], 0
mov al, 7
mov byte [esp + 0x96], 0
mov cl, 0x5e
mov byte [esp + 0x94], al
xor cl, al
mov dword [esp + 0x1b8], 0x2e2d2261
mov byte [esp + 0x95], cl
xor eax, eax
mov cl, 0x61
mov dword [esp + 0x1bc], 0x233e2432
mov dword [esp + 0x1c0], 0x2e353534
mov word [esp + 0x1c4], 0x2f
nop word [eax + eax]
xor byte [esp + eax + 0x1b9], cl
inc eax
cmp eax, 0xc
jae 0x41f6a6
mov cl, byte [esp + 0x1b8]
jmp 0x41f690
push edx
push 3
lea eax, [esp + 0x9d]
mov byte [esp + 0x1cd], 0
push eax
lea eax, [esp + 0x1c5]
push eax
call edi
lea ecx, [esp + 0x6a8]
mov esi, eax
call fcn.00402b00
lea ecx, [esp + 0x8b8]
call fcn.00402b00
lea ecx, [esp + 0x558]
call fcn.00402b00
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f0]
mov dword [0x4dbf50], eax
mov byte [esp + 0x290], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d4630]
movq qword [0x4dbf48], 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 0x41f740
push dword [esp + 0xc]
lea ecx, [esp + 0x574]
mov byte [esp + 0x294], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f774
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x578]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x574]
lea ecx, [esp + 0x8d4]
call fcn.00407ea0
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 0x41f7c0
sub ecx, esi
lea eax, [esp + 0x281]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x6c4]
call fcn.00406790
lea ecx, [esp + 0x6c0]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x9a], 0
mov al, 0x73
mov byte [esp + 0x9a], 0
mov cl, 0x2b
mov byte [esp + 0x98], al
xor cl, al
mov dword [esp + 0x14c], 0x3a272575
mov byte [esp + 0x99], cl
xor eax, eax
mov cl, 0x75
mov dword [esp + 0x150], 0x26302732
mov dword [esp + 0x154], 0x27343726
mov byte [esp + 0x158], 0
xor byte [esp + eax + 0x14d], cl
inc eax
cmp eax, 0xb
jae 0x41f85b
mov cl, byte [esp + 0x14c]
jmp 0x41f845
push edx
push 0x18
lea eax, [esp + 0xa1]
mov byte [esp + 0x160], 0
push eax
lea eax, [esp + 0x159]
push eax
call edi
lea ecx, [esp + 0x6c0]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x8d0]
call fcn.00402b00
lea ecx, [esp + 0x570]
call fcn.00402b00
movaps xmm0, xmmword [str.p_9_]
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 0x41f8c0
push dword [esp + 0xc]
lea ecx, [esp + 0x58c]
mov byte [esp + 0x2a8], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f8f4
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x590]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x58c]
lea ecx, [esp + 0x8ec]
call fcn.00407ea0
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 0x41f940
sub ecx, esi
lea eax, [esp + 0x295]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x6dc]
call fcn.00406790
lea ecx, [esp + 0x6d8]
call fcn.00402af0
mov edx, eax
mov byte [esp + 0x9e], 0
mov al, 0x6e
mov byte [esp + 0x9e], 0
mov cl, 0x37
mov byte [esp + 0x9c], al
xor cl, al
mov dword [esp + 0x15c], 0x504d4f1f
mov byte [esp + 0x9d], cl
xor eax, eax
mov cl, 0x1f
mov dword [esp + 0x160], 0x4c5a4d58
mov dword [esp + 0x164], 0x4d5e5d4c
mov byte [esp + 0x168], 0
xor byte [esp + eax + 0x15d], cl
inc eax
cmp eax, 0xb
jae 0x41f9db
mov cl, byte [esp + 0x15c]
jmp 0x41f9c5
push edx
push 0x22d
lea eax, [esp + 0xa5]
mov byte [esp + 0x170], 0
push eax
lea eax, [esp + 0x169]
push eax
call edi
lea ecx, [esp + 0x6d8]
mov esi, eax
call fcn.00402b00
lea ecx, [esp + 0x8e8]
call fcn.00402b00
lea ecx, [esp + 0x588]
call fcn.00402b00
movd xmm1, dword [esp + 0x10]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f0]
mov dword [0x4dbf40], eax
mov byte [esp + 0x2b8], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d47e0]
movq qword [0x4dbf38], 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 0x41fa70
push dword [esp + 0xc]
lea ecx, [esp + 0x5a4]
mov byte [esp + 0x2bc], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41faa4
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x5a8]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x5a4]
lea ecx, [esp + 0x73c]
call fcn.00407ea0
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 0x41faf0
sub ecx, esi
lea eax, [esp + 0x2a9]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x6f4]
call fcn.00406790
lea ecx, [esp + 0x6f0]
call fcn.00402af0
push eax
mov byte [esp + 0x180], 0xe
mov cl, 0x48
xor cl, byte [esp + 0x180]
mov al, 0x51
mov byte [esp + 0x181], cl
mov ch, 0x40
mov cl, byte [esp + 0x180]
mov ah, 0x5d
xor al, cl
mov byte [esp + 0xe], 0x47
mov byte [esp + 0x185], al
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xf], 0x54
mov byte [esp + 0x187], al
mov dl, 0x41
mov al, byte [esp + 0xf]
xor dl, cl
xor al, cl
mov byte [esp + 0xd], 0x4b
mov byte [esp + 0x188], al
mov dh, 0x5a
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0x186], ah
mov byte [esp + 0x189], al
mov ah, 0x4e
mov byte [esp + 0x183], ch
mov al, 0x5c
mov ch, 0x1a
mov byte [esp + 0x182], dl
xor al, ch
mov byte [esp + 0x18a], 0
xor ah, ch
mov byte [esp + 0x1dd], al
mov byte [esp + 0x1e0], ah
mov cl, 0x55
push 0xe
lea eax, [esp + 0x185]
mov byte [esp + 0x1e5], 0
push eax
mov dl, 0x54
mov byte [esp + 0x18c], dh
lea eax, [esp + 0x1e5]
mov byte [esp + 0x192], 0
xor cl, ch
mov byte [esp + 0x1e4], ch
xor dl, ch
mov byte [esp + 0x1e6], cl
push eax
mov byte [esp + 0x1eb], dl
mov byte [esp + 0x1ed], 0
call edi
lea ecx, [esp + 0x6f0]
mov dword [esp + 0x10], eax
call fcn.00402b00
lea ecx, [esp + 0x738]
call fcn.00402b00
lea ecx, [esp + 0x5a0]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4680]
xor ecx, ecx
movups xmmword [esp + 0x370], xmm0
mov byte [esp + 0x380], 0
nop dword [eax]
mov al, byte [esp + 0x370]
xor byte [esp + ecx + 0x371], al
inc ecx
cmp ecx, 0xf
jb 0x41fc60
push dword [esp + 0xc]
lea ecx, [esp + 0x5bc]
mov byte [esp + 0x384], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fc94
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x5c0]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x5bc]
lea ecx, [esp + 0x904]
call fcn.00407ea0
lea ecx, [esp + 0x375]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fce0
sub ecx, esi
lea eax, [esp + 0x371]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x3c4]
call fcn.00406790
cmp dword [esp + 0x3d4], 0xf
lea esi, [esp + 0x3c0]
mov cl, 0x43
mov dword [esp + 0x16c], 0xd0c0543
cmova esi, dword [esp + 0x3c0]
xor eax, eax
mov dword [esp + 0x170], 0x6141c17
mov dword [esp + 0x174], 0x170b040a
mov byte [esp + 0x178], 0
nop word [eax + eax]
xor byte [esp + eax + 0x16d], cl
inc eax
cmp eax, 0xb
jae 0x41fd66
mov cl, byte [esp + 0x16c]
jmp 0x41fd50
mov ch, 0x24
mov byte [esp + 0x1d5], 0
mov al, 0x62
mov byte [esp + 0x178], 0
mov ah, 0x70
mov byte [esp + 0x1d0], ch
xor al, ch
mov byte [esp + 0x1d5], 0
xor ah, ch
mov byte [esp + 0x1d1], al
push esi
mov byte [esp + 0x1d8], ah
mov cl, 0x6b
push 0x1f4
lea eax, [esp + 0x175]
mov dl, 0x6a
push eax
lea eax, [esp + 0x1dd]
xor cl, ch
xor dl, ch
mov byte [esp + 0x1de], cl
push eax
mov byte [esp + 0x1e3], dl
call edi
lea ecx, [esp + 0x3c0]
call fcn.00402b00
lea ecx, [esp + 0x900]
call fcn.00402b00
lea ecx, [esp + 0x5b8]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4700]
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 0x41fe10
push dword [esp + 0xc]
lea ecx, [esp + 0x49c]
mov byte [esp + 0x2e4], 0
call fcn.00402d70
mov ecx, 0x4ddc10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fe44
sub ecx, edx
push ecx
push 0x4ddc10
lea ecx, [esp + 0x4a0]
call fcn.00408750
lea eax, [esp + 0xa98]
push eax
lea edx, [esp + 0x49c]
lea ecx, [esp + 0x91c]
call fcn.00407ea0
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 0x41fe90
sub ecx, esi
lea eax, [esp + 0x2d1]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x3dc]
call fcn.00406790
cmp dword [esp + 0x3ec], 0xf
lea esi, [esp + 0x3d8]
mov byte [esp + 0x114], 0x21
mov al, 0x67
cmova esi, dword [esp + 0x3d8]
mov ah, 0x68
xor al, byte [esp + 0x114]
mov ch, 0x6d
mov byte [esp + 0x115], al
mov cl, 0x60
mov al, byte [esp + 0x114]
mov dl, 0x6c
xor ah, al
mov byte [esp + 0x11b], 0
xor ch, al
mov byte [esp + 0x118], ah
xor cl, al
mov byte [esp + 0x119], ch
xor dl, al
mov byte [esp + 0x116], cl
mov ch, 0x6f
mov byte [esp + 0x117], dl
mov dh, 0x78
mov byte [esp + 0x1cd], 0
xor dh, al
mov byte [esp + 0x11b], 0
push esi
mov al, 0x29
mov byte [esp + 0x11e], dh
xor al, ch
mov byte [esp + 0x1cc], ch
mov ah, 0x3b
mov byte [esp + 0x1cd], al
xor ah, ch
mov byte [esp + 0x1d1], 0
mov byte [esp + 0x1d0], ah
mov cl, 0x20
push 0x19
lea eax, [esp + 0xad8]
mov dl, 0x21
push eax
push str.Verdana
lea eax, [esp + 0x125]
xor cl, ch
push eax
lea eax, [esp + 0x1dd]
mov byte [esp + 0x1de], cl
xor dl, ch
push eax
mov byte [esp + 0x1e3], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x3d8]
call fcn.00402b00
lea ecx, [esp + 0x918]
call fcn.00402b00
lea ecx, [esp + 0x498]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4390]
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 0x41ffe0
lea eax, [esp + 0xa98]
mov byte [esp + 0x2f4], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0x950]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x934]
call fcn.00407ea0
lea ecx, [esp + 0x2e9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420032
sub ecx, esi
lea eax, [esp + 0x2e5]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x3f4]
call fcn.00406790
cmp dword [esp + 0x404], 0xf
lea esi, [esp + 0x3f0]
mov cl, 0x32
mov byte [esp + 0x11c], 0x4a
cmova esi, dword [esp + 0x3f0]
mov al, 0x6a
xor al, cl
mov byte [esp + 0xa0], cl
mov byte [esp + 0xa1], al
mov cl, 4
xor cl, byte [esp + 0x11c]
mov al, 3
xor al, byte [esp + 0x11c]
mov dh, 0x1e
mov byte [esp + 0x11d], al
mov ah, 5
mov byte [esp + 0x11e], cl
mov dl, 0xc
mov cl, byte [esp + 0x11c]
mov ch, 0x15
mov byte [esp + 9], 0xf
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 0x12
mov byte [esp + 0x123], al
xor ch, cl
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x124], al
xor dh, cl
mov al, byte [esp + 0xa]
xor al, cl
mov byte [esp + 0x120], ah
push esi
mov byte [esp + 0x129], al
lea eax, [esp + 0xa5]
push 0x242
push eax
lea eax, [esp + 0x129]
mov byte [esp + 0xae], 0
mov byte [esp + 0x132], 0
push eax
mov byte [esp + 0xb2], 0
mov byte [esp + 0x12f], dl
mov byte [esp + 0x131], ch
mov byte [esp + 0x132], dh
mov byte [esp + 0x136], 0
call edi
lea ecx, [esp + 0x3f0]
mov dword [0x4ddcd4], eax
call fcn.00402b00
lea ecx, [esp + 0x930]
call fcn.00402b00
lea ecx, [esp + 0x948]
call fcn.00402b00
movaps xmm0, xmmword [0x4d45a0]
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 0x420190
lea eax, [esp + 0xa98]
mov byte [esp + 0x308], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0x980]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x964]
call fcn.00407ea0
lea ecx, [esp + 0x2fd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4201e2
sub ecx, esi
lea eax, [esp + 0x2f9]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x40c]
call fcn.00406790
cmp dword [esp + 0x41c], 0xf
lea esi, [esp + 0x408]
mov cl, 0x65
mov byte [esp + 0x128], 0x5f
cmova esi, dword [esp + 0x408]
mov al, 0x3c
xor al, cl
mov byte [esp + 0xa4], cl
mov byte [esp + 0xa5], al
mov cl, 0x11
xor cl, byte [esp + 0x128]
mov al, 0x16
xor al, byte [esp + 0x128]
mov dh, 0xb
mov byte [esp + 0x129], al
mov ah, 0x10
mov byte [esp + 0x12a], cl
mov dl, 0x19
mov cl, byte [esp + 0x128]
xor ch, ch
mov byte [esp + 9], 0x1a
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 7
mov byte [esp + 0x12f], al
xor ch, cl
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x130], al
xor dh, cl
mov al, byte [esp + 0xa]
xor al, cl
mov byte [esp + 0x12c], ah
push esi
mov byte [esp + 0x135], al
lea eax, [esp + 0xa9]
push 0x212
push eax
lea eax, [esp + 0x135]
mov byte [esp + 0xb2], 0
push eax
mov byte [esp + 0xb6], 0
mov byte [esp + 0x13b], dl
mov byte [esp + 0x13d], ch
mov byte [esp + 0x13e], dh
mov byte [esp + 0x142], 0
call edi
lea ecx, [esp + 0x408]
mov dword [0x4ddc00], eax
call fcn.00402b00
lea ecx, [esp + 0x960]
call fcn.00402b00
lea ecx, [esp + 0x978]
call fcn.00402b00
movaps xmm0, xmmword [0x4d46d0]
xor ecx, ecx
movups xmmword [esp + 0x30c], xmm0
mov byte [esp + 0x31c], 0
nop word [eax + eax]
mov al, byte [esp + 0x30c]
xor byte [esp + ecx + 0x30d], al
inc ecx
cmp ecx, 0xf
jb 0x420340
lea eax, [esp + 0xa98]
mov byte [esp + 0x31c], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0x9b0]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x994]
call fcn.00407ea0
lea ecx, [esp + 0x311]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420392
sub ecx, esi
lea eax, [esp + 0x30d]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x424]
call fcn.00406790
cmp dword [esp + 0x434], 0xf
lea esi, [esp + 0x420]
mov cl, 0x21
mov byte [esp + 0x134], 0x43
cmova esi, dword [esp + 0x420]
mov al, 0x79
xor al, cl
mov byte [esp + 0xa8], cl
mov byte [esp + 0xa9], al
mov cl, 2
xor cl, byte [esp + 0x134]
mov al, 0x13
xor al, byte [esp + 0x134]
mov ah, 6
mov byte [esp + 0x135], al
mov dh, 0x17
mov byte [esp + 9], ah
mov dl, 4
mov al, byte [esp + 9]
mov ch, 0x1c
mov byte [esp + 0x136], cl
mov cl, byte [esp + 0x134]
xor al, cl
mov byte [esp + 0xb], 0x1b
mov byte [esp + 0x13b], al
xor ah, cl
mov al, byte [esp + 0xb]
xor dl, cl
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x13c], al
xor ch, cl
mov al, byte [esp + 0xa]
xor dh, cl
xor al, cl
mov byte [esp + 0x138], ah
push esi
mov byte [esp + 0x141], al
lea eax, [esp + 0xad]
push 0x262
push eax
lea eax, [esp + 0x141]
mov byte [esp + 0xb6], 0
mov byte [esp + 0x14a], 0
push eax
mov byte [esp + 0xba], 0
mov byte [esp + 0x147], dl
mov byte [esp + 0x149], ch
mov byte [esp + 0x14a], dh
mov byte [esp + 0x14e], 0
call edi
lea ecx, [esp + 0x420]
call fcn.00402b00
lea ecx, [esp + 0x990]
call fcn.00402b00
lea ecx, [esp + 0x9a8]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4690]
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 0x4204f0
lea eax, [esp + 0xa98]
mov byte [esp + 0x330], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0x9e0]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x9c4]
call fcn.00407ea0
lea ecx, [esp + 0x325]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420542
sub ecx, esi
lea eax, [esp + 0x321]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x43c]
call fcn.00406790
cmp dword [esp + 0x44c], 0xf
lea esi, [esp + 0x438]
mov cl, 0x62
mov byte [esp + 0x140], 0xd
cmova esi, dword [esp + 0x438]
mov al, 0x3b
xor al, cl
mov byte [esp + 0xac], cl
mov byte [esp + 0xad], al
mov cl, 0x4c
xor cl, byte [esp + 0x140]
mov al, 0x5d
xor al, byte [esp + 0x140]
mov ah, 0x48
mov byte [esp + 0x141], al
mov dh, 0x59
mov byte [esp + 9], ah
mov dl, 0x4a
mov al, byte [esp + 9]
mov ch, 0x52
mov byte [esp + 0x142], cl
mov cl, byte [esp + 0x140]
xor al, cl
mov byte [esp + 0xb], 0x55
mov byte [esp + 0x147], al
xor ah, cl
mov al, byte [esp + 0xb]
xor dl, cl
xor al, cl
mov byte [esp + 0xa], dh
mov byte [esp + 0x148], al
xor ch, cl
mov al, byte [esp + 0xa]
xor dh, cl
xor al, cl
mov byte [esp + 0x144], ah
push esi
mov byte [esp + 0x14d], al
lea eax, [esp + 0xb1]
push 0x1ae
push eax
lea eax, [esp + 0x14d]
mov byte [esp + 0xba], 0
mov byte [esp + 0x156], 0
push eax
mov byte [esp + 0xbe], 0
mov byte [esp + 0x153], dl
mov byte [esp + 0x155], ch
mov byte [esp + 0x156], dh
mov byte [esp + 0x15a], 0
call edi
lea ecx, [esp + 0x438]
call fcn.00402b00
lea ecx, [esp + 0x9c0]
call fcn.00402b00
lea ecx, [esp + 0x9d8]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4700]
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 0x4206a0
lea eax, [esp + 0xa98]
mov byte [esp + 0x344], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0xa10]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0x9f4]
call fcn.00407ea0
lea ecx, [esp + 0x339]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4206f2
sub ecx, esi
lea eax, [esp + 0x335]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x454]
call fcn.00406790
cmp dword [esp + 0x464], 0xf
lea esi, [esp + 0x450]
mov byte [esp + 0xe0], 0x6f
mov al, 0x3c
cmova esi, dword [esp + 0x450]
mov cl, 0x3b
xor al, byte [esp + 0xe0]
mov ch, cl
mov byte [esp + 0xe1], al
mov dl, 0x2e
mov al, byte [esp + 0xe0]
mov ah, 0x3d
xor cl, al
mov byte [esp + 9], 0x37
xor dl, al
mov byte [esp + 0xb0], 0x33
xor ah, al
mov byte [esp + 0xe2], cl
xor ch, al
mov byte [esp + 0xe4], ah
mov dh, 0x30
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe5], ch
mov al, byte [esp + 9]
mov cl, 0x7c
xor al, byte [esp + 0xe0]
mov dl, 0x67
mov byte [esp + 0xe7], al
mov ah, 0x7a
mov al, 0x7d
mov byte [esp + 0xe6], dh
xor al, byte [esp + 0xb0]
mov ch, 0x70
mov byte [esp + 0xb1], al
mov dh, 0x76
mov al, byte [esp + 0xb0]
xor cl, al
mov byte [esp + 9], 0x60
xor dl, al
mov byte [esp + 0xe8], 0
xor ah, al
mov byte [esp + 0xb8], 0
xor ch, al
mov byte [esp + 0xb4], ah
xor dh, al
mov byte [esp + 0xe8], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xb0]
push esi
mov byte [esp + 0xbb], al
lea eax, [esp + 0xe5]
push 0xc8
push eax
lea eax, [esp + 0xbd]
mov byte [esp + 0xbe], cl
push eax
mov byte [esp + 0xc3], dl
mov byte [esp + 0xc5], ch
mov byte [esp + 0xc6], dh
mov byte [esp + 0xc8], 0
call edi
lea ecx, [esp + 0x450]
mov dword [0x4ddc90], eax
call fcn.00402b00
lea ecx, [esp + 0x9f0]
call fcn.00402b00
lea ecx, [esp + 0xa08]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4280]
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 0x420890
lea eax, [esp + 0xa98]
mov byte [esp + 0x358], 0
push eax
push 0x4ddc10
lea ecx, [esp + 0xa40]
call fcn.004067e0
mov edx, eax
lea ecx, [esp + 0xa24]
call fcn.00407ea0
lea ecx, [esp + 0x34d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4208e2
sub ecx, esi
lea eax, [esp + 0x349]
push ecx
push eax
mov ecx, edx
call fcn.00406630
push eax
lea ecx, [esp + 0x46c]
call fcn.00406790
cmp dword [esp + 0x47c], 0xf
lea esi, [esp + 0x468]
mov byte [esp + 0xbc], 0x1f
mov al, 0x4c
cmova esi, dword [esp + 0x468]
mov cl, 0x4b
xor al, byte [esp + 0xbc]
mov ch, cl
mov byte [esp + 0xbd], al
mov dl, 0x5e
mov al, byte [esp + 0xbc]
mov ah, 0x4d
xor cl, al
mov byte [esp + 9], 0x46
xor dl, al
mov byte [esp + 0xc8], 0x1a
xor ah, al
mov byte [esp + 0xbe], cl
xor ch, al
mov byte [esp + 0xc0], ah
mov dh, 0x40
mov byte [esp + 0xbf], dl
xor dh, al
mov byte [esp + 0xc1], ch
mov al, byte [esp + 9]
mov cl, 0x55
xor al, byte [esp + 0xbc]
mov dl, 0x4e
mov byte [esp + 0xc3], al
mov ah, 0x53
mov al, 0x54
mov byte [esp + 0xc2], dh
xor al, byte [esp + 0xc8]
mov ch, 0x59
mov byte [esp + 0xc9], al
mov dh, 0x5f
mov al, byte [esp + 0xc8]
xor cl, al
mov byte [esp + 9], 0x49
xor dl, al
mov byte [esp + 0xc4], 0
xor ah, al
mov byte [esp + 0xd0], 0
xor ch, al
mov byte [esp + 0xcc], ah
xor dh, al
mov byte [esp + 0xc4], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xc8]
push esi
mov byte [esp + 0xd3], al
lea eax, [esp + 0xc1]
push 0x1e0
push eax
lea eax, [esp + 0xd5]
mov byte [esp + 0xd6], cl
push eax
mov byte [esp + 0xdb], dl
mov byte [esp + 0xdd], ch
mov byte [esp + 0xde], dh
mov byte [esp + 0xe0], 0
call edi
lea ecx, [esp + 0x468]
mov dword [0x4ddc94], eax
call fcn.00402b00
lea ecx, [esp + 0xa20]
call fcn.00402b00
lea ecx, [esp + 0xa38]
call fcn.00402b00
movaps xmm0, xmmword [0x4d4560]
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 0x420a80
push 0x4ddc10
lea ecx, [esp + 0xa54]
mov byte [esp + 0x370], 0
call fcn.004067e0
lea ecx, [esp + 0xa98]
push ecx
mov ecx, eax
call fcn.00406690
push eax
lea ecx, [esp + 0x70c]
call fcn.00406790
lea ecx, [esp + 0x35d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420ad3
sub ecx, edx
lea eax, [esp + 0x35d]
push ecx
push eax
lea ecx, [esp + 0x710]
call fcn.00406630
push eax
lea ecx, [esp + 0x484]
call fcn.00406790
cmp dword [esp + 0x494], 0xf
lea esi, [esp + 0x480]
mov cl, 0x3b
mov byte [esp + 0x100], 0x7d
cmova esi, dword [esp + 0x480]
mov dl, cl
xor cl, byte [esp + 0x100]
mov al, 0x32
xor al, byte [esp + 0x100]
mov ah, 0x2e
mov byte [esp + 0x101], al
mov ch, 0x38
mov byte [esp + 0x102], cl
mov dh, 0x29
mov cl, byte [esp + 0x100]
mov byte [esp + 9], 0x22
xor ah, cl
mov al, byte [esp + 9]
xor dl, cl
xor al, cl
mov byte [esp + 0xb], 0x24
mov byte [esp + 0x107], al
xor ch, cl
mov al, byte [esp + 0xb]
xor dh, cl
xor al, cl
mov byte [esp + 0xd4], 0x51
mov byte [esp + 0x108], al
mov cl, 0x1e
mov al, 0x1f
mov byte [esp + 0x104], ah
xor al, byte [esp + 0xd4]
mov ah, 0x18
mov byte [esp + 0xd5], al
mov al, byte [esp + 0xd4]
mov byte [esp + 0x103], dl
xor cl, al
mov byte [esp + 0x105], ch
xor ah, al
mov byte [esp + 0x106], dh
mov dl, 5
xor dl, al
mov byte [esp + 9], 2
mov ch, 0x12
mov byte [esp + 0xd8], ah
xor ch, al
mov byte [esp + 0x109], 0
mov dh, 0x14
mov byte [esp + 0xdc], 0
xor dh, al
mov byte [esp + 0x109], 0
mov al, byte [esp + 9]
xor al, byte [esp + 0xd4]
push esi
mov byte [esp + 0xdf], al
lea eax, [esp + 0x105]
push 0x17
push eax
lea eax, [esp + 0xe1]
mov byte [esp + 0xe2], cl
push eax
mov byte [esp + 0xe7], dl
mov byte [esp + 0xe9], ch
mov byte [esp + 0xea], dh
mov byte [esp + 0xec], 0
call edi
lea ecx, [esp + 0x480]
call fcn.00402b00
lea ecx, [esp + 0x708]
call fcn.00402b00
lea ecx, [esp + 0xa50]
call fcn.00402b00
mov eax, dword [0x4dbf44]
mov ecx, dword [0x4dbf10]
mov dword [0x4ddc08], eax
mov dword [0x4ddc9c], eax
mov eax, dword fs:[0x2c]
mov dword [0x4ddc04], ecx
mov dword [0x4ddc98], ecx
mov ecx, dword [eax]
mov eax, dword [0x55e10c]
cmp eax, dword [ecx + 4]
jle 0x420cb3
push 0x55e10c
call fcn.00473959
add esp, 4
cmp dword [0x55e10c], 0xffffffff
jne 0x420cb3
push 0x55e10c
call fcn.00473908
add esp, 4
push 0
mov dword [esp + 0xa6c], 0x30
mov dword [esp + 0xa70], 0x3000
mov dword [esp + 0xa74], 0x421f60
mov dword [esp + 0xa78], 0
mov dword [esp + 0xa7c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [esp + 0x1e0]
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], 0x4cf2cc
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 + 0xfc], 0x39
mov al, 0x75
xor al, byte [esp + 0xfc]
mov cl, 0x58
xor cl, byte [esp + 0xfc]
mov ah, 0x57
push 0
push 0
push dword [0x4dbf44]
mov byte [esp + 0x109], al
mov dl, 0x4c
push dword [0x4dbf10]
mov byte [esp + 0x10e], cl
mov ch, 0x5a
mov cl, byte [esp + 0x10c]
mov dh, 0x51
mov byte [esp + 0x21], 0x5c
xor ah, cl
mov al, byte [esp + 0x21]
xor dl, cl
xor al, cl
mov byte [esp + 0x23], 0x4b
mov byte [esp + 0x113], al
xor ch, cl
mov al, byte [esp + 0x23]
xor dh, cl
push 0x64
push 0x64
xor al, cl
mov byte [esp + 0x118], ah
push connect
mov byte [esp + 0x120], al
lea eax, [esp + 0x119]
push eax
push dword [esp + 0xab8]
mov byte [esp + 0x129], 0
push 0
mov byte [esp + 0x127], dl
mov byte [esp + 0x129], ch
mov byte [esp + 0x12a], dh
mov byte [esp + 0x12d], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x4dbf44]
mov esi, eax
xor edx, edx
push dword [0x4dbf10]
mov ecx, esi
mov dword [esp + 0x1e8], esi
call fcn.0041e090
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 [0x4ddb88], esi
call fcn.004213b0
test al, al
jne 0x420e7e
call fcn.004216f0
jmp 0x420ea3
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0041d570
test al, al
jne 0x420ebe
call fcn.004216f0
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 0x421360
xorps xmm0, xmm0
mov dword [0x4ddbf0], edi
push 0x290
movups xmmword [0x4ddbc4], xmm0
mov dword [0x4ddbd4], 0
mov dword [0x4ddbd8], 0
call fcn.00473474
add esp, 4
mov esi, eax
mov ecx, esi
push 0x290
call fcn.00421390
mov ecx, esi
call fcn.004225f0
mov edi, dword [esp + 0xc]
mov edx, edi
mov ecx, dword [0x4ddb88]
mov dword [0x4ddbb8], eax
mov dword [eax + 0x148], ecx
lea ecx, [eax + 0x154]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x420f24
sub edx, esi
push edx
push edi
call fcn.00402b70
cmp dword [0x4ddbe0], 0
jne 0x420f6d
push 0x4ddbe0
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 [0x4de098]
call dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
push 0
push 0
push 0
push 0x41d560
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 [0x4de084], eax
call esi
push 0x7f00
push 0
mov dword [0x4de078], eax
call esi
push dword [0x4de084]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4de074], eax
call edi
mov eax, dword [0x4ddbb8]
add eax, 0x2c
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 1
call fcn.00473474
xorps xmm0, xmm0
mov dword [0x4ddccc], 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 0x42103d
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 0x421325
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x421052
push dword [0x4de074]
jmp 0x421058
push dword [0x4de084]
call edi
mov eax, dword [0x4de098]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de098]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de098]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4de098]
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 [0x4de098]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x4212e2
mov eax, dword [0x4ddbb8]
mov dword [0x4ddcf8], 0
push 0x10
movzx ecx, byte [eax + 0x28c]
mov eax, 0x51eb851f
imul ecx, dword [0x4ddcbc]
mov dword [0x4ddcfc], 0
mul ecx
mov eax, dword [0x4ddcc0]
mov dword [0x4ddd04], eax
mov eax, dword [0x4ddcc4]
shr edx, 5
mov dword [0x4ddd00], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x4ddcc4]
push 0xffffffffffffffff
push 0x4de088
push 0
mov ecx, dword [eax]
push 0
push dword [0x4ddd08]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [0x4ddcc4]
mov ecx, dword [0x4ddbc4]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x42115d
mov eax, dword [0x4ddbc0]
jmp 0x42116c
mov eax, dword [0x4ddbe8]
cmp ecx, 2
cmove eax, dword [0x4ddd0c]
push 0xffffffffffffffff
push 0x4dbf14
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4ddcc4]
mov ecx, dword [0x4ddbcc]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x421197
mov eax, dword [0x4ddbb4]
jmp 0x4211a6
mov eax, dword [0x4ddbb0]
cmp ecx, 2
cmove eax, dword [0x4ddc0c]
push 0xffffffffffffffff
push 0x4dbf6c
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4ddcc4]
mov ecx, dword [0x4ddbd0]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x4211d1
mov eax, dword [0x4ddca0]
jmp 0x4211e0
mov eax, dword [0x4ddbf8]
cmp ecx, 2
cmove eax, dword [0x4ddbbc]
push 0xffffffffffffffff
push 0x4dbf48
push 0
push 0
push eax
push edx
call esi
mov eax, dword [0x4ddcc4]
push 0xffffffffffffffff
push 0x4dbf38
push 0
mov ecx, dword [eax]
push 0
push dword [0x4ddcc8]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4ddcc4]
push 0xffffffffffffffff
push 0x4dbf38
push 0
mov ecx, dword [eax]
push 0x4ddcf8
push dword [0x4ddcd0]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4ddcc4]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov eax, dword [0x4ddbb8]
lea ecx, [esp + 0x720]
mov esi, dword [0x4ddbe0]
add eax, 0x274
push eax
call fcn.00406820
lea ecx, [esp + 0x720]
call fcn.00402af0
mov edx, esi
mov ecx, eax
call fcn.0041e100
lea ecx, [esp + 0x720]
call fcn.00402b00
mov eax, dword [0x4ddcd4]
lea ecx, [esp + 0x5d0]
mov dword [0x4ddbfc], eax
mov eax, dword [0x4ddbe0]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
mov eax, dword [0x4ddbb8]
add eax, 0x274
push eax
call fcn.00406820
lea ecx, [esp + 0x5d0]
call fcn.00402af0
push 0xffffffffffffffff
push 0
push 0x4ddbfc
push 0xffffffffffffffff
push eax
push 0
push dword [0x4ddbe0]
call esi
lea ecx, [esp + 0x5d0]
call fcn.00402b00
mov eax, dword [0x4de098]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov ecx, dword [0x4de098]
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 0x421325
mov eax, dword [0x4de098]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x421325
mov eax, dword [0x4de098]
push 0x4de0a4
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
cmp dword [esp + 0xab4], 0x12
jne 0x421002
call fcn.004216f0
push dword [esp + 0x1e0]
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.00402b00
mov ecx, dword [esp + 0xaec]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00473461
mov esp, ebp
pop ebp
ret 0x10