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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xea8
mov eax, dword [0x4dd094]
xor eax, esp
mov dword [esp + 0xea4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
movaps xmm0, xmmword [0x4d71e0]
push esi
mov dword [esp + 0x178], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [esp + 0x2b4], eax
movups xmmword [esp + 0x470], xmm0
mov word [esp + 0x480], 0x65
nop dword [eax + eax]
mov al, byte [esp + 0x470]
xor byte [esp + ecx + 0x471], al
inc ecx
cmp ecx, 0x10
jb 0x41f780
lea eax, [esp + 0x471]
mov byte [esp + 0x481], 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 0x41f7d3
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xea4]
xor ecx, esp
call fcn.00476d2c
mov esp, ebp
pop ebp
ret 0x10
push 0x4e0cd0
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd4], 0x76
call fcn.00425d60
push 0x53
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd5], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd6], al
call fcn.00425d60
push 0x64
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd7], al
call fcn.00425d60
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd8], al
call fcn.00425d60
push 0x48
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd9], al
call fcn.00425d60
push 0x44
lea ecx, [esp + 0xd4]
mov byte [esp + 0xda], al
call fcn.00425d60
push 0x52
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdb], al
call fcn.00425d60
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdc], al
call fcn.00425d60
mov byte [esp + 0xd9], al
xor esi, esi
mov byte [esp + 0xda], 0
push esi
lea ecx, [esp + 0xd5]
call fcn.00409cb0
lea ecx, [esp + 0xd0]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xd5]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 9
jb 0x41f8b2
push 9
lea ecx, [esp + 0xd5]
call fcn.00409cb0
lea ecx, [esp + 0xd1]
mov byte [eax], 0
call fcn.00409ca0
push eax
lea ecx, [esp + 0xe4c]
call fcn.004063c0
push 0x62
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], 0x52
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x48]
mov byte [esp + 0x49], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x48]
mov byte [esp + 0x4a], al
call fcn.00425d60
push 0x62
lea ecx, [esp + 0x48]
mov byte [esp + 0x4b], al
call fcn.00425d60
push 0x6d
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c], al
call fcn.00425d60
push 0x70
lea ecx, [esp + 0x48]
mov byte [esp + 0x4d], al
call fcn.00425d60
mov byte [esp + 0x4a], al
xor esi, esi
mov byte [esp + 0x4b], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x49]
call fcn.00409cb0
lea ecx, [esp + 0x44]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x49]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x41f980
push 6
lea ecx, [esp + 0x49]
call fcn.00409cb0
lea ecx, [esp + 0x45]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0x968]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0x954]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0x938]
mov edx, eax
push 0x10
push 0
push 0
push 0
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
lea ecx, [esp + 0x938]
call fcn.00402790
lea ecx, [esp + 0x950]
call fcn.00402790
lea ecx, [esp + 0x968]
call fcn.00402790
push 0x55
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe0], 0x71
call fcn.00425d60
push 0x49
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe1], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe2], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe3], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe4], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe5], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe6], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe7], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe8], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe9], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0xe0]
mov byte [esp + 0xea], al
call fcn.00425d60
mov byte [esp + 0xe7], al
push 0x2e
lea ecx, [esp + 0xe0]
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xe0]
mov byte [esp + 0xec], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0xe0]
mov byte [esp + 0xed], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xe0]
mov byte [esp + 0xee], al
call fcn.00425d60
mov byte [esp + 0xeb], al
xor esi, esi
mov byte [esp + 0xec], 0
nop
push esi
lea ecx, [esp + 0xe1]
call fcn.00409cb0
lea ecx, [esp + 0xdc]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xe1]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41fb90
push 0xf
lea ecx, [esp + 0xe1]
call fcn.00409cb0
lea ecx, [esp + 0xdd]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0x9b0]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0x99c]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0x980]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x57
lea ecx, [esp + 0x38]
mov dword [esp + 0x28], eax
mov byte [esp + 0x38], 0x11
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x38]
mov byte [esp + 0x39], al
call fcn.00425d60
push 0x44
lea ecx, [esp + 0x38]
mov byte [esp + 0x3a], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x38]
mov byte [esp + 0x3b], al
call fcn.00425d60
push 0x48
lea ecx, [esp + 0x38]
mov byte [esp + 0x3c], al
call fcn.00425d60
mov byte [esp + 0x39], al
xor esi, esi
mov byte [esp + 0x3a], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x39]
call fcn.00409cb0
lea ecx, [esp + 0x34]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x39]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x41fc90
push 5
lea ecx, [esp + 0x39]
call fcn.00409cb0
lea ecx, [esp + 0x35]
mov byte [eax], 0
call fcn.00409ca0
push 0x4c
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa4], 0x3c
mov edi, eax
call fcn.00425d60
push 0x41
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa5], al
call fcn.00425d60
push 0x55
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa6], al
call fcn.00425d60
push 0x4e
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa7], al
call fcn.00425d60
push 0x43
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa8], al
call fcn.00425d60
push 0x48
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa9], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xa4]
mov byte [esp + 0xaa], al
call fcn.00425d60
push 0x52
lea ecx, [esp + 0xa4]
mov byte [esp + 0xab], al
call fcn.00425d60
mov byte [esp + 0xa8], al
xor esi, esi
mov byte [esp + 0xa9], 0
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0xa5]
call fcn.00409cb0
lea ecx, [esp + 0xa0]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xa5]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x41fda0
push 8
lea ecx, [esp + 0xa5]
call fcn.00409cb0
lea ecx, [esp + 0xa1]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x24]
push 0x322
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
call edi
lea ecx, [esp + 0x980]
mov dword [0x4deea0], eax
call fcn.00402790
lea ecx, [esp + 0x998]
call fcn.00402790
lea ecx, [esp + 0x9b0]
call fcn.00402790
push 0x55
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf4], 0x3f
call fcn.00425d60
push 0x49
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf5], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf6], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf7], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf8], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0xf4]
mov byte [esp + 0xf9], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0xf4]
mov byte [esp + 0xfa], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xf4]
mov byte [esp + 0xfb], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0xf4]
mov byte [esp + 0xfc], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0xf4]
mov byte [esp + 0xfd], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0xf4]
mov byte [esp + 0xfe], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0xf4]
mov byte [esp + 0xff], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xf4]
mov byte [esp + 0x100], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0xf4]
mov byte [esp + 0x101], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0xf4]
mov byte [esp + 0x102], al
call fcn.00425d60
mov byte [esp + 0xff], al
mov byte [esp + 0x100], 0
xor esi, esi
push esi
lea ecx, [esp + 0xf5]
call fcn.00409cb0
lea ecx, [esp + 0xf0]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xf5]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x41ff80
push 0xf
lea ecx, [esp + 0xf5]
call fcn.00409cb0
lea ecx, [esp + 0xf1]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0x9f8]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0x9e4]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0x9c8]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x48
lea ecx, [esp + 0x40]
mov dword [esp + 0x28], eax
mov byte [esp + 0x40], 0x7c
call fcn.00425d60
push 0x45
lea ecx, [esp + 0x40]
mov byte [esp + 0x41], al
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], al
call fcn.00425d60
push 0x47
lea ecx, [esp + 0x40]
mov byte [esp + 0x43], al
call fcn.00425d60
push 0x48
lea ecx, [esp + 0x40]
mov byte [esp + 0x44], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x40]
mov byte [esp + 0x45], al
call fcn.00425d60
mov byte [esp + 0x42], al
xor esi, esi
mov byte [esp + 0x43], 0
push esi
lea ecx, [esp + 0x41]
call fcn.00409cb0
lea ecx, [esp + 0x3c]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x41]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x420086
push 6
lea ecx, [esp + 0x41]
call fcn.00409cb0
lea ecx, [esp + 0x3d]
mov byte [eax], 0
call fcn.00409ca0
push 0x4c
lea ecx, [esp + 0xb0]
mov dword [esp + 0x1c], eax
mov byte [esp + 0xb0], 0x64
call fcn.00425d60
push 0x41
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb1], al
call fcn.00425d60
push 0x55
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb2], al
call fcn.00425d60
push 0x4e
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb3], al
call fcn.00425d60
push 0x43
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb4], al
call fcn.00425d60
push 0x48
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb5], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb6], al
call fcn.00425d60
push 0x52
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb7], al
call fcn.00425d60
mov byte [esp + 0xb4], al
xor esi, esi
mov byte [esp + 0xb5], 0
nop dword [eax]
push esi
lea ecx, [esp + 0xb1]
call fcn.00409cb0
lea ecx, [esp + 0xac]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xb1]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x420190
push 8
lea ecx, [esp + 0xb1]
call fcn.00409cb0
lea ecx, [esp + 0xad]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x24]
push 0x252
push dword [esp + 0x20]
push eax
call edi
lea ecx, [esp + 0x9c8]
mov dword [0x4deed8], eax
call fcn.00402790
lea ecx, [esp + 0x9e0]
call fcn.00402790
lea ecx, [esp + 0x9f8]
call fcn.00402790
push 0x55
lea ecx, [esp + 0x108]
mov byte [esp + 0x108], 4
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x108]
mov byte [esp + 0x109], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x108]
mov byte [esp + 0x10a], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x108]
mov byte [esp + 0x10b], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x108]
mov byte [esp + 0x10c], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x108]
mov byte [esp + 0x10d], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x108]
mov byte [esp + 0x10e], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x108]
mov byte [esp + 0x10f], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x108]
mov byte [esp + 0x110], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x108]
mov byte [esp + 0x111], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x108]
mov byte [esp + 0x112], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x108]
mov byte [esp + 0x113], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x108]
mov byte [esp + 0x114], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x108]
mov byte [esp + 0x115], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x108]
mov byte [esp + 0x116], al
call fcn.00425d60
mov byte [esp + 0x113], al
xor esi, esi
mov byte [esp + 0x114], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x109]
call fcn.00409cb0
lea ecx, [esp + 0x104]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x109]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x420370
push 0xf
lea ecx, [esp + 0x109]
call fcn.00409cb0
lea ecx, [esp + 0x105]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0xa40]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xa2c]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xa10]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x58
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], 0x46
mov esi, eax
call fcn.00425d60
push 0
lea ecx, [esp + 0x2d]
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], 0
call fcn.00409cb0
lea ecx, [esp + 0x28]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push 0
lea ecx, [esp + 0x2d]
mov byte [esp + 0x1b], al
call fcn.00409cb0
mov cl, byte [esp + 0x17]
push 1
mov byte [eax], cl
lea ecx, [esp + 0x2d]
call fcn.00409cb0
lea ecx, [esp + 0x29]
mov byte [eax], 0
call fcn.00409ca0
push esi
push 0
mov ch, 0x3f
mov byte [esp + 0x1ef], 0
push eax
mov cl, 0x7d
mov byte [esp + 0x1f0], ch
mov dl, 0x78
mov byte [esp + 0x1f3], 0
lea eax, [esp + 0x1f1]
xor cl, ch
xor dl, ch
mov byte [esp + 0x1f1], cl
push eax
mov byte [esp + 0x1f6], dl
call edi
lea ecx, [esp + 0xa10]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xa28]
call fcn.00402790
lea ecx, [esp + 0xa40]
call fcn.00402790
movaps xmm0, xmmword [0x4d7550]
xor ecx, ecx
movups xmmword [esp + 0x2cc], xmm0
mov byte [esp + 0x2dc], 0
nop dword [eax]
mov al, byte [esp + 0x2cc]
xor byte [esp + ecx + 0x2cd], al
inc ecx
cmp ecx, 0xf
jb 0x4204f0
push dword [esp + 0x20]
lea ecx, [esp + 0x60c]
mov byte [esp + 0x2e0], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420524
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x610]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x60c]
lea ecx, [esp + 0xa5c]
call fcn.004079f0
lea ecx, [esp + 0x2d1]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420570
sub ecx, esi
lea eax, [esp + 0x2cd]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x7a4]
call fcn.00406370
lea ecx, [esp + 0x7a0]
call fcn.00402780
push eax
mov al, 2
mov byte [esp + 0x1c2], 0
mov byte [esp + 0x1c0], al
mov cl, 0x5b
xor cl, al
mov byte [esp + 0x1e7], 0
mov ah, 0x5a
mov byte [esp + 0x1c1], cl
mov al, 0x18
mov byte [esp + 0x1e4], ah
xor al, ah
mov byte [esp + 0x1c2], 0
mov cl, 0x1d
mov byte [esp + 0x1e5], al
xor cl, ah
mov byte [esp + 0x1e7], 0
push 0
lea eax, [esp + 0x1c5]
mov byte [esp + 0x1ea], cl
push eax
lea eax, [esp + 0x1ed]
push eax
call edi
lea ecx, [esp + 0x7a0]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xa58]
call fcn.00402790
lea ecx, [esp + 0x608]
call fcn.00402790
movd xmm2, dword [esp + 0x18]
xor ecx, ecx
movaps xmm0, xmmword [0x4d7590]
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4e112c], eax
mov byte [esp + 0x2f0], 0
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x2e0], xmm0
unpcklps xmm2, xmm1
movq qword [0x4e1124], xmm2
nop dword [eax + eax]
mov al, byte [esp + 0x2e0]
xor byte [esp + ecx + 0x2e1], al
inc ecx
cmp ecx, 0xf
jb 0x420680
push dword [esp + 0x20]
lea ecx, [esp + 0x5f4]
mov byte [esp + 0x2f4], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4206b4
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x5f8]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x5f4]
lea ecx, [esp + 0xa74]
call fcn.004079f0
lea ecx, [esp + 0x2e5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420700
sub ecx, esi
lea eax, [esp + 0x2e1]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x7bc]
call fcn.00406370
lea ecx, [esp + 0x7b8]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x1c2], 0
mov al, 0x3c
mov byte [esp + 0x1c2], 0
mov cl, 0x64
mov byte [esp + 0x1c0], al
xor cl, al
mov dword [esp + 0x23c], 0x4d585f0c
mov byte [esp + 0x1c1], cl
xor eax, eax
mov cl, 0xc
mov dword [esp + 0x240], 0x4e53585e
mov dword [esp + 0x244], 0x43585859
mov word [esp + 0x248], 0x42
nop word [eax + eax]
xor byte [esp + eax + 0x23d], cl
inc eax
cmp eax, 0xc
jae 0x4207a6
mov cl, byte [esp + 0x23c]
jmp 0x420790
push edx
push 0x260
lea eax, [esp + 0x1c9]
mov byte [esp + 0x251], 0
push eax
lea eax, [esp + 0x249]
push eax
call edi
lea ecx, [esp + 0x7b8]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xa70]
call fcn.00402790
lea ecx, [esp + 0x5f0]
call fcn.00402790
movaps xmm0, xmmword [0x4d72b0]
xor ecx, ecx
movups xmmword [esp + 0x2f4], xmm0
mov byte [esp + 0x304], 0
nop word [eax + eax]
mov al, byte [esp + 0x2f4]
xor byte [esp + ecx + 0x2f5], al
inc ecx
cmp ecx, 0xf
jb 0x420810
push dword [esp + 0x20]
lea ecx, [esp + 0x63c]
mov byte [esp + 0x308], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420844
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x640]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x63c]
lea ecx, [esp + 0xa8c]
call fcn.004079f0
lea ecx, [esp + 0x2f9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420890
sub ecx, esi
lea eax, [esp + 0x2f5]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x7d4]
call fcn.00406370
lea ecx, [esp + 0x7d0]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x1c6], 0
mov al, 0x48
mov byte [esp + 0x1c6], 0
mov cl, 0x11
mov byte [esp + 0x1c4], al
xor cl, al
mov dword [esp + 0x24c], 0x180d0a59
mov byte [esp + 0x1c5], cl
xor eax, eax
mov cl, 0x59
mov dword [esp + 0x250], 0x1b060d0b
mov dword [esp + 0x254], 0x160d0d0c
mov word [esp + 0x258], 0x17
nop word [eax + eax]
xor byte [esp + eax + 0x24d], cl
inc eax
cmp eax, 0xc
jae 0x420936
mov cl, byte [esp + 0x24c]
jmp 0x420920
push edx
push 0x1fd
lea eax, [esp + 0x1cd]
mov byte [esp + 0x261], 0
push eax
lea eax, [esp + 0x259]
push eax
call edi
lea ecx, [esp + 0x7d0]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xa88]
call fcn.00402790
lea ecx, [esp + 0x638]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4deeac], eax
mov byte [esp + 0x318], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d6fe0]
movq qword [0x4deea4], xmm1
movups xmmword [esp + 0x308], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x308]
xor byte [esp + ecx + 0x309], al
inc ecx
cmp ecx, 0xf
jb 0x4209d0
push dword [esp + 0x20]
lea ecx, [esp + 0x654]
mov byte [esp + 0x31c], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420a04
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x658]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x654]
lea ecx, [esp + 0xaa4]
call fcn.004079f0
lea ecx, [esp + 0x30d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420a50
sub ecx, esi
lea eax, [esp + 0x309]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x7ec]
call fcn.00406370
lea ecx, [esp + 0x7e8]
call fcn.00402780
movaps xmm0, xmmword [0x4d73f0]
mov edx, eax
mov al, 0x18
mov byte [esp + 0x1ca], 0
mov cl, 0x40
mov byte [esp + 0x1c8], al
xor cl, al
mov byte [esp + 0x1ca], 0
mov byte [esp + 0x1c9], cl
xor ecx, ecx
movups xmmword [esp + 0x498], xmm0
mov byte [esp + 0x4a8], 0
mov al, byte [esp + 0x498]
xor byte [esp + ecx + 0x499], al
inc ecx
cmp ecx, 0xf
jb 0x420ac1
push edx
push 0x17
lea eax, [esp + 0x1d1]
mov byte [esp + 0x4b0], 0
push eax
lea eax, [esp + 0x4a5]
push eax
call edi
lea ecx, [esp + 0x7e8]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xaa0]
call fcn.00402790
lea ecx, [esp + 0x650]
call fcn.00402790
movaps xmm0, xmmword [str.j_29]
xor ecx, ecx
movups xmmword [esp + 0x31c], xmm0
mov byte [esp + 0x32c], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x31c]
xor byte [esp + ecx + 0x31d], al
inc ecx
cmp ecx, 0xf
jb 0x420b40
push dword [esp + 0x20]
lea ecx, [esp + 0x66c]
mov byte [esp + 0x330], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420b74
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x670]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x66c]
lea ecx, [esp + 0xabc]
call fcn.004079f0
lea ecx, [esp + 0x321]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420bc0
sub ecx, esi
lea eax, [esp + 0x31d]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x804]
call fcn.00406370
lea ecx, [esp + 0x800]
call fcn.00402780
movaps xmm0, xmmword [0x4d7000]
mov edx, eax
mov al, 0x60
mov byte [esp + 0x182], 0
mov cl, 0x39
mov byte [esp + 0x180], al
xor cl, al
mov byte [esp + 0x182], 0
mov byte [esp + 0x181], cl
xor ecx, ecx
movups xmmword [esp + 0x4ac], xmm0
mov byte [esp + 0x4bc], 0
mov al, byte [esp + 0x4ac]
xor byte [esp + ecx + 0x4ad], al
inc ecx
cmp ecx, 0xf
jb 0x420c31
push edx
push 0x1ff
lea eax, [esp + 0x189]
mov byte [esp + 0x4c4], 0
push eax
lea eax, [esp + 0x4b9]
push eax
call edi
lea ecx, [esp + 0x800]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xab8]
call fcn.00402790
lea ecx, [esp + 0x668]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4deee4], eax
mov byte [esp + 0x340], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d73b0]
movq qword [0x4deedc], xmm1
movups xmmword [esp + 0x330], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x330]
xor byte [esp + ecx + 0x331], al
inc ecx
cmp ecx, 0xf
jb 0x420ce0
push dword [esp + 0x20]
lea ecx, [esp + 0x684]
mov byte [esp + 0x344], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420d14
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x688]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x684]
lea ecx, [esp + 0xad4]
call fcn.004079f0
lea ecx, [esp + 0x335]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420d60
sub ecx, esi
lea eax, [esp + 0x331]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x81c]
call fcn.00406370
lea ecx, [esp + 0x818]
call fcn.00402780
movaps xmm0, xmmword [0x4d7170]
mov edx, eax
mov al, 0x57
mov byte [esp + 0x1ba], 0
mov cl, 0xf
mov byte [esp + 0x1b8], al
xor cl, al
mov byte [esp + 0x1ba], 0
mov byte [esp + 0x1b9], cl
xor ecx, ecx
movups xmmword [esp + 0x4c0], xmm0
mov byte [esp + 0x4d0], 0
mov al, byte [esp + 0x4c0]
xor byte [esp + ecx + 0x4c1], al
inc ecx
cmp ecx, 0xf
jb 0x420dd1
push edx
push 0xa1
lea eax, [esp + 0x1c1]
mov byte [esp + 0x4d8], 0
push eax
lea eax, [esp + 0x4cd]
push eax
call edi
lea ecx, [esp + 0x818]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xad0]
call fcn.00402790
lea ecx, [esp + 0x680]
call fcn.00402790
movaps xmm0, xmmword [0x4d71f0]
xor ecx, ecx
movups xmmword [esp + 0x344], xmm0
mov byte [esp + 0x354], 0
nop word [eax + eax]
mov al, byte [esp + 0x344]
xor byte [esp + ecx + 0x345], al
inc ecx
cmp ecx, 0xf
jb 0x420e50
push dword [esp + 0x20]
lea ecx, [esp + 0x69c]
mov byte [esp + 0x358], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420e84
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x6a0]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x69c]
lea ecx, [esp + 0xaec]
call fcn.004079f0
lea ecx, [esp + 0x349]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420ed0
sub ecx, esi
lea eax, [esp + 0x345]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x834]
call fcn.00406370
lea ecx, [esp + 0x830]
call fcn.00402780
movaps xmm0, xmmword [0x4d7390]
mov edx, eax
mov al, 0x69
mov byte [esp + 0x186], 0
mov cl, 0x30
mov byte [esp + 0x184], al
xor cl, al
mov byte [esp + 0x186], 0
mov byte [esp + 0x185], cl
xor ecx, ecx
movups xmmword [esp + 0x4d4], xmm0
mov byte [esp + 0x4e4], 0
mov al, byte [esp + 0x4d4]
xor byte [esp + ecx + 0x4d5], al
inc ecx
cmp ecx, 0xf
jb 0x420f41
push edx
push 0x1ff
lea eax, [esp + 0x18d]
mov byte [esp + 0x4ec], 0
push eax
lea eax, [esp + 0x4e1]
push eax
call edi
lea ecx, [esp + 0x830]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xae8]
call fcn.00402790
lea ecx, [esp + 0x698]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4def74], eax
mov byte [esp + 0x368], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d7540]
movq qword [0x4def6c], xmm1
movups xmmword [esp + 0x358], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x358]
xor byte [esp + ecx + 0x359], al
inc ecx
cmp ecx, 0xf
jb 0x420ff0
push dword [esp + 0x20]
lea ecx, [esp + 0x6b4]
mov byte [esp + 0x36c], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421024
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x6b8]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x6b4]
lea ecx, [esp + 0xb04]
call fcn.004079f0
lea ecx, [esp + 0x35d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421070
sub ecx, esi
lea eax, [esp + 0x359]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x84c]
call fcn.00406370
lea ecx, [esp + 0x848]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x18a], 0
mov al, 0x14
mov byte [esp + 0x18a], 0
mov cl, 0x4c
mov byte [esp + 0x188], al
xor cl, al
mov dword [esp + 0x25c], 0x1516195a
mov byte [esp + 0x189], cl
xor eax, eax
mov cl, 0x5a
mov dword [esp + 0x260], 0x18051f09
mov dword [esp + 0x264], 0x150e0e0f
mov word [esp + 0x268], 0x14
nop word [eax + eax]
xor byte [esp + eax + 0x25d], cl
inc eax
cmp eax, 0xc
jae 0x421116
mov cl, byte [esp + 0x25c]
jmp 0x421100
push edx
push 0x2fd
lea eax, [esp + 0x191]
mov byte [esp + 0x271], 0
push eax
lea eax, [esp + 0x269]
push eax
call edi
lea ecx, [esp + 0x848]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xb00]
call fcn.00402790
lea ecx, [esp + 0x6b0]
call fcn.00402790
movaps xmm0, xmmword [0x4d7280]
xor ecx, ecx
movups xmmword [esp + 0x36c], xmm0
mov byte [esp + 0x37c], 0
nop word [eax + eax]
mov al, byte [esp + 0x36c]
xor byte [esp + ecx + 0x36d], al
inc ecx
cmp ecx, 0xf
jb 0x421180
push dword [esp + 0x20]
lea ecx, [esp + 0x6cc]
mov byte [esp + 0x380], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4211b4
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x6d0]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x6cc]
lea ecx, [esp + 0xb1c]
call fcn.004079f0
lea ecx, [esp + 0x371]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421200
sub ecx, esi
lea eax, [esp + 0x36d]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x864]
call fcn.00406370
lea ecx, [esp + 0x860]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x18e], 0
mov al, 0x39
mov byte [esp + 0x18e], 0
mov cl, 0x60
mov byte [esp + 0x18c], al
xor cl, al
mov dword [esp + 0x26c], 0x4447480b
mov byte [esp + 0x18d], cl
xor eax, eax
mov cl, 0xb
mov dword [esp + 0x270], 0x49544e58
mov dword [esp + 0x274], 0x445f5f5e
mov word [esp + 0x278], 0x45
nop word [eax + eax]
xor byte [esp + eax + 0x26d], cl
inc eax
cmp eax, 0xc
jae 0x4212a6
mov cl, byte [esp + 0x26c]
jmp 0x421290
push edx
push 3
lea eax, [esp + 0x195]
mov byte [esp + 0x281], 0
push eax
lea eax, [esp + 0x279]
push eax
call edi
lea ecx, [esp + 0x860]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xb18]
call fcn.00402790
lea ecx, [esp + 0x6c8]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4def2c], eax
mov byte [esp + 0x390], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d7140]
movq qword [0x4def24], xmm1
movups xmmword [esp + 0x380], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x380]
xor byte [esp + ecx + 0x381], al
inc ecx
cmp ecx, 0xf
jb 0x421340
push dword [esp + 0x20]
lea ecx, [esp + 0x6e4]
mov byte [esp + 0x394], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421374
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x6e8]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x6e4]
lea ecx, [esp + 0xb34]
call fcn.004079f0
lea ecx, [esp + 0x385]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4213c0
sub ecx, esi
lea eax, [esp + 0x381]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x87c]
call fcn.00406370
lea ecx, [esp + 0x878]
call fcn.00402780
movaps xmm0, xmmword [0x4d6f40]
mov edx, eax
mov al, 0x5d
mov byte [esp + 0x192], 0
mov cl, 5
mov byte [esp + 0x190], al
xor cl, al
mov byte [esp + 0x192], 0
mov byte [esp + 0x191], cl
xor ecx, ecx
movups xmmword [esp + 0x520], xmm0
nop dword [eax]
mov al, byte [esp + 0x520]
xor byte [esp + ecx + 0x521], al
inc ecx
cmp ecx, 0xe
jb 0x421430
push edx
push 0x260
lea eax, [esp + 0x199]
mov byte [esp + 0x537], 0
push eax
lea eax, [esp + 0x52d]
push eax
call edi
lea ecx, [esp + 0x878]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xb30]
call fcn.00402790
lea ecx, [esp + 0x6e0]
call fcn.00402790
movaps xmm0, xmmword [0x4d7420]
xor ecx, ecx
movups xmmword [esp + 0x394], xmm0
mov byte [esp + 0x3a4], 0
nop word [eax + eax]
mov al, byte [esp + 0x394]
xor byte [esp + ecx + 0x395], al
inc ecx
cmp ecx, 0xf
jb 0x4214b0
push dword [esp + 0x20]
lea ecx, [esp + 0x6fc]
mov byte [esp + 0x3a8], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4214e4
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x700]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x6fc]
lea ecx, [esp + 0xb4c]
call fcn.004079f0
lea ecx, [esp + 0x399]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421530
sub ecx, esi
lea eax, [esp + 0x395]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x894]
call fcn.00406370
lea ecx, [esp + 0x890]
call fcn.00402780
movaps xmm0, xmmword [0x4d6f60]
mov edx, eax
mov al, 0x5e
mov byte [esp + 0x196], 0
mov cl, 7
mov byte [esp + 0x194], al
xor cl, al
mov byte [esp + 0x196], 0
mov byte [esp + 0x195], cl
xor ecx, ecx
movups xmmword [esp + 0x510], xmm0
nop dword [eax]
mov al, byte [esp + 0x510]
xor byte [esp + ecx + 0x511], al
inc ecx
cmp ecx, 0xe
jb 0x4215a0
push edx
push 0x1fd
lea eax, [esp + 0x19d]
mov byte [esp + 0x527], 0
push eax
lea eax, [esp + 0x51d]
push eax
call edi
lea ecx, [esp + 0x890]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xb48]
call fcn.00402790
lea ecx, [esp + 0x6f8]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4deeb8], eax
mov byte [esp + 0x3b8], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d70c0]
movq qword [0x4deeb0], xmm1
movups xmmword [esp + 0x3a8], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x3a8]
xor byte [esp + ecx + 0x3a9], al
inc ecx
cmp ecx, 0xf
jb 0x421650
push dword [esp + 0x20]
lea ecx, [esp + 0x714]
mov byte [esp + 0x3bc], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421684
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x718]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x714]
lea ecx, [esp + 0xb64]
call fcn.004079f0
lea ecx, [esp + 0x3ad]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4216d0
sub ecx, esi
lea eax, [esp + 0x3a9]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x8ac]
call fcn.00406370
lea ecx, [esp + 0x8a8]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x19a], 0
mov al, 0x40
mov byte [esp + 0x19a], 0
mov cl, 0x18
mov byte [esp + 0x198], al
xor cl, al
mov dword [esp + 0x27c], 0x372a2365
mov byte [esp + 0x199], cl
xor eax, eax
mov cl, 0x65
mov dword [esp + 0x280], 0x273a2830
mov dword [esp + 0x284], 0x2a313130
mov word [esp + 0x288], 0x2b
nop word [eax + eax]
xor byte [esp + eax + 0x27d], cl
inc eax
cmp eax, 0xc
jae 0x421776
mov cl, byte [esp + 0x27c]
jmp 0x421760
push edx
push 0xa1
lea eax, [esp + 0x1a1]
mov byte [esp + 0x291], 0
push eax
lea eax, [esp + 0x289]
push eax
call edi
lea ecx, [esp + 0x8a8]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xb60]
call fcn.00402790
lea ecx, [esp + 0x710]
call fcn.00402790
movaps xmm0, xmmword [0x4d74c0]
xor ecx, ecx
movups xmmword [esp + 0x3bc], xmm0
mov byte [esp + 0x3cc], 0
nop word [eax + eax]
mov al, byte [esp + 0x3bc]
xor byte [esp + ecx + 0x3bd], al
inc ecx
cmp ecx, 0xf
jb 0x4217e0
push dword [esp + 0x20]
lea ecx, [esp + 0x72c]
mov byte [esp + 0x3d0], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421814
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x730]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x72c]
lea ecx, [esp + 0xb7c]
call fcn.004079f0
lea ecx, [esp + 0x3c1]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421860
sub ecx, esi
lea eax, [esp + 0x3bd]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x8c4]
call fcn.00406370
lea ecx, [esp + 0x8c0]
call fcn.00402780
mov edx, eax
mov byte [esp + 0x19e], 0
mov al, 0x19
mov byte [esp + 0x19e], 0
mov cl, 0x40
mov byte [esp + 0x19c], al
xor cl, al
mov dword [esp + 0x28c], 0xc11185e
mov byte [esp + 0x19d], cl
xor eax, eax
mov cl, 0x5e
mov dword [esp + 0x290], 0x1c01130b
mov dword [esp + 0x294], 0x110a0a0b
mov word [esp + 0x298], 0x10
nop word [eax + eax]
xor byte [esp + eax + 0x28d], cl
inc eax
cmp eax, 0xc
jae 0x421906
mov cl, byte [esp + 0x28c]
jmp 0x4218f0
push edx
push 0x1ff
lea eax, [esp + 0x1a5]
mov byte [esp + 0x2a1], 0
push eax
lea eax, [esp + 0x299]
push eax
call edi
lea ecx, [esp + 0x8c0]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xb78]
call fcn.00402790
lea ecx, [esp + 0x728]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4deef0], eax
mov byte [esp + 0x3e0], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4d6ff0]
movq qword [0x4deee8], xmm1
movups xmmword [esp + 0x3d0], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x3d0]
xor byte [esp + ecx + 0x3d1], al
inc ecx
cmp ecx, 0xf
jb 0x4219a0
push dword [esp + 0x20]
lea ecx, [esp + 0x624]
mov byte [esp + 0x3e4], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4219d4
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x628]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x624]
lea ecx, [esp + 0xb94]
call fcn.004079f0
lea ecx, [esp + 0x3d5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421a20
sub ecx, esi
lea eax, [esp + 0x3d1]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x8dc]
call fcn.00406370
lea ecx, [esp + 0x8d8]
call fcn.00402780
movaps xmm0, xmmword [0x4d7260]
mov edx, eax
mov al, 0x78
mov byte [esp + 0x1a2], 0
mov cl, 0x20
mov byte [esp + 0x1a0], al
xor cl, al
mov byte [esp + 0x1a2], 0
mov byte [esp + 0x1a1], cl
xor ecx, ecx
movups xmmword [esp + 0x4e8], xmm0
mov byte [esp + 0x4f8], 0
mov al, byte [esp + 0x4e8]
xor byte [esp + ecx + 0x4e9], al
inc ecx
cmp ecx, 0xf
jb 0x421a91
push edx
push 0xa1
lea eax, [esp + 0x1a9]
mov byte [esp + 0x500], 0
push eax
lea eax, [esp + 0x4f5]
push eax
call edi
lea ecx, [esp + 0x8d8]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xb90]
call fcn.00402790
lea ecx, [esp + 0x620]
call fcn.00402790
movaps xmm0, xmmword [0x4d74d0]
xor ecx, ecx
movups xmmword [esp + 0x3e4], xmm0
mov byte [esp + 0x3f4], 0
nop word [eax + eax]
mov al, byte [esp + 0x3e4]
xor byte [esp + ecx + 0x3e5], al
inc ecx
cmp ecx, 0xf
jb 0x421b10
push dword [esp + 0x20]
lea ecx, [esp + 0x744]
mov byte [esp + 0x3f8], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421b44
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x748]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x744]
lea ecx, [esp + 0xbac]
call fcn.004079f0
lea ecx, [esp + 0x3e9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421b90
sub ecx, esi
lea eax, [esp + 0x3e5]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x8f4]
call fcn.00406370
lea ecx, [esp + 0x8f0]
call fcn.00402780
movaps xmm0, xmmword [0x4d7350]
mov edx, eax
mov al, 5
mov byte [esp + 0x1a6], 0
mov cl, 0x5c
mov byte [esp + 0x1a4], al
xor cl, al
mov byte [esp + 0x1a6], 0
mov byte [esp + 0x1a5], cl
xor ecx, ecx
movups xmmword [esp + 0x4fc], xmm0
mov byte [esp + 0x50c], 0
mov al, byte [esp + 0x4fc]
xor byte [esp + ecx + 0x4fd], al
inc ecx
cmp ecx, 0xf
jb 0x421c01
push edx
push 0x1ff
lea eax, [esp + 0x1ad]
mov byte [esp + 0x514], 0
push eax
lea eax, [esp + 0x509]
push eax
call edi
lea ecx, [esp + 0x8f0]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xba8]
call fcn.00402790
lea ecx, [esp + 0x740]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4def68], eax
mov byte [esp + 0x408], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [str.w____]
movq qword [0x4def60], xmm1
movups xmmword [esp + 0x3f8], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x3f8]
xor byte [esp + ecx + 0x3f9], al
inc ecx
cmp ecx, 0xf
jb 0x421cb0
push dword [esp + 0x20]
lea ecx, [esp + 0x75c]
mov byte [esp + 0x40c], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421ce4
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x760]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x75c]
lea ecx, [esp + 0xbc4]
call fcn.004079f0
lea ecx, [esp + 0x3fd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421d30
sub ecx, esi
lea eax, [esp + 0x3f9]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x564]
call fcn.00406370
cmp dword [esp + 0x574], 0x10
lea edx, [esp + 0x560]
mov cl, 0x32
mov byte [esp + 0x1aa], 0
cmovae edx, dword [esp + 0x560]
mov al, 0x6a
xor al, cl
mov byte [esp + 0x1a8], cl
mov byte [esp + 0x1a9], al
mov cl, 0x17
mov byte [esp + 0x1aa], 0
xor eax, eax
mov dword [esp + 0x20c], 0x58454717
mov dword [esp + 0x210], 0x44524550
mov dword [esp + 0x214], 0x45565544
mov byte [esp + 0x218], 0
nop
xor byte [esp + eax + 0x20d], cl
inc eax
cmp eax, 0xb
jae 0x421dd6
mov cl, byte [esp + 0x20c]
jmp 0x421dc0
push edx
push 0x18
lea eax, [esp + 0x1b1]
mov byte [esp + 0x220], 0
push eax
lea eax, [esp + 0x219]
push eax
call edi
lea ecx, [esp + 0x560]
mov dword [esp + 0x18], eax
call fcn.00402790
lea ecx, [esp + 0xbc0]
call fcn.00402790
lea ecx, [esp + 0x758]
call fcn.00402790
movaps xmm0, xmmword [0x4d7220]
xor ecx, ecx
movups xmmword [esp + 0x40c], xmm0
mov byte [esp + 0x41c], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x40c]
xor byte [esp + ecx + 0x40d], al
inc ecx
cmp ecx, 0xf
jb 0x421e40
push dword [esp + 0x20]
lea ecx, [esp + 0x5dc]
mov byte [esp + 0x420], 0
call fcn.004029f0
mov ecx, 0x4e0cd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421e74
sub ecx, edx
push ecx
push 0x4e0cd0
lea ecx, [esp + 0x5e0]
call fcn.00408290
lea eax, [esp + 0xe48]
push eax
lea edx, [esp + 0x5dc]
lea ecx, [esp + 0xbdc]
call fcn.004079f0
lea ecx, [esp + 0x411]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421ec0
sub ecx, esi
lea eax, [esp + 0x40d]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x534]
call fcn.00406370
cmp dword [esp + 0x544], 0x10
lea edx, [esp + 0x530]
mov cl, 0x10
mov byte [esp + 0x1ae], 0
cmovae edx, dword [esp + 0x530]
mov al, 0x49
xor al, cl
mov byte [esp + 0x1ac], cl
mov byte [esp + 0x1ad], al
mov cl, 0xe
mov byte [esp + 0x1ae], 0
xor eax, eax
mov dword [esp + 0x21c], 0x415c5e0e
mov dword [esp + 0x220], 0x5d4b5c49
mov dword [esp + 0x224], 0x5c4f4c5d
mov byte [esp + 0x228], 0
nop
xor byte [esp + eax + 0x21d], cl
inc eax
cmp eax, 0xb
jae 0x421f66
mov cl, byte [esp + 0x21c]
jmp 0x421f50
push edx
push 0x22d
lea eax, [esp + 0x1b5]
mov byte [esp + 0x230], 0
push eax
lea eax, [esp + 0x229]
push eax
call edi
lea ecx, [esp + 0x530]
mov esi, eax
call fcn.00402790
lea ecx, [esp + 0xbd8]
call fcn.00402790
lea ecx, [esp + 0x5d8]
call fcn.00402790
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d4]
mov dword [0x4deed4], eax
mov byte [esp + 0x430], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [str.v_._]
movq qword [0x4deecc], xmm1
movups xmmword [esp + 0x420], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x420]
xor byte [esp + ecx + 0x421], al
inc ecx
cmp ecx, 0xf
jb 0x422000
lea eax, [esp + 0xe48]
mov byte [esp + 0x430], 0
push eax
push 0x4e0cd0
lea ecx, [esp + 0xc10]
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xbf4]
call fcn.004079f0
lea ecx, [esp + 0x425]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422052
sub ecx, esi
lea eax, [esp + 0x421]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x594]
call fcn.00406370
cmp dword [esp + 0x5a4], 0x10
lea esi, [esp + 0x590]
mov byte [esp + 0x1e8], 0x3b
mov al, 0x7d
cmovae esi, dword [esp + 0x590]
mov cl, 0x74
xor al, byte [esp + 0x1e8]
mov ah, 0x6f
xor cl, byte [esp + 0x1e8]
mov ch, 0x64
mov byte [esp + 0x1e9], al
mov dl, 0x75
mov byte [esp + 0x1ea], cl
mov dh, 0x68
mov cl, byte [esp + 0x1e8]
mov byte [esp + 0x17], 0x72
xor ah, cl
mov al, byte [esp + 0x17]
xor ch, cl
xor al, cl
mov byte [esp + 0x1f], 0x61
mov byte [esp + 0x1ef], al
xor dl, cl
mov al, byte [esp + 0x1f]
xor dh, cl
xor al, cl
mov byte [esp + 0x16], 0x7e
mov byte [esp + 0x1f0], al
mov al, byte [esp + 0x16]
xor al, cl
mov byte [esp + 0x1ec], ah
mov byte [esp + 0x1f1], al
mov ah, 1
mov byte [esp + 0x1ed], ch
mov al, 0x13
mov ch, 0x55
mov byte [esp + 0x1eb], dl
xor al, ch
mov byte [esp + 0x1f2], 0
xor ah, ch
mov byte [esp + 0x2a5], al
push esi
mov byte [esp + 0x2ac], ah
mov cl, 0x1a
push 0xe
lea eax, [esp + 0x1f1]
mov byte [esp + 0x2b1], 0
push eax
mov dl, 0x1b
mov byte [esp + 0x1fa], dh
lea eax, [esp + 0x2b1]
mov byte [esp + 0x1fe], 0
xor cl, ch
mov byte [esp + 0x2b0], ch
xor dl, ch
mov byte [esp + 0x2b2], cl
push eax
mov byte [esp + 0x2b7], dl
mov byte [esp + 0x2b9], 0
call edi
lea ecx, [esp + 0x590]
mov dword [esp + 0x20], eax
call fcn.00402790
lea ecx, [esp + 0xbf0]
call fcn.00402790
lea ecx, [esp + 0xc08]
call fcn.00402790
movaps xmm0, xmmword [0x4d7400]
xor ecx, ecx
movups xmmword [esp + 0x434], xmm0
mov byte [esp + 0x444], 0
nop dword [eax + eax]
mov al, byte [esp + 0x434]
xor byte [esp + ecx + 0x435], al
inc ecx
cmp ecx, 0xf
jb 0x4221d0
lea eax, [esp + 0xe48]
mov byte [esp + 0x444], 0
push eax
push 0x4e0cd0
lea ecx, [esp + 0xc40]
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xc24]
call fcn.004079f0
lea ecx, [esp + 0x439]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422222
sub ecx, esi
lea eax, [esp + 0x435]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x5ac]
call fcn.00406370
cmp dword [esp + 0x5bc], 0x10
lea esi, [esp + 0x5a8]
mov cl, 0x3b
mov dword [esp + 0x22c], 0x75747d3b
cmovae esi, dword [esp + 0x5a8]
xor eax, eax
mov dword [esp + 0x230], 0x7e6c646f
mov dword [esp + 0x234], 0x6f737c72
mov byte [esp + 0x238], 0
nop dword [eax]
xor byte [esp + eax + 0x22d], cl
inc eax
cmp eax, 0xb
jae 0x4222a6
mov cl, byte [esp + 0x22c]
jmp 0x422290
mov ch, 0x46
mov byte [esp + 0x238], 0
xor al, al
mov byte [esp + 0x29c], ch
mov byte [esp + 0x2a1], al
mov ah, 0x12
xor al, ch
mov byte [esp + 0x2a1], 0
xor ah, ch
mov byte [esp + 0x29d], al
push esi
mov byte [esp + 0x2a4], ah
mov cl, 9
push 0x1f4
lea eax, [esp + 0x235]
mov dl, 8
push eax
lea eax, [esp + 0x2a9]
xor cl, ch
xor dl, ch
mov byte [esp + 0x2aa], cl
push eax
mov byte [esp + 0x2af], dl
call edi
lea ecx, [esp + 0x5a8]
call fcn.00402790
lea ecx, [esp + 0xc20]
call fcn.00402790
lea ecx, [esp + 0xc38]
call fcn.00402790
movaps xmm0, xmmword [0x4d7220]
xor ecx, ecx
movups xmmword [esp + 0x448], xmm0
mov byte [esp + 0x458], 0
nop word [eax + eax]
mov al, byte [esp + 0x448]
xor byte [esp + ecx + 0x449], al
inc ecx
cmp ecx, 0xf
jb 0x422350
lea eax, [esp + 0xe48]
mov byte [esp + 0x458], 0
push eax
push 0x4e0cd0
lea ecx, [esp + 0xc70]
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xc54]
call fcn.004079f0
lea ecx, [esp + 0x44d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4223a2
sub ecx, esi
lea eax, [esp + 0x449]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x5c4]
call fcn.00406370
cmp dword [esp + 0x5d4], 0x10
lea esi, [esp + 0x5c0]
mov byte [esp + 0x1d8], 0x53
mov al, 0x15
cmovae esi, dword [esp + 0x5c0]
mov ah, 0x1a
xor al, byte [esp + 0x1d8]
mov ch, 0x1f
mov byte [esp + 0x1d9], al
mov cl, 0x12
mov al, byte [esp + 0x1d8]
mov dl, 0x1e
xor ah, al
mov byte [esp + 0x1df], 0
xor ch, al
mov byte [esp + 0x1dc], ah
xor cl, al
mov byte [esp + 0x1dd], ch
xor dl, al
mov byte [esp + 0x1da], cl
mov ch, 0x6f
mov byte [esp + 0x1db], dl
mov dh, 0xa
mov byte [esp + 0x2b1], 0
xor dh, al
mov byte [esp + 0x1df], 0
push esi
mov al, 0x29
mov byte [esp + 0x1e2], dh
xor al, ch
mov byte [esp + 0x2b0], ch
mov ah, 0x3b
mov byte [esp + 0x2b1], al
xor ah, ch
mov byte [esp + 0x2b5], 0
mov byte [esp + 0x2b4], ah
mov cl, 0x20
push 0x19
lea eax, [esp + 0xe98]
mov dl, 0x21
push eax
push str.Verdana
lea eax, [esp + 0x1e9]
xor cl, ch
push eax
lea eax, [esp + 0x2c1]
mov byte [esp + 0x2c2], cl
xor dl, ch
push eax
mov byte [esp + 0x2c7], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x5c0]
call fcn.00402790
lea ecx, [esp + 0xc50]
call fcn.00402790
lea ecx, [esp + 0xc68]
call fcn.00402790
movaps xmm0, xmmword [0x4d7200]
xor ecx, ecx
movups xmmword [esp + 0x45c], xmm0
mov byte [esp + 0x46c], 0
nop dword [eax]
mov al, byte [esp + 0x45c]
xor byte [esp + ecx + 0x45d], al
inc ecx
cmp ecx, 0xf
jb 0x4224f0
lea eax, [esp + 0xe48]
mov byte [esp + 0x46c], 0
push eax
push 0x4e0cd0
lea ecx, [esp + 0xca0]
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xc84]
call fcn.004079f0
lea ecx, [esp + 0x461]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422542
sub ecx, esi
lea eax, [esp + 0x45d]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x54c]
call fcn.00406370
cmp dword [esp + 0x55c], 0x10
lea esi, [esp + 0x548]
mov cl, 0x55
mov byte [esp + 0x1f4], 6
cmovae esi, dword [esp + 0x548]
mov al, 0xd
xor al, cl
mov byte [esp + 0x1b0], cl
mov byte [esp + 0x1b1], al
mov cl, 0x48
xor cl, byte [esp + 0x1f4]
mov al, 0x4f
xor al, byte [esp + 0x1f4]
mov dh, 0x52
mov byte [esp + 0x1f5], al
mov ah, 0x49
mov byte [esp + 0x1f6], cl
mov dl, 0x40
mov cl, byte [esp + 0x1f4]
mov ch, 0x59
mov byte [esp + 0x16], 0x43
xor ah, cl
mov al, byte [esp + 0x16]
xor dl, cl
xor al, cl
mov byte [esp + 0x1f], 0x5e
mov byte [esp + 0x1fb], al
xor ch, cl
mov al, byte [esp + 0x1f]
xor al, cl
mov byte [esp + 0x17], dh
mov byte [esp + 0x1fc], al
xor dh, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x1f8], ah
push esi
mov byte [esp + 0x201], al
lea eax, [esp + 0x1b5]
push 0x242
push eax
lea eax, [esp + 0x201]
mov byte [esp + 0x1be], 0
mov byte [esp + 0x20a], 0
push eax
mov byte [esp + 0x1c2], 0
mov byte [esp + 0x207], dl
mov byte [esp + 0x209], ch
mov byte [esp + 0x20a], dh
mov byte [esp + 0x20e], 0
call edi
lea ecx, [esp + 0x548]
mov dword [0x4e0dec], eax
call fcn.00402790
lea ecx, [esp + 0xc80]
call fcn.00402790
lea ecx, [esp + 0xc98]
call fcn.00402790
movaps xmm0, xmmword [0x4d7410]
xor ecx, ecx
movups xmmword [esp + 0x2b8], xmm0
mov byte [esp + 0x2c8], 0
nop dword [eax]
mov al, byte [esp + 0x2b8]
xor byte [esp + ecx + 0x2b9], al
inc ecx
cmp ecx, 0xf
jb 0x4226a0
lea eax, [esp + 0xe48]
mov byte [esp + 0x2c8], 0
push eax
push 0x4e0cd0
lea ecx, [esp + 0xcd0]
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xcb4]
call fcn.004079f0
lea ecx, [esp + 0x2bd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4226f2
sub ecx, esi
lea eax, [esp + 0x2b9]
push ecx
push eax
mov ecx, edx
call fcn.00406210
push eax
lea ecx, [esp + 0x57c]
call fcn.00406370
cmp dword [esp + 0x58c], 0x10
lea esi, [esp + 0x578]
mov cl, 0x7a
mov byte [esp + 0x200], 0x11
cmovae esi, dword [esp + 0x578]
mov al, 0x23
xor al, cl
mov byte [esp + 0x1b4], cl
mov byte [esp + 0x1b5], al
mov cl, 0x5f
xor cl, byte [esp + 0x200]
mov al, 0x58
xor al, byte [esp + 0x200]
mov dh, 0x45
mov byte [esp + 0x201], al
mov ah, 0x5e
mov byte [esp + 0x202], cl
mov dl, 0x57
mov cl, byte [esp + 0x200]
mov ch, 0x4e
mov byte [esp + 0x16], 0x54
xor ah, cl
mov al, byte [esp + 0x16]
xor dl, cl
xor al, cl
mov byte [esp + 0x1f], 0x49
mov byte [esp + 0x207], al
xor ch, cl
mov al, byte [esp + 0x1f]
xor al, cl
mov byte [esp + 0x17], dh
mov byte [esp + 0x208], al
xor dh, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x204], ah
push esi
mov byte [esp + 0x20d], al
lea eax, [esp + 0x1b9]
push 0x212
push eax
lea eax, [esp + 0x20d]
mov byte [esp + 0x1c2], 0
mov byte [esp + 0x216], 0
push eax
mov byte [esp + 0x1c6], 0
mov byte [esp + 0x213], dl
mov byte [esp + 0x215], ch
mov byte [esp + 0x216], dh
mov byte [esp + 0x21a], 0
call edi
lea ecx, [esp + 0x578]
mov dword [0x4e0cc0], eax
call fcn.00402790
lea ecx, [esp + 0xcb0]
call fcn.00402790
lea ecx, [esp + 0xcc8]
call fcn.00402790
movaps xmm0, xmmword [0x4d74d0]
xor ecx, ecx
movups xmmword [esp + 0x484], xmm0
mov byte [esp + 0x494], 0
nop dword [eax]
mov al, byte [esp + 0x484]
xor byte [esp + ecx + 0x485], al
inc ecx
cmp ecx, 0xf
jb 0x422850
push 0xf
lea ecx, [esp + 0x489]
call fcn.00409cb0
lea ecx, [esp + 0x485]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0xd10]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xcfc]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xce0]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x58
lea ecx, [esp + 0x30]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x30], 0x52
call fcn.00425d60
push 0
lea ecx, [esp + 0x31]
mov byte [esp + 0x31], al
mov byte [esp + 0x32], 0
call fcn.00409cb0
lea ecx, [esp + 0x2c]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push 0
lea ecx, [esp + 0x31]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
push 1
mov byte [eax], cl
lea ecx, [esp + 0x31]
call fcn.00409cb0
lea ecx, [esp + 0x2d]
mov byte [eax], 0
call fcn.00409ca0
push 0x50
lea ecx, [esp + 0xc8]
mov dword [esp + 0x28], eax
mov byte [esp + 0xc8], 0x72
call fcn.00425d60
push 0x41
lea ecx, [esp + 0xc8]
mov byte [esp + 0xc9], al
call fcn.00425d60
push 0x47
lea ecx, [esp + 0xc8]
mov byte [esp + 0xca], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcb], al
call fcn.00425d60
push 0x5f
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcc], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0xc8]
mov byte [esp + 0xcd], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xc8]
mov byte [esp + 0xce], al
call fcn.00425d60
mov byte [esp + 0xcb], al
lea ecx, [esp + 0xc4]
push 0x58
call fcn.00425d60
push 0x54
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd0], al
call fcn.00425d60
mov byte [esp + 0xcd], al
xor esi, esi
mov byte [esp + 0xce], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0xc9]
call fcn.00409cb0
lea ecx, [esp + 0xc4]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xc9]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 9
jb 0x422a00
push 9
lea ecx, [esp + 0xc9]
call fcn.00409cb0
lea ecx, [esp + 0xc5]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x18]
push 0x262
push dword [esp + 0x2c]
push eax
call edi
lea ecx, [esp + 0xce0]
call fcn.00402790
lea ecx, [esp + 0xcf8]
call fcn.00402790
lea ecx, [esp + 0xd10]
call fcn.00402790
push 0x55
lea ecx, [esp + 0x11c]
mov byte [esp + 0x11c], 0x10
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x11c]
mov byte [esp + 0x11d], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x11c]
mov byte [esp + 0x11e], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x11c]
mov byte [esp + 0x11f], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x11c]
mov byte [esp + 0x120], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x11c]
mov byte [esp + 0x121], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x11c]
mov byte [esp + 0x122], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x11c]
mov byte [esp + 0x123], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x11c]
mov byte [esp + 0x124], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x11c]
mov byte [esp + 0x125], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x11c]
mov byte [esp + 0x126], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x11c]
mov byte [esp + 0x127], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x11c]
mov byte [esp + 0x128], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x11c]
mov byte [esp + 0x129], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x11c]
mov byte [esp + 0x12a], al
call fcn.00425d60
mov byte [esp + 0x127], al
xor esi, esi
mov byte [esp + 0x128], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x11d]
call fcn.00409cb0
lea ecx, [esp + 0x118]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x11d]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x422be0
push 0xf
lea ecx, [esp + 0x11d]
call fcn.00409cb0
lea ecx, [esp + 0x119]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0xd58]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xd44]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xd28]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x59
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x34], 0x1a
call fcn.00425d60
push 0
lea ecx, [esp + 0x35]
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0
call fcn.00409cb0
lea ecx, [esp + 0x30]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push 0
lea ecx, [esp + 0x35]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
push 1
mov byte [eax], cl
lea ecx, [esp + 0x35]
call fcn.00409cb0
lea ecx, [esp + 0x31]
mov byte [eax], 0
call fcn.00409ca0
push 0x50
lea ecx, [esp + 0xbc]
mov dword [esp + 0x28], eax
mov byte [esp + 0xbc], 0x76
call fcn.00425d60
push 0x41
lea ecx, [esp + 0xbc]
mov byte [esp + 0xbd], al
call fcn.00425d60
push 0x47
lea ecx, [esp + 0xbc]
mov byte [esp + 0xbe], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xbc]
mov byte [esp + 0xbf], al
call fcn.00425d60
push 0x5f
lea ecx, [esp + 0xbc]
mov byte [esp + 0xc0], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0xbc]
mov byte [esp + 0xc1], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0xbc]
mov byte [esp + 0xc2], al
call fcn.00425d60
mov byte [esp + 0xbf], al
lea ecx, [esp + 0xb8]
push 0x58
call fcn.00425d60
push 0x54
lea ecx, [esp + 0xbc]
mov byte [esp + 0xc4], al
call fcn.00425d60
mov byte [esp + 0xc1], al
xor esi, esi
mov byte [esp + 0xc2], 0
push esi
lea ecx, [esp + 0xbd]
call fcn.00409cb0
lea ecx, [esp + 0xb8]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0xbd]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 9
jb 0x422db0
push 9
lea ecx, [esp + 0xbd]
call fcn.00409cb0
lea ecx, [esp + 0xb9]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x18]
push 0x1ae
push dword [esp + 0x2c]
push eax
call edi
lea ecx, [esp + 0xd28]
call fcn.00402790
lea ecx, [esp + 0xd40]
call fcn.00402790
lea ecx, [esp + 0xd58]
call fcn.00402790
push 0x55
lea ecx, [esp + 0x130]
mov byte [esp + 0x130], 0x71
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x130]
mov byte [esp + 0x131], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x130]
mov byte [esp + 0x132], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x130]
mov byte [esp + 0x133], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x130]
mov byte [esp + 0x134], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x130]
mov byte [esp + 0x135], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x130]
mov byte [esp + 0x136], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x130]
mov byte [esp + 0x137], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x130]
mov byte [esp + 0x138], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x130]
mov byte [esp + 0x139], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x130]
mov byte [esp + 0x13a], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x130]
mov byte [esp + 0x13b], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x130]
mov byte [esp + 0x13c], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x130]
mov byte [esp + 0x13d], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x130]
mov byte [esp + 0x13e], al
call fcn.00425d60
mov byte [esp + 0x13b], al
xor esi, esi
mov byte [esp + 0x13c], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x131]
call fcn.00409cb0
lea ecx, [esp + 0x12c]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x131]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x422f90
push 0xf
lea ecx, [esp + 0x131]
call fcn.00409cb0
lea ecx, [esp + 0x12d]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0xda0]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xd8c]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xd70]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x53
lea ecx, [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x5c], 0x6d
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5d], al
call fcn.00425d60
push 0x41
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5e], al
call fcn.00425d60
push 0x52
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5f], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x5c]
mov byte [esp + 0x60], al
call fcn.00425d60
push 0x5f
lea ecx, [esp + 0x5c]
mov byte [esp + 0x61], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x5c]
mov byte [esp + 0x62], al
call fcn.00425d60
mov byte [esp + 0x5f], al
xor esi, esi
mov byte [esp + 0x60], 0
push esi
lea ecx, [esp + 0x5d]
call fcn.00409cb0
lea ecx, [esp + 0x58]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x5d]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x4230a5
push 7
lea ecx, [esp + 0x5d]
call fcn.00409cb0
lea ecx, [esp + 0x59]
mov byte [eax], 0
call fcn.00409ca0
push 0x4e
lea ecx, [esp + 0x50]
mov dword [esp + 0x28], eax
mov byte [esp + 0x50], 0x36
call fcn.00425d60
push 0x4f
lea ecx, [esp + 0x50]
mov byte [esp + 0x51], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x50]
mov byte [esp + 0x52], al
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x50]
mov byte [esp + 0x53], al
call fcn.00425d60
push 0x43
lea ecx, [esp + 0x50]
mov byte [esp + 0x54], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0x50]
mov byte [esp + 0x55], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x50]
mov byte [esp + 0x56], al
call fcn.00425d60
mov byte [esp + 0x53], al
xor esi, esi
mov byte [esp + 0x54], 0
push esi
lea ecx, [esp + 0x51]
call fcn.00409cb0
lea ecx, [esp + 0x4c]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x51]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x423166
push 7
lea ecx, [esp + 0x51]
call fcn.00409cb0
lea ecx, [esp + 0x4d]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x18]
push 0xc8
push dword [esp + 0x2c]
push eax
call edi
lea ecx, [esp + 0xd70]
mov dword [0x4e0d50], eax
call fcn.00402790
lea ecx, [esp + 0xd88]
call fcn.00402790
lea ecx, [esp + 0xda0]
call fcn.00402790
push 0x55
lea ecx, [esp + 0x144]
mov byte [esp + 0x144], 0x6d
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x144]
mov byte [esp + 0x145], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x144]
mov byte [esp + 0x146], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x144]
mov byte [esp + 0x147], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x144]
mov byte [esp + 0x148], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x144]
mov byte [esp + 0x149], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x144]
mov byte [esp + 0x14a], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x144]
mov byte [esp + 0x14b], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x144]
mov byte [esp + 0x14c], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x144]
mov byte [esp + 0x14d], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x144]
mov byte [esp + 0x14e], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x144]
mov byte [esp + 0x14f], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x144]
mov byte [esp + 0x150], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x144]
mov byte [esp + 0x151], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x144]
mov byte [esp + 0x152], al
call fcn.00425d60
mov byte [esp + 0x14f], al
xor esi, esi
mov byte [esp + 0x150], 0
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x145]
call fcn.00409cb0
lea ecx, [esp + 0x140]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x145]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x423340
push 0xf
lea ecx, [esp + 0x145]
call fcn.00409cb0
lea ecx, [esp + 0x141]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0xde8]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0xdd4]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xdb8]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x53
lea ecx, [esp + 0x68]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x68], 0x46
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x68]
mov byte [esp + 0x69], al
call fcn.00425d60
push 0x41
lea ecx, [esp + 0x68]
mov byte [esp + 0x6a], al
call fcn.00425d60
push 0x52
lea ecx, [esp + 0x68]
mov byte [esp + 0x6b], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x68]
mov byte [esp + 0x6c], al
call fcn.00425d60
push 0x5f
lea ecx, [esp + 0x68]
mov byte [esp + 0x6d], al
call fcn.00425d60
push 0x59
lea ecx, [esp + 0x68]
mov byte [esp + 0x6e], al
call fcn.00425d60
mov byte [esp + 0x6b], al
xor esi, esi
mov byte [esp + 0x6c], 0
push esi
lea ecx, [esp + 0x69]
call fcn.00409cb0
lea ecx, [esp + 0x64]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x69]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x423455
push 7
lea ecx, [esp + 0x69]
call fcn.00409cb0
lea ecx, [esp + 0x65]
mov byte [eax], 0
call fcn.00409ca0
push 0x4e
lea ecx, [esp + 0x74]
mov dword [esp + 0x28], eax
mov byte [esp + 0x74], 0x2f
call fcn.00425d60
push 0x4f
lea ecx, [esp + 0x74]
mov byte [esp + 0x75], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x74]
mov byte [esp + 0x76], al
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x74]
mov byte [esp + 0x77], al
call fcn.00425d60
push 0x43
lea ecx, [esp + 0x74]
mov byte [esp + 0x78], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0x74]
mov byte [esp + 0x79], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x74]
mov byte [esp + 0x7a], al
call fcn.00425d60
mov byte [esp + 0x77], al
xor esi, esi
mov byte [esp + 0x78], 0
push esi
lea ecx, [esp + 0x75]
call fcn.00409cb0
lea ecx, [esp + 0x70]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x75]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x423516
push 7
lea ecx, [esp + 0x75]
call fcn.00409cb0
lea ecx, [esp + 0x71]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x18]
push 0x1e0
push dword [esp + 0x2c]
push eax
call edi
lea ecx, [esp + 0xdb8]
mov dword [0x4e0d54], eax
call fcn.00402790
lea ecx, [esp + 0xdd0]
call fcn.00402790
lea ecx, [esp + 0xde8]
call fcn.00402790
push 0x55
lea ecx, [esp + 0x158]
mov byte [esp + 0x158], 0x31
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x158]
mov byte [esp + 0x159], al
call fcn.00425d60
push 0x58
lea ecx, [esp + 0x158]
mov byte [esp + 0x15a], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x158]
mov byte [esp + 0x15b], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x158]
mov byte [esp + 0x15c], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x158]
mov byte [esp + 0x15d], al
call fcn.00425d60
push 0x74
lea ecx, [esp + 0x158]
mov byte [esp + 0x15e], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x158]
mov byte [esp + 0x15f], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x158]
mov byte [esp + 0x160], al
call fcn.00425d60
push 0x67
lea ecx, [esp + 0x158]
mov byte [esp + 0x161], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x158]
mov byte [esp + 0x162], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x158]
mov byte [esp + 0x163], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x158]
mov byte [esp + 0x164], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x158]
mov byte [esp + 0x165], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x158]
mov byte [esp + 0x166], al
call fcn.00425d60
mov byte [esp + 0x163], al
xor esi, esi
mov byte [esp + 0x164], 0
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x159]
call fcn.00409cb0
lea ecx, [esp + 0x154]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x159]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x4236f0
push 0xf
lea ecx, [esp + 0x159]
call fcn.00409cb0
lea ecx, [esp + 0x155]
mov byte [eax], 0
call fcn.00409ca0
mov esi, eax
lea ecx, [esp + 0x920]
lea eax, [esp + 0xe48]
push eax
push 0x4e0cd0
call fcn.004063c0
mov edx, eax
lea ecx, [esp + 0x90c]
call fcn.004079f0
add esp, 4
lea ecx, [esp + 0xe00]
mov edx, eax
push esi
call fcn.00407990
add esp, 4
mov ecx, eax
call fcn.00402780
push 0x4f
lea ecx, [esp + 0x98]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x98], 0x19
call fcn.00425d60
push 0x46
lea ecx, [esp + 0x98]
mov byte [esp + 0x99], al
call fcn.00425d60
push 0x46
lea ecx, [esp + 0x98]
mov byte [esp + 0x9a], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x98]
mov byte [esp + 0x9b], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0x98]
mov byte [esp + 0x9c], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x98]
mov byte [esp + 0x9d], al
call fcn.00425d60
push 0x5f
lea ecx, [esp + 0x98]
mov byte [esp + 0x9e], al
call fcn.00425d60
push 0x59
lea ecx, [esp + 0x98]
mov byte [esp + 0x9f], al
call fcn.00425d60
mov byte [esp + 0x9c], al
xor esi, esi
mov byte [esp + 0x9d], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x99]
call fcn.00409cb0
lea ecx, [esp + 0x94]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x99]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x423850
push 8
lea ecx, [esp + 0x99]
call fcn.00409cb0
lea ecx, [esp + 0x95]
mov byte [eax], 0
call fcn.00409ca0
push 0x4e
lea ecx, [esp + 0x80]
mov dword [esp + 0x28], eax
mov byte [esp + 0x80], 0xd
call fcn.00425d60
push 0x4f
lea ecx, [esp + 0x80]
mov byte [esp + 0x81], al
call fcn.00425d60
push 0x54
lea ecx, [esp + 0x80]
mov byte [esp + 0x82], al
call fcn.00425d60
push 0x49
lea ecx, [esp + 0x80]
mov byte [esp + 0x83], al
call fcn.00425d60
push 0x43
lea ecx, [esp + 0x80]
mov byte [esp + 0x84], al
call fcn.00425d60
push 0x45
lea ecx, [esp + 0x80]
mov byte [esp + 0x85], al
call fcn.00425d60
push 0x53
lea ecx, [esp + 0x80]
mov byte [esp + 0x86], al
call fcn.00425d60
mov byte [esp + 0x83], al
xor esi, esi
mov byte [esp + 0x84], 0
push esi
lea ecx, [esp + 0x81]
call fcn.00409cb0
lea ecx, [esp + 0x7c]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x81]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 7
jb 0x423950
push 7
lea ecx, [esp + 0x81]
call fcn.00409cb0
lea ecx, [esp + 0x7d]
mov byte [eax], 0
call fcn.00409ca0
push dword [esp + 0x18]
push 0x17
push dword [esp + 0x2c]
push eax
call edi
lea ecx, [esp + 0xe00]
call fcn.00402790
lea ecx, [esp + 0x908]
call fcn.00402790
lea ecx, [esp + 0x920]
call fcn.00402790
mov eax, dword [0x4deed8]
mov ecx, dword [0x4deea0]
mov dword [0x4e0cc8], eax
mov dword [0x4e0d5c], eax
mov eax, dword fs:[0x2c]
mov dword [0x4e0cc4], ecx
mov dword [0x4e0d58], ecx
mov ecx, dword [eax]
mov eax, dword [0x5611b4]
cmp eax, dword [ecx + 4]
jle 0x423a2b
push 0x5611b4
call fcn.00477224
add esp, 4
cmp dword [0x5611b4], 0xffffffff
jne 0x423a2b
push 0x5611b4
call fcn.004771d3
add esp, 4
push 0
mov dword [esp + 0xe1c], 0x30
mov dword [esp + 0xe20], 0x3000
mov dword [esp + 0xe24], 0x425890
mov dword [esp + 0xe28], 0
mov dword [esp + 0xe2c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x65
push dword [esp + 0x180]
mov dword [esp + 0xe34], eax
mov dword [esp + 0xe3c], 0
mov dword [esp + 0xe40], 0
mov dword [esp + 0xe44], 0
mov dword [esp + 0xe48], 0x4d229c
mov dword [esp + 0xe4c], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0xe30], eax
lea eax, [esp + 0xe18]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov eax, dword [0x4deea0]
lea ecx, [esp + 0x88]
mov edi, dword [0x4deed8]
push 0x4c
mov dword [esp + 0x1c], eax
mov byte [esp + 0x8c], 0x4a
call fcn.00425d60
push 0x61
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8d], al
call fcn.00425d60
push 0x75
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8e], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8f], al
call fcn.00425d60
push 0x63
lea ecx, [esp + 0x8c]
mov byte [esp + 0x90], al
call fcn.00425d60
push 0x68
lea ecx, [esp + 0x8c]
mov byte [esp + 0x91], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x8c]
mov byte [esp + 0x92], al
call fcn.00425d60
push 0x72
lea ecx, [esp + 0x8c]
mov byte [esp + 0x93], al
call fcn.00425d60
mov byte [esp + 0x90], al
xor esi, esi
mov byte [esp + 0x91], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x8d]
call fcn.00409cb0
lea ecx, [esp + 0x88]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x8d]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x423ba0
push 8
lea ecx, [esp + 0x8d]
call fcn.00409cb0
lea ecx, [esp + 0x89]
mov byte [eax], 0
call fcn.00409ca0
push 0
push dword [esp + 0xe30]
push 0
push 0
push edi
push dword [esp + 0x2c]
push 0x64
push 0x64
push connect
push eax
push dword [esp + 0xe68]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x4deed8]
mov esi, eax
xor edx, edx
push dword [0x4deea0]
mov ecx, esi
mov dword [esp + 0x20], esi
call fcn.0041f440
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 [0x4e0c18], esi
call fcn.00424520
test al, al
jne 0x423c80
call fcn.00424860
jmp 0x423ca5
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0041d430
test al, al
jne 0x423cc0
call fcn.00424860
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xe2c]
push dword [esp + 0xe44]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x4244d3
mov eax, dword [esp + 0x17c]
xorps xmm0, xmm0
push 0x290
mov dword [0x4e0c8c], eax
movups xmmword [0x4e0c5c], xmm0
mov dword [0x4e0c6c], 0
mov dword [0x4e0c70], 0
call fcn.00476d3f
add esp, 4
mov esi, eax
mov ecx, esi
push 0x290
call fcn.00424500
mov ecx, esi
call fcn.00425e60
mov edi, dword [esp + 0x2b4]
mov edx, edi
mov ecx, dword [0x4e0c18]
mov dword [0x4e0c4c], eax
mov dword [eax + 0x148], ecx
lea ecx, [eax + 0x154]
lea esi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x423d30
sub edx, esi
push edx
push edi
call fcn.004028c0
cmp dword [0x4e0c7c], 0
jne 0x423d79
push 0x4e0c7c
lea eax, [esp + 0xe94]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x2bc
push 0
push dword [esp + 0x48]
push dword [0x4e1134]
call dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
lea eax, [esp + 0xe88]
push eax
call fcn.004814e7
add esp, 4
lea eax, [esp + 0xe88]
push eax
call fcn.004817e0
mov edx, eax
add esp, 4
xor al, al
mov dword [esp + 0x17c], eax
mov ecx, dword [edx + 0x14]
add ecx, 0x76c
cmp ecx, 0x7ee
jle 0x423dbf
mov byte [esp + 0x17c], 1
jmp 0x423dfc
mov esi, dword [edx + 0x10]
cmp esi, 0xb
jle 0x423dd9
cmp ecx, 0x7ee
jne 0x423dd9
mov byte [esp + 0x17c], 1
jmp 0x423dfc
cmp dword [edx + 0xc], 1
jle 0x423dfc
cmp esi, 0xb
jne 0x423dfc
cmp ecx, 0x7ee
movzx eax, al
mov edx, 1
cmove eax, edx
mov dword [esp + 0x17c], eax
mov eax, dword [0x4e0c4c]
sub esp, 0x18
add eax, 0x130
mov ecx, esp
push eax
call fcn.00406400
call fcn.0041f510
add esp, 0x18
test al, al
je 0x423e41
cmp byte [esp + 0x17c], 0
jne 0x423e41
push 0
push 0
push 0
push 0x41d420
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x424010
push 0x49
lea ecx, [esp + 0x16c]
mov byte [esp + 0x16c], 5
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x16c]
mov byte [esp + 0x16d], al
call fcn.00425d60
push 0x76
lea ecx, [esp + 0x16c]
mov byte [esp + 0x16e], al
call fcn.00425d60
push 0x61
lea ecx, [esp + 0x16c]
mov byte [esp + 0x16f], al
call fcn.00425d60
push 0x6c
lea ecx, [esp + 0x16c]
mov byte [esp + 0x170], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x16c]
mov byte [esp + 0x171], al
call fcn.00425d60
push 0x64
lea ecx, [esp + 0x16c]
mov byte [esp + 0x172], al
call fcn.00425d60
push 0x20
lea ecx, [esp + 0x16c]
mov byte [esp + 0x173], al
call fcn.00425d60
push 0x4c
lea ecx, [esp + 0x16c]
mov byte [esp + 0x174], al
call fcn.00425d60
push 0x69
lea ecx, [esp + 0x16c]
mov byte [esp + 0x175], al
call fcn.00425d60
push 0x63
lea ecx, [esp + 0x16c]
mov byte [esp + 0x176], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x16c]
mov byte [esp + 0x177], al
call fcn.00425d60
push 0x6e
lea ecx, [esp + 0x16c]
mov byte [esp + 0x178], al
call fcn.00425d60
push 0x73
lea ecx, [esp + 0x16c]
mov byte [esp + 0x179], al
call fcn.00425d60
push 0x65
lea ecx, [esp + 0x16c]
mov byte [esp + 0x17a], al
call fcn.00425d60
push 0x2e
lea ecx, [esp + 0x16c]
mov byte [esp + 0x17b], al
call fcn.00425d60
mov byte [esp + 0x178], al
xor esi, esi
mov byte [esp + 0x179], 0
push esi
lea ecx, [esp + 0x16d]
call fcn.00409cb0
lea ecx, [esp + 0x168]
movzx eax, byte [eax]
push eax
call fcn.00425d60
push esi
lea ecx, [esp + 0x16d]
mov byte [esp + 0x1a], al
call fcn.00409cb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0x10
jb 0x423fa3
push 0x10
lea ecx, [esp + 0x16d]
call fcn.00409cb0
lea ecx, [esp + 0x169]
mov byte [eax], 0
call fcn.00409ca0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004063c0
mov ecx, dword [0x4e0c4c]
call fcn.0041d270
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f00
push 0
mov dword [0x4e1120], eax
call esi
push 0x7f00
push 0
mov dword [0x4e1110], eax
call esi
push dword [0x4e1120]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4e110c], eax
call edi
mov eax, dword [0x4e0c4c]
add eax, 0x2c
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 1
call fcn.00476d3f
xorps xmm0, xmm0
mov dword [0x4e0dc0], eax
add esp, 4
movaps xmmword [esp + 0xe60], xmm0
movq qword [esp + 0xe70], xmm0
mov dword [esp + 0xe78], 0
push 1
push 0
push 0
push 0
lea eax, [esp + 0xe70]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x4240cb
lea eax, [esp + 0xe60]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xe60]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x42449b
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4240e0
push dword [0x4e110c]
jmp 0x4240e6
push dword [0x4e1120]
call edi
mov eax, dword [0x4e1134]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4e1134]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4e1134]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x4e1134]
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 [0x4e1134]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x424458
mov eax, dword [0x4e0c4c]
mov dword [0x4e0e34], 0
push 0x10
movzx ecx, byte [eax + 0x28c]
mov eax, 0x51eb851f
imul ecx, dword [0x4e0da4]
mov dword [0x4e0e38], 0
mul ecx
mov eax, dword [0x4e0da8]
mov dword [0x4e0e40], eax
mov eax, dword [0x4e0db0]
shr edx, 5
mov dword [0x4e0e3c], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x4e0db0]
push 0xffffffffffffffff
push 0x4e1124
push 0
mov ecx, dword [eax]
push 0
push dword [0x4e0e44]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c5c]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x4241eb
mov eax, dword [0x4e0c58]
jmp 0x4241fa
mov eax, dword [0x4e0c84]
cmp ecx, 2
cmove eax, dword [0x4e0e48]
push 0xffffffffffffffff
push 0x4deea4
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c60]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x424225
mov eax, dword [0x4e0e30]
jmp 0x424234
mov eax, dword [0x4e0e4c]
cmp ecx, 2
cmove eax, dword [0x4e0c78]
push 0xffffffffffffffff
push 0x4deedc
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c64]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x42425f
mov eax, dword [0x4e0c44]
jmp 0x42426e
mov eax, dword [0x4e0c40]
cmp ecx, 2
cmove eax, dword [0x4e0d60]
push 0xffffffffffffffff
push 0x4def6c
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c68]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x424299
mov eax, dword [0x4e0d88]
jmp 0x4242a8
mov eax, dword [0x4e0c98]
cmp ecx, 2
cmove eax, dword [0x4e0c54]
push 0xffffffffffffffff
push 0x4def24
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c6c]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x4242d3
mov eax, dword [0x4e0d84]
jmp 0x4242e2
mov eax, dword [0x4e0c48]
cmp ecx, 2
cmove eax, dword [0x4e0dbc]
push 0xffffffffffffffff
push 0x4deeb0
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c70]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x42430d
mov eax, dword [0x4e0db8]
jmp 0x42431c
mov eax, dword [0x4e0c50]
cmp ecx, 2
cmove eax, dword [0x4e0c94]
push 0xffffffffffffffff
push 0x4deee8
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x4e0db0]
mov ecx, dword [0x4e0c74]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x424347
mov eax, dword [0x4e0ccc]
jmp 0x424356
mov eax, dword [0x4e0dac]
cmp ecx, 2
cmove eax, dword [0x4e0dc4]
push 0xffffffffffffffff
push 0x4def60
push 0
push 0
push eax
push edx
call esi
mov eax, dword [0x4e0db0]
push 0xffffffffffffffff
push 0x4deecc
push 0
mov ecx, dword [eax]
push 0
push dword [0x4e0db4]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4e0db0]
push 0xffffffffffffffff
push 0x4deecc
push 0
mov ecx, dword [eax]
push 0x4e0e34
push dword [0x4e0de8]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x4e0db0]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov eax, dword [0x4e0c4c]
lea ecx, [esp + 0x770]
mov esi, dword [0x4e0c7c]
add eax, 0x274
push eax
call fcn.00406400
lea ecx, [esp + 0x770]
call fcn.00402780
mov edx, esi
mov ecx, eax
call fcn.0041f4b0
lea ecx, [esp + 0x770]
call fcn.00402790
mov eax, dword [0x4e0dec]
lea ecx, [esp + 0x788]
mov dword [0x4e0cbc], eax
mov eax, dword [0x4e0c7c]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
mov eax, dword [0x4e0c4c]
add eax, 0x274
push eax
call fcn.00406400
lea ecx, [esp + 0x788]
call fcn.00402780
push 0xffffffffffffffff
push 0
push 0x4e0cbc
push 0xffffffffffffffff
push eax
push 0
push dword [0x4e0c7c]
call esi
lea ecx, [esp + 0x788]
call fcn.00402790
mov eax, dword [0x4e1134]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov ecx, dword [0x4e1134]
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 0x42449b
mov eax, dword [0x4e1134]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x42449b
mov eax, dword [0x4e1134]
push 0x4e1148
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
cmp dword [esp + 0xe64], 0x12
jne 0x424090
call fcn.00424860
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xe2c]
push dword [esp + 0xe44]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, dword [esp + 0xe68]
lea ecx, [esp + 0xe48]
call fcn.00402790
mov ecx, dword [esp + 0xeac]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00476d2c
mov esp, ebp
pop ebp
ret 0x10