Function at 0x44f450
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
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xbf8
mov eax, dword [0x5000c0]
xor eax, esp
mov dword [esp + 0xbf4], eax
movaps xmm0, xmmword [0x4fb4d0]
xor ecx, ecx
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x68], eax
movups xmmword [esp + 0x3bc], xmm0
mov word [esp + 0x3cc], 0x27
nop
mov al, byte [esp + 0x3bc]
xor byte [esp + ecx + 0x3bd], al
inc ecx
cmp ecx, 0x10
jb 0x44f490
lea eax, [esp + 0x3bd]
mov byte [esp + 0x3cd], 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 0x44f4e3
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xbf4]
xor ecx, esp
call fcn.004a4773
mov esp, ebp
pop ebp
ret 0x10
push 0x50f9c8
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd4], 0x46
call fcn.004544c0
push 0x4d
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd5], al
call fcn.004544c0
push 0x79
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd6], al
call fcn.004544c0
push 0x6b
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd7], al
call fcn.004544c0
push 0x6f
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd8], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0xd4]
mov byte [esp + 0xd9], al
call fcn.004544c0
push 0x6f
lea ecx, [esp + 0xd4]
mov byte [esp + 0xda], al
call fcn.004544c0
push 0x66
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdb], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdc], al
call fcn.004544c0
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdd], al
call fcn.004544c0
push 0x4c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xde], al
call fcn.004544c0
push 0x61
lea ecx, [esp + 0xd4]
mov byte [esp + 0xdf], al
call fcn.004544c0
push 0x75
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe0], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe1], al
call fcn.004544c0
push 0x63
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe2], al
call fcn.004544c0
push 0x68
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe3], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe4], al
call fcn.004544c0
push 0x72
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe5], al
call fcn.004544c0
push 0x5c
lea ecx, [esp + 0xd4]
mov byte [esp + 0xe6], al
call fcn.004544c0
mov byte [esp + 0xe3], al
mov byte [esp + 0xe4], 0
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0xd5]
call fcn.0044ddb0
lea ecx, [esp + 0xd0]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0xd5]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0x13
jb 0x44f6a0
push 0x13
lea ecx, [esp + 0xd5]
call fcn.0044ddb0
lea ecx, [esp + 0xd1]
mov byte [eax], 0
call fcn.0044dda0
push eax
lea ecx, [esp + 0xb9c]
call fcn.00448b40
push 0x55
lea ecx, [esp + 0x70]
mov byte [esp + 0x70], 0x63
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x70]
mov byte [esp + 0x71], al
call fcn.004544c0
push 0x58
lea ecx, [esp + 0x70]
mov byte [esp + 0x72], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0x70]
mov byte [esp + 0x73], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0x70]
mov byte [esp + 0x74], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x70]
mov byte [esp + 0x75], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x70]
mov byte [esp + 0x76], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x77], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x70]
mov byte [esp + 0x78], al
call fcn.004544c0
push 0x67
lea ecx, [esp + 0x70]
mov byte [esp + 0x79], al
call fcn.004544c0
push 0x73
lea ecx, [esp + 0x70]
mov byte [esp + 0x7a], al
call fcn.004544c0
push 0x2e
lea ecx, [esp + 0x70]
mov byte [esp + 0x7b], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x7c], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x70]
mov byte [esp + 0x7d], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x7e], al
call fcn.004544c0
mov byte [esp + 0x7b], al
xor esi, esi
mov byte [esp + 0x7c], 0
push esi
lea ecx, [esp + 0x71]
call fcn.0044ddb0
lea ecx, [esp + 0x6c]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x71]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x44f7f1
push 0xf
lea ecx, [esp + 0x71]
call fcn.0044ddb0
lea ecx, [esp + 0x6d]
mov byte [eax], 0
call fcn.0044dda0
push 0x57
lea ecx, [esp + 0x44]
mov dword [esp + 0x30], eax
mov byte [esp + 0x44], 0x31
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x44]
mov byte [esp + 0x45], al
call fcn.004544c0
push 0x44
lea ecx, [esp + 0x44]
mov byte [esp + 0x46], al
call fcn.004544c0
push 0x54
lea ecx, [esp + 0x44]
mov byte [esp + 0x47], al
call fcn.004544c0
push 0x48
lea ecx, [esp + 0x44]
mov byte [esp + 0x48], al
call fcn.004544c0
mov byte [esp + 0x45], al
xor esi, esi
mov byte [esp + 0x46], 0
push esi
lea ecx, [esp + 0x45]
call fcn.0044ddb0
lea ecx, [esp + 0x40]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x45]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x44f894
push 5
lea ecx, [esp + 0x45]
call fcn.0044ddb0
lea ecx, [esp + 0x41]
mov byte [eax], 0
call fcn.0044dda0
push 0x4c
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], 0x45
mov edi, eax
call fcn.004544c0
push 0x41
lea ecx, [esp + 0x54]
mov byte [esp + 0x55], al
call fcn.004544c0
push 0x55
lea ecx, [esp + 0x54]
mov byte [esp + 0x56], al
call fcn.004544c0
push 0x4e
lea ecx, [esp + 0x54]
mov byte [esp + 0x57], al
call fcn.004544c0
push 0x43
lea ecx, [esp + 0x54]
mov byte [esp + 0x58], al
call fcn.004544c0
push 0x48
lea ecx, [esp + 0x54]
mov byte [esp + 0x59], al
call fcn.004544c0
push 0x45
lea ecx, [esp + 0x54]
mov byte [esp + 0x5a], al
call fcn.004544c0
push 0x52
lea ecx, [esp + 0x54]
mov byte [esp + 0x5b], al
call fcn.004544c0
mov byte [esp + 0x58], al
xor esi, esi
mov byte [esp + 0x59], 0
push esi
lea ecx, [esp + 0x55]
call fcn.0044ddb0
lea ecx, [esp + 0x50]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x55]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x44f962
push 8
lea ecx, [esp + 0x55]
call fcn.0044ddb0
lea ecx, [esp + 0x51]
mov byte [eax], 0
call fcn.0044dda0
push dword [esp + 0x2c]
mov esi, eax
lea ecx, [esp + 0x944]
lea eax, [esp + 0xb9c]
push eax
push 0x50f9c8
call fcn.00448b40
mov edx, eax
lea ecx, [esp + 0x930]
call fcn.0044a1c0
add esp, 4
lea ecx, [esp + 0x914]
mov edx, eax
call fcn.0044a160
add esp, 4
mov ecx, eax
call fcn.00444fe0
push eax
push 0x322
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
call edi
lea ecx, [esp + 0x910]
mov dword [0x50bbf4], eax
call fcn.00444ff0
lea ecx, [esp + 0x928]
call fcn.00444ff0
lea ecx, [esp + 0x940]
call fcn.00444ff0
push 0x55
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc0], 0x6e
call fcn.004544c0
push 0x49
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc1], al
call fcn.004544c0
push 0x58
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc2], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc3], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc4], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc5], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc6], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc7], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc8], al
call fcn.004544c0
push 0x67
lea ecx, [esp + 0xc0]
mov byte [esp + 0xc9], al
call fcn.004544c0
push 0x73
lea ecx, [esp + 0xc0]
mov byte [esp + 0xca], al
call fcn.004544c0
mov byte [esp + 0xc7], al
push 0x2e
lea ecx, [esp + 0xc0]
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xc0]
mov byte [esp + 0xcc], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xc0]
mov byte [esp + 0xcd], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xc0]
mov byte [esp + 0xce], al
call fcn.004544c0
mov byte [esp + 0xcb], al
xor esi, esi
mov byte [esp + 0xcc], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0xc1]
call fcn.0044ddb0
lea ecx, [esp + 0xbc]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0xc1]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x44fb80
push 0xf
lea ecx, [esp + 0xc1]
call fcn.0044ddb0
lea ecx, [esp + 0xbd]
mov byte [eax], 0
call fcn.0044dda0
push 0x48
lea ecx, [esp + 0x4c]
mov dword [esp + 0x30], eax
mov byte [esp + 0x4c], 0x38
call fcn.004544c0
push 0x45
lea ecx, [esp + 0x4c]
mov byte [esp + 0x4d], al
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x4c]
mov byte [esp + 0x4e], al
call fcn.004544c0
push 0x47
lea ecx, [esp + 0x4c]
mov byte [esp + 0x4f], al
call fcn.004544c0
push 0x48
lea ecx, [esp + 0x4c]
mov byte [esp + 0x50], al
call fcn.004544c0
push 0x54
lea ecx, [esp + 0x4c]
mov byte [esp + 0x51], al
call fcn.004544c0
mov byte [esp + 0x4e], al
xor esi, esi
mov byte [esp + 0x4f], 0
push esi
lea ecx, [esp + 0x4d]
call fcn.0044ddb0
lea ecx, [esp + 0x48]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x4d]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x44fc41
push 6
lea ecx, [esp + 0x4d]
call fcn.0044ddb0
lea ecx, [esp + 0x49]
mov byte [eax], 0
call fcn.0044dda0
push 0x4c
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x60], 0x72
call fcn.004544c0
push 0x41
lea ecx, [esp + 0x60]
mov byte [esp + 0x61], al
call fcn.004544c0
push 0x55
lea ecx, [esp + 0x60]
mov byte [esp + 0x62], al
call fcn.004544c0
push 0x4e
lea ecx, [esp + 0x60]
mov byte [esp + 0x63], al
call fcn.004544c0
push 0x43
lea ecx, [esp + 0x60]
mov byte [esp + 0x64], al
call fcn.004544c0
push 0x48
lea ecx, [esp + 0x60]
mov byte [esp + 0x65], al
call fcn.004544c0
push 0x45
lea ecx, [esp + 0x60]
mov byte [esp + 0x66], al
call fcn.004544c0
push 0x52
lea ecx, [esp + 0x60]
mov byte [esp + 0x67], al
call fcn.004544c0
mov byte [esp + 0x64], al
xor esi, esi
mov byte [esp + 0x65], 0
push esi
lea ecx, [esp + 0x61]
call fcn.0044ddb0
lea ecx, [esp + 0x5c]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x61]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x44fd11
push 8
lea ecx, [esp + 0x61]
call fcn.0044ddb0
lea ecx, [esp + 0x5d]
mov byte [eax], 0
call fcn.0044dda0
push dword [esp + 0x2c]
mov esi, eax
lea ecx, [esp + 0x98c]
lea eax, [esp + 0xb9c]
push eax
push 0x50f9c8
call fcn.00448b40
mov edx, eax
lea ecx, [esp + 0x978]
call fcn.0044a1c0
add esp, 4
lea ecx, [esp + 0x95c]
mov edx, eax
call fcn.0044a160
add esp, 4
mov ecx, eax
call fcn.00444fe0
push eax
push 0x252
push dword [esp + 0x20]
push esi
call edi
lea ecx, [esp + 0x958]
mov dword [0x50bc10], eax
call fcn.00444ff0
lea ecx, [esp + 0x970]
call fcn.00444ff0
lea ecx, [esp + 0x988]
call fcn.00444ff0
push 0x55
lea ecx, [esp + 0xac]
mov byte [esp + 0xac], 0x29
call fcn.004544c0
push 0x49
lea ecx, [esp + 0xac]
mov byte [esp + 0xad], al
call fcn.004544c0
push 0x58
lea ecx, [esp + 0xac]
mov byte [esp + 0xae], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0xac]
mov byte [esp + 0xaf], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0xac]
mov byte [esp + 0xb0], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xac]
mov byte [esp + 0xb1], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xac]
mov byte [esp + 0xb2], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xb3], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xb4], al
call fcn.004544c0
push 0x67
lea ecx, [esp + 0xac]
mov byte [esp + 0xb5], al
call fcn.004544c0
push 0x73
lea ecx, [esp + 0xac]
mov byte [esp + 0xb6], al
call fcn.004544c0
mov byte [esp + 0xb3], al
push 0x2e
lea ecx, [esp + 0xac]
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xb8], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xac]
mov byte [esp + 0xb9], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0xac]
mov byte [esp + 0xba], al
call fcn.004544c0
mov byte [esp + 0xb7], al
xor esi, esi
mov byte [esp + 0xb8], 0
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0xad]
call fcn.0044ddb0
lea ecx, [esp + 0xa8]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0xad]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x44ff30
push 0xf
lea ecx, [esp + 0xad]
call fcn.0044ddb0
lea ecx, [esp + 0xa9]
mov byte [eax], 0
call fcn.0044dda0
push 0x58
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x34], 0x2e
call fcn.004544c0
push 0
lea ecx, [esp + 0x35]
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0
call fcn.0044ddb0
lea ecx, [esp + 0x30]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push 0
lea ecx, [esp + 0x35]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
push 1
mov byte [eax], cl
lea ecx, [esp + 0x35]
call fcn.0044ddb0
lea ecx, [esp + 0x31]
mov byte [eax], 0
call fcn.0044dda0
push 0x42
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], eax
mov byte [esp + 0x40], 0xc
call fcn.004544c0
push 0x47
lea ecx, [esp + 0x40]
mov byte [esp + 0x41], al
call fcn.004544c0
mov byte [esp + 0x3e], al
xor esi, esi
mov byte [esp + 0x3f], 0
push esi
lea ecx, [esp + 0x41]
call fcn.0044ddb0
lea ecx, [esp + 0x3c]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x41]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 2
jb 0x450016
push 2
lea ecx, [esp + 0x41]
call fcn.0044ddb0
lea ecx, [esp + 0x3d]
mov byte [eax], 0
call fcn.0044dda0
push dword [esp + 0x18]
mov esi, eax
lea ecx, [esp + 0x9d4]
lea eax, [esp + 0xb9c]
push eax
push 0x50f9c8
call fcn.00448b40
mov edx, eax
lea ecx, [esp + 0x9c0]
call fcn.0044a1c0
add esp, 4
lea ecx, [esp + 0x9a4]
mov edx, eax
call fcn.0044a160
add esp, 4
mov ecx, eax
call fcn.00444fe0
push eax
push 0
push dword [esp + 0x34]
push esi
call edi
lea ecx, [esp + 0x9a0]
mov dword [esp + 0x2c], eax
call fcn.00444ff0
lea ecx, [esp + 0x9b8]
call fcn.00444ff0
lea ecx, [esp + 0x9d0]
call fcn.00444ff0
push 0x55
lea ecx, [esp + 0x98]
mov byte [esp + 0x98], 0x4c
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x98]
mov byte [esp + 0x99], al
call fcn.004544c0
push 0x58
lea ecx, [esp + 0x98]
mov byte [esp + 0x9a], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0x98]
mov byte [esp + 0x9b], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0x98]
mov byte [esp + 0x9c], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x98]
mov byte [esp + 0x9d], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x98]
mov byte [esp + 0x9e], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x98]
mov byte [esp + 0x9f], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x98]
mov byte [esp + 0xa0], al
call fcn.004544c0
push 0x67
lea ecx, [esp + 0x98]
mov byte [esp + 0xa1], al
call fcn.004544c0
push 0x73
lea ecx, [esp + 0x98]
mov byte [esp + 0xa2], al
call fcn.004544c0
mov byte [esp + 0x9f], al
push 0x2e
lea ecx, [esp + 0x98]
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x98]
mov byte [esp + 0xa4], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x98]
mov byte [esp + 0xa5], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x98]
mov byte [esp + 0xa6], al
call fcn.004544c0
mov byte [esp + 0xa3], al
xor esi, esi
mov byte [esp + 0xa4], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x99]
call fcn.0044ddb0
lea ecx, [esp + 0x94]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x99]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x450230
push 0xf
lea ecx, [esp + 0x99]
call fcn.0044ddb0
lea ecx, [esp + 0x95]
mov byte [eax], 0
call fcn.0044dda0
mov esi, eax
lea ecx, [esp + 0xa00]
lea eax, [esp + 0xb98]
push eax
push 0x50f9c8
call fcn.00448b40
mov edx, eax
lea ecx, [esp + 0x9ec]
call fcn.0044a1c0
mov edx, esi
add esp, 4
lea ecx, [edx + 1]
mov dword [esp + 0x18], ecx
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4502c0
sub edx, dword [esp + 0x18]
mov ecx, eax
push edx
push esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x65c]
call fcn.00448af0
push 0x59
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], 0x54
call fcn.004544c0
push 0
lea ecx, [esp + 0x39]
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], 0
call fcn.0044ddb0
lea ecx, [esp + 0x34]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push 0
lea ecx, [esp + 0x39]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
push 1
mov byte [eax], cl
lea ecx, [esp + 0x39]
call fcn.0044ddb0
lea ecx, [esp + 0x35]
mov byte [eax], 0
call fcn.0044dda0
push 0x42
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x3c], 4
call fcn.004544c0
push 0x47
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3d], al
call fcn.004544c0
mov byte [esp + 0x3a], al
xor esi, esi
mov byte [esp + 0x3b], 0
nop dword [eax]
push esi
lea ecx, [esp + 0x3d]
call fcn.0044ddb0
lea ecx, [esp + 0x38]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x3d]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 2
jb 0x450370
push 2
lea ecx, [esp + 0x3d]
call fcn.0044ddb0
lea ecx, [esp + 0x39]
mov byte [eax], 0
call fcn.0044dda0
lea ecx, [esp + 0x658]
mov esi, eax
call fcn.00444fe0
push eax
push 0
push dword [esp + 0x20]
push esi
call edi
lea ecx, [esp + 0x658]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x9e8]
call fcn.00444ff0
lea ecx, [esp + 0xa00]
call fcn.00444ff0
movd xmm2, dword [esp + 0x2c]
lea ecx, [esp + 0xa18]
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
push 0x50f9c8
mov dword [0x510520], eax
cvtdq2ps xmm1, xmm1
unpcklps xmm2, xmm1
movq qword [0x510518], xmm2
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x68c]
call fcn.00448af0
push 0x55
lea ecx, [esp + 0x84]
mov byte [esp + 0x84], 0x54
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x84]
mov byte [esp + 0x85], al
call fcn.004544c0
push 0x58
lea ecx, [esp + 0x84]
mov byte [esp + 0x86], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0x84]
mov byte [esp + 0x87], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0x84]
mov byte [esp + 0x88], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x84]
mov byte [esp + 0x89], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0x84]
mov byte [esp + 0x8a], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x84]
mov byte [esp + 0x8b], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x84]
mov byte [esp + 0x8c], al
call fcn.004544c0
mov byte [esp + 0x89], al
push 0x67
lea ecx, [esp + 0x84]
call fcn.004544c0
push 0x73
lea ecx, [esp + 0x84]
mov byte [esp + 0x8e], al
call fcn.004544c0
push 0x2e
lea ecx, [esp + 0x84]
mov byte [esp + 0x8f], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x84]
mov byte [esp + 0x90], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0x84]
mov byte [esp + 0x91], al
call fcn.004544c0
push 0x69
lea ecx, [esp + 0x84]
mov byte [esp + 0x92], al
call fcn.004544c0
mov byte [esp + 0x8f], al
xor esi, esi
mov byte [esp + 0x90], 0
push esi
lea ecx, [esp + 0x85]
call fcn.0044ddb0
lea ecx, [esp + 0x80]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x85]
mov byte [esp + 0x19], al
call fcn.0044ddb0
mov cl, byte [esp + 0x15]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x4505b0
push 0xf
lea ecx, [esp + 0x85]
call fcn.0044ddb0
lea ecx, [esp + 0x81]
mov byte [eax], 0
call fcn.0044dda0
mov edx, eax
lea esi, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x450610
sub edx, esi
lea ecx, [esp + 0x688]
push edx
push eax
call fcn.00448a20
push eax
lea ecx, [esp + 0x674]
call fcn.00448af0
lea ecx, [esp + 0x670]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x126], 0
mov al, 0x47
mov byte [esp + 0x126], 0
mov cl, 0x1f
mov byte [esp + 0x124], al
xor cl, al
mov dword [esp + 0x20c], 0x7a6f683b
mov byte [esp + 0x125], cl
xor eax, eax
mov cl, 0x3b
mov dword [esp + 0x210], 0x79646f69
mov dword [esp + 0x214], 0x746f6f6e
mov word [esp + 0x218], 0x75
xor byte [esp + eax + 0x20d], cl
inc eax
cmp eax, 0xc
jae 0x4506ab
mov cl, byte [esp + 0x20c]
jmp 0x450695
push edx
push 0x260
lea eax, [esp + 0x12d]
mov byte [esp + 0x221], 0
push eax
lea eax, [esp + 0x219]
push eax
call edi
lea ecx, [esp + 0x670]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x688]
call fcn.00444ff0
lea ecx, [esp + 0xa18]
call fcn.00444ff0
movaps xmm0, xmmword [str.x_1_]
xor ecx, ecx
movups xmmword [esp + 0x268], xmm0
mov byte [esp + 0x278], 0
nop dword [eax]
mov al, byte [esp + 0x268]
xor byte [esp + ecx + 0x269], al
inc ecx
cmp ecx, 0xf
jb 0x450710
push dword [esp + 0x1c]
lea ecx, [esp + 0x50c]
mov byte [esp + 0x27c], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450744
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x510]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x510]
call fcn.00448a20
push eax
lea ecx, [esp + 0x6bc]
call fcn.00448af0
lea ecx, [esp + 0x269]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450796
sub ecx, edx
lea eax, [esp + 0x269]
push ecx
push eax
lea ecx, [esp + 0x6c0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x6a4]
call fcn.00448af0
lea ecx, [esp + 0x6a0]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x10e], 0
mov al, 0x3b
mov byte [esp + 0x10e], 0
mov cl, 0x62
mov byte [esp + 0x10c], al
xor cl, al
mov dword [esp + 0x21c], 0x81d1a49
mov byte [esp + 0x10d], cl
xor eax, eax
mov cl, 0x49
mov dword [esp + 0x220], 0xb161d1b
mov dword [esp + 0x224], 0x61d1d1c
mov word [esp + 0x228], 7
xor byte [esp + eax + 0x21d], cl
inc eax
cmp eax, 0xc
jae 0x450838
mov cl, byte [esp + 0x21c]
jmp 0x450822
push edx
push 0x1fd
lea eax, [esp + 0x115]
mov byte [esp + 0x231], 0
push eax
lea eax, [esp + 0x229]
push eax
call edi
lea ecx, [esp + 0x6a0]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x6b8]
call fcn.00444ff0
lea ecx, [esp + 0x508]
call fcn.00444ff0
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
mov dword [0x50bc00], eax
mov byte [esp + 0x28c], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4fb210]
movq qword [0x50bbf8], xmm1
movups xmmword [esp + 0x27c], xmm0
nop dword [eax]
mov al, byte [esp + 0x27c]
xor byte [esp + ecx + 0x27d], al
inc ecx
cmp ecx, 0xf
jb 0x4508d0
push dword [esp + 0x1c]
lea ecx, [esp + 0x554]
mov byte [esp + 0x290], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450904
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x558]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x558]
call fcn.00448a20
push eax
lea ecx, [esp + 0x6ec]
call fcn.00448af0
lea ecx, [esp + 0x27d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450956
sub ecx, edx
lea eax, [esp + 0x27d]
push ecx
push eax
lea ecx, [esp + 0x6f0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x6d4]
call fcn.00448af0
lea ecx, [esp + 0x6d0]
call fcn.00444fe0
movaps xmm0, xmmword [0x4fb5b0]
mov edx, eax
mov al, 0x45
mov byte [esp + 0x112], 0
mov cl, 0x1d
mov byte [esp + 0x110], al
xor cl, al
mov byte [esp + 0x112], 0
mov byte [esp + 0x111], cl
xor ecx, ecx
movups xmmword [esp + 0x420], xmm0
mov byte [esp + 0x430], 0
nop dword [eax]
mov al, byte [esp + 0x420]
xor byte [esp + ecx + 0x421], al
inc ecx
cmp ecx, 0xf
jb 0x4509d0
push edx
push 0x17
lea eax, [esp + 0x119]
mov byte [esp + 0x438], 0
push eax
lea eax, [esp + 0x42d]
push eax
call edi
lea ecx, [esp + 0x6d0]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x6e8]
call fcn.00444ff0
lea ecx, [esp + 0x550]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb090]
xor ecx, ecx
movups xmmword [esp + 0x290], xmm0
mov byte [esp + 0x2a0], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x290]
xor byte [esp + ecx + 0x291], al
inc ecx
cmp ecx, 0xf
jb 0x450a50
push dword [esp + 0x1c]
lea ecx, [esp + 0x56c]
mov byte [esp + 0x2a4], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450a84
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x570]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x570]
call fcn.00448a20
push eax
lea ecx, [esp + 0x71c]
call fcn.00448af0
lea ecx, [esp + 0x291]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450ad6
sub ecx, edx
lea eax, [esp + 0x291]
push ecx
push eax
lea ecx, [esp + 0x720]
call fcn.00448a20
push eax
lea ecx, [esp + 0x704]
call fcn.00448af0
lea ecx, [esp + 0x700]
call fcn.00444fe0
movaps xmm0, xmmword [0x4fb100]
mov edx, eax
mov al, 0x7b
mov byte [esp + 0x116], 0
mov cl, 0x22
mov byte [esp + 0x114], al
xor cl, al
mov byte [esp + 0x116], 0
mov byte [esp + 0x115], cl
xor ecx, ecx
movups xmmword [esp + 0x434], xmm0
mov byte [esp + 0x444], 0
nop dword [eax]
mov al, byte [esp + 0x434]
xor byte [esp + ecx + 0x435], al
inc ecx
cmp ecx, 0xf
jb 0x450b50
push edx
push 0x1ff
lea eax, [esp + 0x11d]
mov byte [esp + 0x44c], 0
push eax
lea eax, [esp + 0x441]
push eax
call edi
lea ecx, [esp + 0x700]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x718]
call fcn.00444ff0
lea ecx, [esp + 0x568]
call fcn.00444ff0
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
mov dword [0x50bc1c], eax
mov byte [esp + 0x2b4], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4fb390]
movq qword [0x50bc14], xmm1
movups xmmword [esp + 0x2a4], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x2a4]
xor byte [esp + ecx + 0x2a5], al
inc ecx
cmp ecx, 0xf
jb 0x450c00
push dword [esp + 0x1c]
lea ecx, [esp + 0x584]
mov byte [esp + 0x2b8], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450c34
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x588]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x588]
call fcn.00448a20
push eax
lea ecx, [esp + 0x74c]
call fcn.00448af0
lea ecx, [esp + 0x2a5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450c86
sub ecx, edx
lea eax, [esp + 0x2a5]
push ecx
push eax
lea ecx, [esp + 0x750]
call fcn.00448a20
push eax
lea ecx, [esp + 0x734]
call fcn.00448af0
lea ecx, [esp + 0x730]
call fcn.00444fe0
movaps xmm0, xmmword [0x4fb000]
mov edx, eax
mov al, 0x2f
mov byte [esp + 0x11a], 0
mov cl, 0x77
mov byte [esp + 0x118], al
xor cl, al
mov byte [esp + 0x11a], 0
mov byte [esp + 0x119], cl
xor ecx, ecx
movups xmmword [esp + 0x3d0], xmm0
mov byte [esp + 0x3e0], 0
nop dword [eax]
mov al, byte [esp + 0x3d0]
xor byte [esp + ecx + 0x3d1], al
inc ecx
cmp ecx, 0xf
jb 0x450d00
push edx
push 0xa1
lea eax, [esp + 0x121]
mov byte [esp + 0x3e8], 0
push eax
lea eax, [esp + 0x3dd]
push eax
call edi
lea ecx, [esp + 0x730]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x748]
call fcn.00444ff0
lea ecx, [esp + 0x580]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb060]
xor ecx, ecx
movups xmmword [esp + 0x2b8], xmm0
mov byte [esp + 0x2c8], 0
nop word [eax + eax]
mov al, byte [esp + 0x2b8]
xor byte [esp + ecx + 0x2b9], al
inc ecx
cmp ecx, 0xf
jb 0x450d80
push dword [esp + 0x1c]
lea ecx, [esp + 0x59c]
mov byte [esp + 0x2cc], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450db4
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x5a0]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x5a0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x77c]
call fcn.00448af0
lea ecx, [esp + 0x2b9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450e06
sub ecx, edx
lea eax, [esp + 0x2b9]
push ecx
push eax
lea ecx, [esp + 0x780]
call fcn.00448a20
push eax
lea ecx, [esp + 0x764]
call fcn.00448af0
lea ecx, [esp + 0x760]
call fcn.00444fe0
movaps xmm0, xmmword [str.1bteex]
mov edx, eax
mov al, 0x4f
mov byte [esp + 0x13e], 0
mov cl, 0x16
mov byte [esp + 0x13c], al
xor cl, al
mov byte [esp + 0x13e], 0
mov byte [esp + 0x13d], cl
xor ecx, ecx
movups xmmword [esp + 0x3e4], xmm0
mov byte [esp + 0x3f4], 0
nop dword [eax]
mov al, byte [esp + 0x3e4]
xor byte [esp + ecx + 0x3e5], al
inc ecx
cmp ecx, 0xf
jb 0x450e80
push edx
push 0x1ff
lea eax, [esp + 0x145]
mov byte [esp + 0x3fc], 0
push eax
lea eax, [esp + 0x3f1]
push eax
call edi
lea ecx, [esp + 0x760]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x778]
call fcn.00444ff0
lea ecx, [esp + 0x598]
call fcn.00444ff0
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
mov dword [0x50bc34], eax
mov byte [esp + 0x2dc], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4fb190]
movq qword [0x50bc2c], xmm1
movups xmmword [esp + 0x2cc], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x2cc]
xor byte [esp + ecx + 0x2cd], al
inc ecx
cmp ecx, 0xf
jb 0x450f30
push dword [esp + 0x1c]
lea ecx, [esp + 0x5b4]
mov byte [esp + 0x2e0], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450f64
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x5b8]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x5b8]
call fcn.00448a20
push eax
lea ecx, [esp + 0x7ac]
call fcn.00448af0
lea ecx, [esp + 0x2cd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450fb6
sub ecx, edx
lea eax, [esp + 0x2cd]
push ecx
push eax
lea ecx, [esp + 0x7b0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x794]
call fcn.00448af0
lea ecx, [esp + 0x790]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x11e], 0
mov al, 0x34
mov byte [esp + 0x11e], 0
mov cl, 0x6c
mov byte [esp + 0x11c], al
xor cl, al
mov dword [esp + 0x22c], 0x67646b28
mov byte [esp + 0x11d], cl
xor eax, eax
mov cl, 0x28
mov dword [esp + 0x230], 0x6a776d7b
mov dword [esp + 0x234], 0x677c7c7d
mov word [esp + 0x238], 0x66
xor byte [esp + eax + 0x22d], cl
inc eax
cmp eax, 0xc
jae 0x451058
mov cl, byte [esp + 0x22c]
jmp 0x451042
push edx
push 0x2fd
lea eax, [esp + 0x125]
mov byte [esp + 0x241], 0
push eax
lea eax, [esp + 0x239]
push eax
call edi
lea ecx, [esp + 0x790]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x7a8]
call fcn.00444ff0
lea ecx, [esp + 0x5b0]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb2b0]
xor ecx, ecx
movups xmmword [esp + 0x2e0], xmm0
mov byte [esp + 0x2f0], 0
nop dword [eax]
mov al, byte [esp + 0x2e0]
xor byte [esp + ecx + 0x2e1], al
inc ecx
cmp ecx, 0xf
jb 0x4510c0
push dword [esp + 0x1c]
lea ecx, [esp + 0x5cc]
mov byte [esp + 0x2f4], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4510f4
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x5d0]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x5d0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x7dc]
call fcn.00448af0
lea ecx, [esp + 0x2e1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451146
sub ecx, edx
lea eax, [esp + 0x2e1]
push ecx
push eax
lea ecx, [esp + 0x7e0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x7c4]
call fcn.00448af0
lea ecx, [esp + 0x7c0]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x122], 0
mov al, 0x24
mov byte [esp + 0x122], 0
mov cl, 0x7d
mov byte [esp + 0x120], al
xor cl, al
mov dword [esp + 0x23c], 0x73707f3c
mov byte [esp + 0x121], cl
xor eax, eax
mov cl, 0x3c
mov dword [esp + 0x240], 0x7e63796f
mov dword [esp + 0x244], 0x73686869
mov word [esp + 0x248], 0x72
xor byte [esp + eax + 0x23d], cl
inc eax
cmp eax, 0xc
jae 0x4511e8
mov cl, byte [esp + 0x23c]
jmp 0x4511d2
push edx
push 3
lea eax, [esp + 0x129]
mov byte [esp + 0x251], 0
push eax
lea eax, [esp + 0x249]
push eax
call edi
lea ecx, [esp + 0x7c0]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x7d8]
call fcn.00444ff0
lea ecx, [esp + 0x5c8]
call fcn.00444ff0
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
mov dword [0x50bc28], eax
mov byte [esp + 0x304], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4fb410]
movq qword [0x50bc20], xmm1
movups xmmword [esp + 0x2f4], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x2f4]
xor byte [esp + ecx + 0x2f5], al
inc ecx
cmp ecx, 0xf
jb 0x451280
push dword [esp + 0x1c]
lea ecx, [esp + 0x5e4]
mov byte [esp + 0x308], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4512b4
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x5e8]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x5e8]
call fcn.00448a20
push eax
lea ecx, [esp + 0x80c]
call fcn.00448af0
lea ecx, [esp + 0x2f5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451306
sub ecx, edx
lea eax, [esp + 0x2f5]
push ecx
push eax
lea ecx, [esp + 0x810]
call fcn.00448a20
push eax
lea ecx, [esp + 0x7f4]
call fcn.00448af0
lea ecx, [esp + 0x7f0]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x142], 0
mov al, 0x37
mov byte [esp + 0x142], 0
mov cl, 0x6f
mov byte [esp + 0x140], al
xor cl, al
mov dword [esp + 0x1ec], 0x1f020050
mov byte [esp + 0x141], cl
xor eax, eax
mov cl, 0x50
mov dword [esp + 0x1f0], 0x3150217
mov dword [esp + 0x1f4], 0x2111203
mov byte [esp + 0x1f8], 0
xor byte [esp + eax + 0x1ed], cl
inc eax
cmp eax, 0xb
jae 0x4513a6
mov cl, byte [esp + 0x1ec]
jmp 0x451390
push edx
push 0x18
lea eax, [esp + 0x149]
mov byte [esp + 0x200], 0
push eax
lea eax, [esp + 0x1f9]
push eax
call edi
lea ecx, [esp + 0x7f0]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x808]
call fcn.00444ff0
lea ecx, [esp + 0x5e0]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb370]
xor ecx, ecx
movups xmmword [esp + 0x3a8], xmm0
mov byte [esp + 0x3b8], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x3a8]
xor byte [esp + ecx + 0x3a9], al
inc ecx
cmp ecx, 0xf
jb 0x451410
push dword [esp + 0x1c]
lea ecx, [esp + 0x5fc]
mov byte [esp + 0x3bc], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451444
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x600]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x600]
call fcn.00448a20
push eax
lea ecx, [esp + 0x83c]
call fcn.00448af0
lea ecx, [esp + 0x3a9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451496
sub ecx, edx
lea eax, [esp + 0x3a9]
push ecx
push eax
lea ecx, [esp + 0x840]
call fcn.00448a20
push eax
lea ecx, [esp + 0x824]
call fcn.00448af0
lea ecx, [esp + 0x820]
call fcn.00444fe0
mov edx, eax
mov byte [esp + 0x12a], 0
mov al, 0x56
mov byte [esp + 0x12a], 0
mov cl, 0xf
mov byte [esp + 0x128], al
xor cl, al
mov dword [esp + 0x1dc], 0x524f4d1d
mov byte [esp + 0x129], cl
xor eax, eax
mov cl, 0x1d
mov dword [esp + 0x1e0], 0x4e584f5a
mov dword [esp + 0x1e4], 0x4f5c5f4e
mov byte [esp + 0x1e8], 0
xor byte [esp + eax + 0x1dd], cl
inc eax
cmp eax, 0xb
jae 0x451536
mov cl, byte [esp + 0x1dc]
jmp 0x451520
push edx
push 0x22d
lea eax, [esp + 0x131]
mov byte [esp + 0x1f0], 0
push eax
lea eax, [esp + 0x1e9]
push eax
call edi
lea ecx, [esp + 0x820]
mov esi, eax
call fcn.00444ff0
lea ecx, [esp + 0x838]
call fcn.00444ff0
lea ecx, [esp + 0x5f8]
call fcn.00444ff0
movd xmm1, dword [esp + 0x18]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x264], 0
mov eax, dword [esp + 0x264]
mov dword [0x50bc0c], eax
mov byte [esp + 0x318], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x4fafc0]
movq qword [0x50bc04], 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 0x4515d0
push dword [esp + 0x1c]
lea ecx, [esp + 0x614]
mov byte [esp + 0x31c], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451604
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x618]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x618]
call fcn.00448a20
push eax
lea ecx, [esp + 0x854]
call fcn.00448af0
lea ecx, [esp + 0x309]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451656
sub ecx, edx
lea eax, [esp + 0x309]
push ecx
push eax
lea ecx, [esp + 0x858]
call fcn.00448a20
push eax
lea ecx, [esp + 0x44c]
call fcn.00448af0
cmp dword [esp + 0x45c], 0xf
lea eax, [esp + 0x448]
mov byte [esp + 0x1a0], 0x5b
mov cl, 0x14
cmova eax, dword [esp + 0x448]
mov dl, 0x15
xor cl, byte [esp + 0x1a0]
mov ch, 4
mov dword [esp + 0x18], eax
mov dh, 8
mov al, 0x1d
mov byte [esp + 0x15], 0x12
xor al, byte [esp + 0x1a0]
mov ah, 0xf
mov byte [esp + 0x1a1], al
mov al, byte [esp + 0x15]
mov byte [esp + 0x1a2], cl
mov cl, byte [esp + 0x1a0]
xor al, cl
mov byte [esp + 0x17], 1
mov byte [esp + 0x1a7], al
xor dl, cl
mov al, byte [esp + 0x17]
xor ah, cl
xor al, cl
mov byte [esp + 0x16], 0x1e
mov byte [esp + 0x1a8], al
xor ch, cl
mov al, byte [esp + 0x16]
xor dh, cl
xor al, cl
mov byte [esp + 0x1aa], 0
mov byte [esp + 0x1a3], dl
xor esi, esi
mov byte [esp + 0x1a4], ah
mov byte [esp + 0x1a5], ch
mov byte [esp + 0x1a6], dh
mov byte [esp + 0x1a9], al
mov byte [esp + 0x1aa], 0
mov dword [esp + 0x100], 0x42434a0c
mov word [esp + 0x104], 0x58
nop dword [eax]
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x105]
call fcn.0044ddb0
lea ecx, [esp + 0x100]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0x105]
mov byte [esp + 0x1a], al
call fcn.0044ddb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 4
jb 0x451760
push 4
lea ecx, [esp + 0x105]
call fcn.0044ddb0
lea ecx, [esp + 0x101]
mov byte [eax], 0
call fcn.0044dda0
push dword [esp + 0x18]
lea ecx, [esp + 0x1a5]
push 0xe
push ecx
push eax
call edi
lea ecx, [esp + 0x448]
mov dword [esp + 0x2c], eax
call fcn.00444ff0
lea ecx, [esp + 0x850]
call fcn.00444ff0
lea ecx, [esp + 0x610]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb5a0]
xor ecx, ecx
movups xmmword [esp + 0x31c], xmm0
mov byte [esp + 0x32c], 0
nop dword [eax]
mov al, byte [esp + 0x31c]
xor byte [esp + ecx + 0x31d], al
inc ecx
cmp ecx, 0xf
jb 0x451810
push dword [esp + 0x1c]
lea ecx, [esp + 0x53c]
mov byte [esp + 0x330], 0
call fcn.00445260
mov ecx, 0x50f9c8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451844
sub ecx, edx
push ecx
push 0x50f9c8
lea ecx, [esp + 0x540]
call fcn.0044a8e0
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
call fcn.00444fe0
push eax
lea ecx, [esp + 0x540]
call fcn.00448a20
push eax
lea ecx, [esp + 0x86c]
call fcn.00448af0
lea ecx, [esp + 0x31d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451896
sub ecx, edx
lea eax, [esp + 0x31d]
push ecx
push eax
lea ecx, [esp + 0x870]
call fcn.00448a20
push eax
lea ecx, [esp + 0x464]
call fcn.00448af0
cmp dword [esp + 0x474], 0xf
lea esi, [esp + 0x460]
mov cl, 0x58
mov dword [esp + 0x1fc], 0x16171e58
cmova esi, dword [esp + 0x460]
xor eax, eax
mov dword [esp + 0x200], 0x1d0f070c
mov dword [esp + 0x204], 0xc101f11
mov byte [esp + 0x208], 0
xor byte [esp + eax + 0x1fd], cl
inc eax
cmp eax, 0xb
jae 0x45191b
mov cl, byte [esp + 0x1fc]
jmp 0x451905
mov ch, 0x39
mov byte [esp + 0x259], 0
mov al, 0x7f
mov byte [esp + 0x208], 0
mov ah, 0x6d
mov byte [esp + 0x254], ch
xor al, ch
mov byte [esp + 0x259], 0
xor ah, ch
mov byte [esp + 0x255], al
push esi
mov byte [esp + 0x25c], ah
mov cl, 0x76
push 0x1f4
lea eax, [esp + 0x205]
mov dl, 0x77
push eax
lea eax, [esp + 0x261]
xor cl, ch
xor dl, ch
mov byte [esp + 0x262], cl
push eax
mov byte [esp + 0x267], dl
call edi
lea ecx, [esp + 0x460]
mov dword [esp + 0x18], eax
call fcn.00444ff0
lea ecx, [esp + 0x868]
call fcn.00444ff0
lea ecx, [esp + 0x538]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb440]
xor ecx, ecx
movups xmmword [esp + 0x330], xmm0
mov byte [esp + 0x340], 0
mov al, byte [esp + 0x330]
xor byte [esp + ecx + 0x331], al
inc ecx
cmp ecx, 0xf
jb 0x4519c1
push 0x50f9c8
lea ecx, [esp + 0xa34]
mov byte [esp + 0x344], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x884]
call fcn.00448af0
lea ecx, [esp + 0x331]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451a22
sub ecx, edx
lea eax, [esp + 0x331]
push ecx
push eax
lea ecx, [esp + 0x888]
call fcn.00448a20
push eax
lea ecx, [esp + 0x47c]
call fcn.00448af0
cmp dword [esp + 0x48c], 0xf
lea esi, [esp + 0x478]
mov byte [esp + 0x180], 0x5f
mov al, 0x19
cmova esi, dword [esp + 0x478]
mov ah, 0x16
xor al, byte [esp + 0x180]
mov ch, 0x13
mov byte [esp + 0x181], al
mov cl, 0x1e
mov al, byte [esp + 0x180]
mov dl, 0x12
xor ah, al
mov byte [esp + 0x187], 0
xor ch, al
mov byte [esp + 0x184], ah
xor cl, al
mov byte [esp + 0x185], ch
xor dl, al
mov byte [esp + 0x182], cl
mov ch, 0x21
mov byte [esp + 0x183], dl
mov dh, 6
mov byte [esp + 0x251], 0
xor dh, al
mov byte [esp + 0x187], 0
push esi
mov al, 0x67
mov byte [esp + 0x18a], dh
xor al, ch
mov byte [esp + 0x250], ch
mov ah, 0x75
mov byte [esp + 0x251], al
xor ah, ch
mov byte [esp + 0x255], 0
mov byte [esp + 0x254], ah
mov cl, 0x6e
push 0x19
lea eax, [esp + 0xbe8]
mov dl, 0x6f
push eax
push str.Verdana
lea eax, [esp + 0x191]
xor cl, ch
push eax
lea eax, [esp + 0x261]
mov byte [esp + 0x262], cl
xor dl, ch
push eax
mov byte [esp + 0x267], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x478]
call fcn.00444ff0
lea ecx, [esp + 0x880]
call fcn.00444ff0
lea ecx, [esp + 0xa30]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb070]
xor ecx, ecx
movups xmmword [esp + 0x344], xmm0
mov byte [esp + 0x354], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x344]
xor byte [esp + ecx + 0x345], al
inc ecx
cmp ecx, 0xf
jb 0x451b80
push 0x50f9c8
lea ecx, [esp + 0xa4c]
mov byte [esp + 0x358], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x89c]
call fcn.00448af0
lea ecx, [esp + 0x345]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451be1
sub ecx, edx
lea eax, [esp + 0x345]
push ecx
push eax
lea ecx, [esp + 0x8a0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x494]
call fcn.00448af0
cmp dword [esp + 0x4a4], 0xf
lea esi, [esp + 0x490]
mov cl, 0x2e
mov byte [esp + 0x1d0], 0x53
cmova esi, dword [esp + 0x490]
mov al, 0x76
xor al, cl
mov byte [esp + 0x12c], cl
mov byte [esp + 0x12d], al
mov cl, 0x1d
xor cl, byte [esp + 0x1d0]
mov al, 0x1a
xor al, byte [esp + 0x1d0]
mov dh, 7
mov byte [esp + 0x1d1], al
mov ah, 0x1c
mov byte [esp + 0x1d2], cl
mov dl, 0x15
mov cl, byte [esp + 0x1d0]
mov ch, 0xc
mov byte [esp + 0x16], 0x16
xor ah, cl
mov al, byte [esp + 0x16]
xor dl, cl
xor al, cl
mov byte [esp + 0x17], 0xb
mov byte [esp + 0x1d7], al
xor ch, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x15], dh
mov byte [esp + 0x1d8], al
xor dh, cl
mov al, byte [esp + 0x15]
xor al, cl
mov byte [esp + 0x1d4], ah
push esi
mov byte [esp + 0x1dd], al
lea eax, [esp + 0x131]
push 0x242
push eax
lea eax, [esp + 0x1dd]
mov byte [esp + 0x13a], 0
mov byte [esp + 0x1e6], 0
push eax
mov byte [esp + 0x13e], 0
mov byte [esp + 0x1e3], dl
mov byte [esp + 0x1e5], ch
mov byte [esp + 0x1e6], dh
mov byte [esp + 0x1ea], 0
call edi
lea ecx, [esp + 0x490]
mov dword [0x50fac4], eax
call fcn.00444ff0
lea ecx, [esp + 0x898]
call fcn.00444ff0
lea ecx, [esp + 0xa48]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb520]
xor ecx, ecx
movups xmmword [esp + 0x358], xmm0
mov byte [esp + 0x368], 0
mov al, byte [esp + 0x358]
xor byte [esp + ecx + 0x359], al
inc ecx
cmp ecx, 0xf
jb 0x451d41
push 0x50f9c8
lea ecx, [esp + 0xa64]
mov byte [esp + 0x36c], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x8b4]
call fcn.00448af0
lea ecx, [esp + 0x359]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451da2
sub ecx, edx
lea eax, [esp + 0x359]
push ecx
push eax
lea ecx, [esp + 0x8b8]
call fcn.00448a20
push eax
lea ecx, [esp + 0x4ac]
call fcn.00448af0
cmp dword [esp + 0x4bc], 0xf
lea esi, [esp + 0x4a8]
mov cl, 0x71
mov byte [esp + 0x1ac], 0x29
cmova esi, dword [esp + 0x4a8]
mov al, 0x28
xor al, cl
mov byte [esp + 0x130], cl
mov byte [esp + 0x131], al
mov cl, 0x67
xor cl, byte [esp + 0x1ac]
mov al, 0x60
xor al, byte [esp + 0x1ac]
mov dh, 0x7d
mov byte [esp + 0x1ad], al
mov ah, 0x66
mov byte [esp + 0x1ae], cl
mov dl, 0x6f
mov cl, byte [esp + 0x1ac]
mov ch, 0x76
mov byte [esp + 0x16], 0x6c
xor ah, cl
mov al, byte [esp + 0x16]
xor dl, cl
xor al, cl
mov byte [esp + 0x17], 0x71
mov byte [esp + 0x1b3], al
xor ch, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x15], dh
mov byte [esp + 0x1b4], al
xor dh, cl
mov al, byte [esp + 0x15]
xor al, cl
mov byte [esp + 0x1b0], ah
push esi
mov byte [esp + 0x1b9], al
lea eax, [esp + 0x135]
push 0x212
push eax
lea eax, [esp + 0x1b9]
mov byte [esp + 0x13e], 0
mov byte [esp + 0x1c2], 0
push eax
mov byte [esp + 0x142], 0
mov byte [esp + 0x1bf], dl
mov byte [esp + 0x1c1], ch
mov byte [esp + 0x1c2], dh
mov byte [esp + 0x1c6], 0
call edi
lea ecx, [esp + 0x4a8]
mov dword [0x50f9b8], eax
call fcn.00444ff0
lea ecx, [esp + 0x8b0]
call fcn.00444ff0
lea ecx, [esp + 0xa60]
call fcn.00444ff0
movaps xmm0, xmmword [str.y_0_]
xor ecx, ecx
movups xmmword [esp + 0x36c], xmm0
mov byte [esp + 0x37c], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x36c]
xor byte [esp + ecx + 0x36d], al
inc ecx
cmp ecx, 0xf
jb 0x451f10
push 0x50f9c8
lea ecx, [esp + 0xa7c]
mov byte [esp + 0x380], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x8cc]
call fcn.00448af0
lea ecx, [esp + 0x36d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x451f71
sub ecx, edx
lea eax, [esp + 0x36d]
push ecx
push eax
lea ecx, [esp + 0x8d0]
call fcn.00448a20
push eax
lea ecx, [esp + 0x4c4]
call fcn.00448af0
cmp dword [esp + 0x4d4], 0xf
lea esi, [esp + 0x4c0]
mov cl, 0x2c
mov byte [esp + 0x1b8], 0x2f
cmova esi, dword [esp + 0x4c0]
mov al, 0x74
xor al, cl
mov byte [esp + 0x134], cl
mov byte [esp + 0x135], al
mov cl, 0x6e
xor cl, byte [esp + 0x1b8]
mov al, 0x7f
xor al, byte [esp + 0x1b8]
mov ah, 0x6a
mov byte [esp + 0x1b9], al
mov dh, 0x7b
mov byte [esp + 0x16], ah
mov dl, 0x68
mov al, byte [esp + 0x16]
mov ch, 0x70
mov byte [esp + 0x1ba], cl
mov cl, byte [esp + 0x1b8]
xor al, cl
mov byte [esp + 0x17], 0x77
mov byte [esp + 0x1bf], al
xor ah, cl
mov al, byte [esp + 0x17]
xor dl, cl
xor al, cl
mov byte [esp + 0x15], dh
mov byte [esp + 0x1c0], al
xor ch, cl
mov al, byte [esp + 0x15]
xor dh, cl
xor al, cl
mov byte [esp + 0x1bc], ah
push esi
mov byte [esp + 0x1c5], al
lea eax, [esp + 0x139]
push 0x262
push eax
lea eax, [esp + 0x1c5]
mov byte [esp + 0x142], 0
mov byte [esp + 0x1ce], 0
push eax
mov byte [esp + 0x146], 0
mov byte [esp + 0x1cb], dl
mov byte [esp + 0x1cd], ch
mov byte [esp + 0x1ce], dh
mov byte [esp + 0x1d2], 0
call edi
lea ecx, [esp + 0x4c0]
mov dword [0x50fa58], eax
call fcn.00444ff0
lea ecx, [esp + 0x8c8]
call fcn.00444ff0
lea ecx, [esp + 0xa78]
call fcn.00444ff0
movaps xmm0, xmmword [str.x_1_]
xor ecx, ecx
movups xmmword [esp + 0x380], xmm0
mov byte [esp + 0x390], 0
mov al, byte [esp + 0x380]
xor byte [esp + ecx + 0x381], al
inc ecx
cmp ecx, 0xf
jb 0x4520d0
push 0x50f9c8
lea ecx, [esp + 0xa94]
mov byte [esp + 0x394], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x8e4]
call fcn.00448af0
lea ecx, [esp + 0x381]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x452131
sub ecx, edx
lea eax, [esp + 0x381]
push ecx
push eax
lea ecx, [esp + 0x8e8]
call fcn.00448a20
push eax
lea ecx, [esp + 0x4dc]
call fcn.00448af0
cmp dword [esp + 0x4ec], 0xf
lea esi, [esp + 0x4d8]
mov cl, 0x76
mov byte [esp + 0x1c4], 6
cmova esi, dword [esp + 0x4d8]
mov al, 0x2f
xor al, cl
mov byte [esp + 0x138], cl
mov byte [esp + 0x139], al
mov cl, 0x47
xor cl, byte [esp + 0x1c4]
mov al, 0x56
xor al, byte [esp + 0x1c4]
mov ah, 0x43
mov byte [esp + 0x1c5], al
mov dh, 0x52
mov byte [esp + 0x16], ah
mov dl, 0x41
mov al, byte [esp + 0x16]
mov ch, 0x59
mov byte [esp + 0x1c6], cl
mov cl, byte [esp + 0x1c4]
xor al, cl
mov byte [esp + 0x17], 0x5e
mov byte [esp + 0x1cb], al
xor ah, cl
mov al, byte [esp + 0x17]
xor dl, cl
xor al, cl
mov byte [esp + 0x15], dh
mov byte [esp + 0x1cc], al
xor ch, cl
mov al, byte [esp + 0x15]
xor dh, cl
xor al, cl
mov byte [esp + 0x1c8], ah
push esi
mov byte [esp + 0x1d1], al
lea eax, [esp + 0x13d]
push 0x1ae
push eax
lea eax, [esp + 0x1d1]
mov byte [esp + 0x146], 0
mov byte [esp + 0x1da], 0
push eax
mov byte [esp + 0x14a], 0
mov byte [esp + 0x1d7], dl
mov byte [esp + 0x1d9], ch
mov byte [esp + 0x1da], dh
mov byte [esp + 0x1de], 0
call edi
lea ecx, [esp + 0x4d8]
mov dword [0x50fa5c], eax
call fcn.00444ff0
lea ecx, [esp + 0x8e0]
call fcn.00444ff0
lea ecx, [esp + 0xa90]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb300]
xor ecx, ecx
movups xmmword [esp + 0x394], xmm0
mov byte [esp + 0x3a4], 0
mov al, byte [esp + 0x394]
xor byte [esp + ecx + 0x395], al
inc ecx
cmp ecx, 0xf
jb 0x452290
push 0x50f9c8
lea ecx, [esp + 0xaac]
mov byte [esp + 0x3a8], 0
call fcn.00448b40
push dword [esp + 0xba8]
lea ecx, [esp + 0xb9c]
mov esi, eax
call fcn.00444fe0
push eax
mov ecx, esi
call fcn.00448a20
push eax
lea ecx, [esp + 0x8fc]
call fcn.00448af0
lea ecx, [esp + 0x395]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4522f1
sub ecx, edx
lea eax, [esp + 0x395]
push ecx
push eax
lea ecx, [esp + 0x900]
call fcn.00448a20
push eax
lea ecx, [esp + 0x4f4]
call fcn.00448af0
cmp dword [esp + 0x504], 0xf
lea esi, [esp + 0x4f0]
mov byte [esp + 0x168], 0x47
mov al, 0x14
cmova esi, dword [esp + 0x4f0]
mov cl, 0x13
xor al, byte [esp + 0x168]
mov ch, cl
mov byte [esp + 0x169], al
mov dl, 6
mov al, byte [esp + 0x168]
mov ah, 0x15
xor cl, al
mov byte [esp + 0x16], 0x1f
xor dl, al
mov byte [esp + 0x15c], 0x78
xor ah, al
mov byte [esp + 0x16a], cl
xor ch, al
mov byte [esp + 0x16c], ah
mov dh, 0x18
mov byte [esp + 0x16b], dl
xor dh, al
mov byte [esp + 0x16d], ch
mov al, byte [esp + 0x16]
mov cl, 0x37
xor al, byte [esp + 0x168]
mov dl, 0x2c
mov byte [esp + 0x16f], al
mov ah, 0x31
mov al, 0x36
mov byte [esp + 0x16e], dh
xor al, byte [esp + 0x15c]
mov ch, 0x3b
mov byte [esp + 0x15d], al
mov dh, 0x3d
mov al, byte [esp + 0x15c]
xor cl, al
mov byte [esp + 0x16], 0x2b
xor dl, al
mov byte [esp + 0x170], 0
xor ah, al
mov byte [esp + 0x164], 0
xor ch, al
mov byte [esp + 0x160], ah
xor dh, al
mov byte [esp + 0x170], 0
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x15c]
push esi
mov byte [esp + 0x167], al
lea eax, [esp + 0x16d]
push 0xc8
push eax
lea eax, [esp + 0x169]
mov byte [esp + 0x16a], cl
push eax
mov byte [esp + 0x16f], dl
mov byte [esp + 0x171], ch
mov byte [esp + 0x172], dh
mov byte [esp + 0x174], 0
call edi
lea ecx, [esp + 0x4f0]
mov dword [0x50fa48], eax
call fcn.00444ff0
lea ecx, [esp + 0x8f8]
call fcn.00444ff0
lea ecx, [esp + 0xaa8]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb140]
movups xmmword [esp + 0x3f8], xmm0
mov byte [esp + 0x408], 0
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esp + 0x3f8]
xor byte [esp + ecx + 0x3f9], al
inc ecx
cmp ecx, 0xf
jb 0x452490
lea eax, [esp + 0x3f9]
mov byte [esp + 0x408], 0
push eax
lea eax, [esp + 0xb9c]
push eax
push 0x50f9c8
lea ecx, [esp + 0xafc]
call fcn.00448b40
mov edx, eax
lea ecx, [esp + 0xae0]
call fcn.0044a1c0
add esp, 4
lea ecx, [esp + 0xac4]
mov edx, eax
call fcn.0044a160
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0xf
jbe 0x4524f9
mov esi, dword [esi]
mov byte [esp + 0x174], 4
mov al, 0x57
xor al, byte [esp + 0x174]
mov cl, 0x50
mov byte [esp + 0x175], al
mov ch, cl
mov al, byte [esp + 0x174]
mov dl, 0x45
xor cl, al
mov byte [esp + 0x16], 0x5d
xor ch, al
mov byte [esp + 0x176], cl
mov dh, 0x5b
mov byte [esp + 0x179], ch
xor dl, al
mov byte [esp + 0x17c], 0
xor dh, al
mov byte [esp + 0x177], dl
mov ah, 0x56
mov byte [esp + 0x17a], dh
xor ah, al
mov byte [esp + 0x17c], 0
mov al, byte [esp + 0x16]
lea ecx, [esp + 0x20]
xor al, byte [esp + 0x174]
push 0x4e
mov byte [esp + 0x17c], ah
mov byte [esp + 0x17f], al
mov byte [esp + 0x24], 0x40
call fcn.004544c0
push 0x4f
lea ecx, [esp + 0x24]
mov byte [esp + 0x25], al
call fcn.004544c0
push 0x54
lea ecx, [esp + 0x24]
mov byte [esp + 0x26], al
call fcn.004544c0
push 0x49
lea ecx, [esp + 0x24]
mov byte [esp + 0x27], al
call fcn.004544c0
push 0x43
lea ecx, [esp + 0x24]
mov byte [esp + 0x28], al
call fcn.004544c0
push 0x45
lea ecx, [esp + 0x24]
mov byte [esp + 0x29], al
call fcn.004544c0
push 0x53
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a], al
call fcn.004544c0
mov cl, byte [esp + 0x20]
xor byte [esp + 0x21], cl
xor al, cl
xor byte [esp + 0x22], cl
xor byte [esp + 0x23], cl
xor byte [esp + 0x24], cl
xor byte [esp + 0x25], cl
xor byte [esp + 0x26], cl
push esi
mov byte [esp + 0x2b], al
lea eax, [esp + 0x179]
push 0x1e0
push eax
lea eax, [esp + 0x2d]
mov byte [esp + 0x34], 0
push eax
mov byte [esp + 0x38], 0
call edi
lea ecx, [esp + 0xac0]
mov dword [0x50fa4c], eax
call fcn.00444ff0
lea ecx, [esp + 0xad8]
call fcn.00444ff0
lea ecx, [esp + 0xaf0]
call fcn.00444ff0
movaps xmm0, xmmword [0x4fb540]
movups xmmword [esp + 0x40c], xmm0
mov byte [esp + 0x41c], 0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x40c]
xor byte [esp + ecx + 0x40d], al
inc ecx
cmp ecx, 0xf
jb 0x452670
push 0x50f9c8
lea ecx, [esp + 0xb24]
mov byte [esp + 0x420], 0
call fcn.00448b40
lea ecx, [esp + 0xb98]
push ecx
mov ecx, eax
call fcn.00448a80
mov esi, eax
lea ecx, [esp + 0x520]
push esi
push dword [esp + 0x20]
call fcn.0044a8c0
push esi
lea ecx, [esp + 0x524]
call fcn.00449990
lea eax, [esp + 0x40d]
push eax
lea edx, [esp + 0x524]
lea ecx, [esp + 0xb0c]
call fcn.0044a160
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0xf
jbe 0x4526f4
mov esi, dword [esi]
mov cl, 0x4a
mov byte [esp + 0x188], 0xc
mov dl, cl
mov byte [esp + 0x16], 0x53
xor cl, byte [esp + 0x188]
mov al, 0x43
xor al, byte [esp + 0x188]
mov ah, 0x5f
mov byte [esp + 0x189], al
mov ch, 0x49
mov al, byte [esp + 0x16]
mov dh, 0x58
mov byte [esp + 0x18a], cl
mov cl, byte [esp + 0x188]
xor al, cl
mov byte [esp + 0x17], 0x55
mov byte [esp + 0x18f], al
xor ah, cl
mov al, byte [esp + 0x17]
xor dl, cl
xor al, cl
mov byte [esp + 0x150], 0x67
mov byte [esp + 0x190], al
xor ch, cl
xor dh, cl
mov byte [esp + 0x18c], ah
mov al, 0x29
mov byte [esp + 0x18b], dl
xor al, byte [esp + 0x150]
mov cl, 0x28
mov byte [esp + 0x151], al
mov dl, 0x33
mov al, byte [esp + 0x150]
mov ah, 0x2e
mov byte [esp + 0x18d], ch
xor cl, al
mov byte [esp + 0x18e], dh
xor dl, al
xor ah, al
mov byte [esp + 0x16], 0x34
mov ch, 0x24
mov byte [esp + 0x154], ah
xor ch, al
mov byte [esp + 0x191], 0
mov dh, 0x22
mov byte [esp + 0x158], 0
xor dh, al
mov byte [esp + 0x191], 0
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x150]
push esi
mov byte [esp + 0x15b], al
lea eax, [esp + 0x18d]
push 0x17
push eax
lea eax, [esp + 0x15d]
mov byte [esp + 0x15e], cl
push eax
mov byte [esp + 0x163], dl
mov byte [esp + 0x165], ch
mov byte [esp + 0x166], dh
mov byte [esp + 0x168], 0
call edi
lea ecx, [esp + 0xb08]
mov dword [0x50fa94], eax
call fcn.00444ff0
lea ecx, [esp + 0x520]
call fcn.00444ff0
lea ecx, [esp + 0xb20]
call fcn.00444ff0
mov eax, dword [0x50bc10]
mov ecx, dword [0x50bbf4]
mov dword [0x50f9c0], eax
mov dword [0x50fa64], eax
mov dword [0x50fa54], eax
mov eax, dword fs:[0x2c]
mov dword [0x50f9bc], ecx
mov dword [0x50fa60], ecx
mov dword [0x50fa50], ecx
mov ecx, dword [eax]
mov eax, dword [0x59059c]
cmp eax, dword [ecx + 4]
jle 0x4528ac
push 0x59059c
call fcn.004a4c66
add esp, 4
cmp dword [0x59059c], 0xffffffff
jne 0x4528ac
mov eax, dword [0x50fa4c]
push 0x59059c
mov dword [0x5905a0], eax
call fcn.004a4c15
add esp, 4
push 0
mov dword [esp + 0xb6c], 0x30
mov dword [esp + 0xb70], 0x40
mov dword [esp + 0xb74], 0x453e90
mov dword [esp + 0xb78], 0
mov dword [esp + 0xb7c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [esp + 0x68]
push 0x65
push edi
mov dword [esp + 0xb84], eax
mov dword [esp + 0xb8c], 0
mov dword [esp + 0xb90], 0
mov dword [esp + 0xb94], 0
mov dword [esp + 0xb98], 0x4faba0
mov dword [esp + 0xb9c], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0xb80], eax
lea eax, [esp + 0xb68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0xb80]
mov byte [esp + 0x19c], 0x3d
mov al, 0x71
xor al, byte [esp + 0x19c]
mov cl, 0x5c
xor cl, byte [esp + 0x19c]
mov ah, 0x53
push 0
push 0
push dword [0x50bc10]
mov byte [esp + 0x1a9], al
mov dl, 0x48
push dword [0x50bbf4]
mov byte [esp + 0x1ae], cl
mov ch, 0x5e
mov cl, byte [esp + 0x1ac]
mov dh, 0x55
mov byte [esp + 0x2e], 0x58
xor ah, cl
mov al, byte [esp + 0x2e]
xor dl, cl
xor al, cl
mov byte [esp + 0x2f], 0x4f
mov byte [esp + 0x1b3], al
xor ch, cl
mov al, byte [esp + 0x2f]
xor dh, cl
push 0x64
push 0x64
xor al, cl
mov byte [esp + 0x1b8], ah
push accept
mov byte [esp + 0x1c0], al
lea eax, [esp + 0x1b9]
push eax
push dword [esp + 0xbb8]
mov byte [esp + 0x1c9], 0
push 0
mov byte [esp + 0x1c7], dl
mov byte [esp + 0x1c9], ch
mov byte [esp + 0x1ca], dh
mov byte [esp + 0x1cd], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x50bc10]
mov esi, eax
xor edx, edx
push dword [0x50bbf4]
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.0044f380
add esp, 8
mov dword [0x50f978], esi
mov ecx, esi
call fcn.00453540
test al, al
jne 0x452a65
call fcn.00453850
push dword [esp + 0xb7c]
push dword [esp + 0xb94]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, 1
jmp 0x4534ed
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0044e8a0
test al, al
jne 0x452aa5
call fcn.00453850
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xb7c]
push dword [esp + 0xb94]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x4534ed
xorps xmm0, xmm0
mov dword [0x50fb0c], 1
push 0x17c
movups xmmword [0x50f988], xmm0
mov dword [0x50f998], 0
mov dword [0x50f99c], 0
call fcn.004a4786
add esp, 4
mov esi, eax
mov ecx, esi
push 0x17c
call fcn.00453520
mov ecx, esi
call fcn.004546e0
mov ecx, dword [0x50f978]
mov dword [0x50f954], eax
mov dword [eax + 0x150], ecx
cmp dword [0x50f9a0], 0
jne 0x452b37
push 0x50f9a0
lea eax, [esp + 0xbe4]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push dword [esp + 0x38]
push 0
push dword [esp + 0x54]
push dword [0x51052c]
call fcn.004027c5
lea eax, [esp + 0xbd8]
push eax
call fcn.004afce9
add esp, 4
lea eax, [esp + 0xbd8]
push eax
call fcn.004affe2
add esp, 4
mov dword [0x50fb24], eax
mov ecx, dword [eax + 0x14]
add ecx, 0x76c
cmp ecx, 0x7ed
jg 0x452baa
mov edx, dword [eax + 0x10]
cmp edx, 0xb
jle 0x452b7d
cmp ecx, 0x7ed
je 0x452baa
cmp dword [eax + 0xc], 0x1e
jle 0x452b90
cmp edx, 0xb
jne 0x452b90
cmp ecx, 0x7ed
je 0x452baa
push 0
push 0
push 0
push 0x44e890
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x452dcd
push 0x55
lea ecx, [esp + 0xec]
mov byte [esp + 0xec], 0x1e
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xec]
mov byte [esp + 0xed], al
call fcn.004544c0
push 0x6b
lea ecx, [esp + 0xec]
mov byte [esp + 0xee], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xec]
mov byte [esp + 0xef], al
call fcn.004544c0
push 0x6f
lea ecx, [esp + 0xec]
mov byte [esp + 0xf0], al
call fcn.004544c0
push 0x77
lea ecx, [esp + 0xec]
mov byte [esp + 0xf1], al
call fcn.004544c0
push 0x6e
lea ecx, [esp + 0xec]
mov byte [esp + 0xf2], al
call fcn.004544c0
push 0x20
lea ecx, [esp + 0xec]
mov byte [esp + 0xf3], al
call fcn.004544c0
push 0x64
lea ecx, [esp + 0xec]
mov byte [esp + 0xf4], al
call fcn.004544c0
push 0x61
lea ecx, [esp + 0xec]
mov byte [esp + 0xf5], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xec]
mov byte [esp + 0xf6], al
call fcn.004544c0
push 0x61
lea ecx, [esp + 0xec]
mov byte [esp + 0xf7], al
call fcn.004544c0
push 0x20
lea ecx, [esp + 0xec]
mov byte [esp + 0xf8], al
call fcn.004544c0
push 0x73
lea ecx, [esp + 0xec]
mov byte [esp + 0xf9], al
call fcn.004544c0
push 0x74
lea ecx, [esp + 0xec]
mov byte [esp + 0xfa], al
call fcn.004544c0
push 0x72
lea ecx, [esp + 0xec]
mov byte [esp + 0xfb], al
call fcn.004544c0
push 0x65
lea ecx, [esp + 0xec]
mov byte [esp + 0xfc], al
call fcn.004544c0
push 0x61
lea ecx, [esp + 0xec]
mov byte [esp + 0xfd], al
call fcn.004544c0
push 0x6d
lea ecx, [esp + 0xec]
mov byte [esp + 0xfe], al
call fcn.004544c0
push 0x2e
lea ecx, [esp + 0xec]
mov byte [esp + 0xff], al
call fcn.004544c0
mov byte [esp + 0xfc], al
mov byte [esp + 0xfd], 0
xor esi, esi
push esi
lea ecx, [esp + 0xed]
call fcn.0044ddb0
lea ecx, [esp + 0xe8]
movzx eax, byte [eax]
push eax
call fcn.004544c0
push esi
lea ecx, [esp + 0xed]
mov byte [esp + 0x1a], al
call fcn.0044ddb0
mov cl, byte [esp + 0x16]
inc esi
mov byte [eax], cl
cmp esi, 0x14
jb 0x452d60
push 0x14
lea ecx, [esp + 0xed]
call fcn.0044ddb0
lea ecx, [esp + 0xe9]
mov byte [eax], 0
call fcn.0044dda0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00448b40
mov ecx, dword [0x50f954]
call fcn.0044b6b0
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x66
push edi
call esi
push 0x66
push edi
mov dword [0x510514], eax
call esi
push 0x67
push edi
mov dword [0x510508], eax
call esi
push dword [0x510514]
mov esi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x510504], eax
call esi
mov eax, dword [0x50f954]
add eax, 0x34
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov edi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [esp + 0xbb0]
push 0
push 0
xorps xmm0, xmm0
mov dword [esp + 0xbd0], 0
push 0
push eax
movaps xmmword [esp + 0xbc0], xmm0
movq qword [esp + 0xbd0], xmm0
call edi
test eax, eax
je 0x4534c3
cmp eax, 0xffffffff
je 0x4534c3
lea eax, [esp + 0xbb0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xbb0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x452e8a
push dword [0x510504]
jmp 0x452e90
push dword [0x510514]
call esi
mov eax, dword [0x51052c]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x51052c]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x51052c]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x51052c]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0xffffff
push 3
push 0
push 0
push eax
mov eax, dword [ecx + 0xac]
call eax
mov eax, dword [0x51052c]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x453469
mov eax, dword [0x50f954]
mov dword [0x50fb10], 0
push 0x10
movzx ecx, byte [eax + 0x178]
mov eax, 0x51eb851f
imul ecx, dword [0x50fa88]
mov dword [0x50fb14], 0
mul ecx
mov eax, dword [0x50fa8c]
mov dword [0x50fb1c], eax
mov eax, dword [0x50fa90]
shr edx, 5
mov dword [0x50fb18], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x50fa90]
push 0xffffffffffffffff
push 0x510518
push 0
mov ecx, dword [eax]
push 0
push dword [0x50fb20]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [0x50f988]
mov dword [0x50bbfc], 0x43ff0000
cmp ecx, 2
je 0x452f9b
mov dword [0x50bbfc], 0x43fe8000
mov eax, dword [0x50f954]
mov al, byte [eax + 0x154]
test al, al
je 0x452fd1
test ecx, ecx
jne 0x452fb5
mov edx, 0xffc8c8c8
jmp 0x452fd6
mov esi, 0xff969696
cmp ecx, 1
jne 0x452fc4
or edx, 0xffffffff
jmp 0x452fdb
cmp ecx, 2
mov edx, 0xff505050
cmove edx, esi
jmp 0x452fdb
mov edx, 0xff505050
mov esi, 0xff969696
mov eax, dword [0x50fa90]
push edx
push 0x50bbf8
push 0
mov ecx, dword [eax]
push 0
push dword [0x50f984]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [0x50f98c]
mov dword [0x50bc18], 0x44000000
cmp ecx, 2
je 0x453017
mov dword [0x50bc18], 0x43ff8000
mov eax, dword [0x50f954]
mov al, byte [eax + 0x154]
test al, al
je 0x453048
test ecx, ecx
jne 0x453031
mov edx, 0xffc8c8c8
jmp 0x45304d
cmp ecx, 1
jne 0x45303b
or edx, 0xffffffff
jmp 0x45304d
cmp ecx, 2
mov edx, 0xff505050
cmove edx, esi
jmp 0x45304d
mov edx, 0xff505050
mov eax, dword [0x50fa90]
push edx
push 0x50bc14
push 0
mov ecx, dword [eax]
push 0
push dword [0x50fb08]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [0x50f990]
mov dword [0x50bc30], 0x44000000
cmp ecx, 2
je 0x453089
mov dword [0x50bc30], 0x43ff8000
mov eax, dword [0x50f954]
mov al, byte [eax + 0x154]
test al, al
je 0x4530ba
test ecx, ecx
jne 0x4530a3
mov edx, 0xffc8c8c8
jmp 0x4530bf
cmp ecx, 1
jne 0x4530ad
or edx, 0xffffffff
jmp 0x4530bf
cmp ecx, 2
mov edx, 0xff505050
cmove edx, esi
jmp 0x4530bf
mov edx, 0xff505050
mov eax, dword [0x50fa90]
push edx
push 0x50bc2c
push 0
mov ecx, dword [eax]
push 0
push dword [0x50f97c]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x50f994]
test eax, eax
jne 0x4530ed
mov edx, dword [0x50fa68]
jmp 0x4530fd
mov edx, dword [0x50f9b0]
cmp eax, 2
cmove edx, dword [0x50f980]
mov eax, dword [0x50fa90]
push 0xffffffffffffffff
push 0x50bc20
push 0
mov ecx, dword [eax]
push 0
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x50fa90]
push 0xffffffffffffffff
push 0x50bc04
push 0
mov ecx, dword [eax]
push 0
push dword [0x50fa98]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x50fa90]
push 0xffffffffffffffff
push 0x50bc04
push 0
mov ecx, dword [eax]
push 0x50fb10
push dword [0x50fac0]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x50fa90]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov eax, dword [0x50f954]
lea ecx, [esp + 0x628]
add eax, 0x160
push eax
call fcn.00448b80
lea ecx, [esp + 0x628]
call fcn.00444fe0
mov edx, dword [0x50f9a0]
mov ecx, eax
call fcn.0044f3f0
lea ecx, [esp + 0x628]
mov esi, eax
call fcn.00444ff0
mov ecx, dword [0x50fac4]
mov eax, dword [0x50f954]
sub ecx, esi
add eax, 0x160
mov dword [0x50f9b4], ecx
push eax
lea ecx, [esp + 0x644]
call fcn.00448b80
lea ecx, [esp + 0x640]
call fcn.00444fe0
mov ecx, dword [0x50f9a0]
push 0xffffd96b
push 0
push 0x50f9b4
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
push 0
mov eax, dword [edx + 0x38]
push ecx
call eax
lea ecx, [esp + 0x640]
call fcn.00444ff0
mov edi, dword [0x50fb0c]
mov eax, dword [0x5905a0]
mov dword [0x50fa4c], eax
lea esi, [edi - 1]
lea esi, [esi + esi*8]
lea eax, [edi + edi*8]
cmp esi, eax
jae 0x4533a8
lea eax, [esi + esi*2]
shl eax, 3
mov dword [esp + 0x2c], eax
mov eax, 1
sub eax, esi
mov dword [esp + 0x18], eax
mov ecx, dword [0x50f954]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
sub ecx, eax
mov dword [esp + 0x68], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x4533a8
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
push 0xffe2d79b
push 0
push 0x50fa48
push 0xffffffffffffffff
lea ecx, [ecx + edi]
call fcn.00444fe0
push eax
mov eax, dword [esp + 0x2c]
mov cl, 0x68
add eax, esi
mov byte [esp + 0x158], 0xc
xor cl, byte [esp + 0x158]
mov dl, 0x2c
push eax
mov al, 0x29
mov byte [esp + 0x15e], cl
mov cl, byte [esp + 0x15c]
mov ah, dl
mov byte [esp + 0x2e], al
mov ch, ah
xor al, byte [esp + 0x15c]
mov dh, ah
mov byte [esp + 0x15d], al
xor ah, cl
mov al, byte [esp + 0x2e]
sub esp, 0x18
xor al, cl
mov byte [esp + 0x47], 0x7f
mov byte [esp + 0x17b], al
xor ch, cl
mov al, byte [esp + 0x47]
xor dl, cl
xor al, cl
mov byte [esp + 0x178], ah
mov byte [esp + 0x17c], al
xor dh, cl
mov eax, esp
mov byte [esp + 0x179], ch
push dword [esp + 0x4c]
mov byte [esp + 0x181], 0
mov ecx, eax
mov byte [esp + 0x17b], dl
mov byte [esp + 0x17e], dh
mov byte [esp + 0x181], 0
mov dword [esp + 0x9c], eax
call fcn.00445260
lea ecx, [esp + 0x175]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453332
sub ecx, edx
lea eax, [esp + 0x175]
push ecx
mov ecx, dword [esp + 0x9c]
push eax
call fcn.0044a8e0
lea eax, [esp + 0xb68]
push eax
call fcn.0044b530
add esp, 0x24
mov ecx, eax
call fcn.00444fe0
mov ecx, dword [0x50f9a0]
push eax
push 0
push ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
call eax
lea ecx, [esp + 0xb38]
call fcn.00444ff0
mov eax, dword [0x50fa94]
add edi, 0x18
add dword [0x50fa4c], eax
inc esi
mov dword [esp + 0x2c], edi
mov edi, dword [0x50fb0c]
lea eax, [edi + edi*8]
cmp esi, eax
jb 0x453232
push 0xffffffffffffffff
push 0
push 0x50fa58
push 0xffffffffffffffff
push edi
mov dl, 0xc
mov byte [esp + 0x11f], 0
sub esp, 0x18
mov byte [esp + 0x134], dl
mov cl, 0x68
mov byte [esp + 0x137], 0
xor cl, dl
mov al, 0x29
mov esi, esp
mov byte [esp + 0x136], cl
push dword [esp + 0x48]
xor al, dl
mov ecx, esi
mov byte [esp + 0x139], al
call fcn.00445260
lea ecx, [esp + 0x135]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453400
sub ecx, edx
lea eax, [esp + 0x135]
push ecx
push eax
mov ecx, esi
call fcn.0044a8e0
lea eax, [esp + 0xb7c]
push eax
call fcn.0044b530
add esp, 0x20
mov ecx, eax
call fcn.00444fe0
mov ecx, dword [0x50f9a0]
push eax
push 0
push ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
call eax
lea ecx, [esp + 0xb50]
call fcn.00444ff0
mov eax, dword [0x51052c]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov esi, dword [sym.imp.USER32.dll_SetCursor]
mov edi, dword [sym.imp.USER32.dll_GetMessageA]
mov eax, dword [0x51052c]
push 0
push 0
push 0
mov ecx, dword [eax]
push 0
push eax
mov eax, dword [ecx + 0x44]
call eax
cmp eax, 0x88760868
jne 0x4534ab
mov eax, dword [0x51052c]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x4534ab
mov eax, dword [0x51052c]
push 0x51053c
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
push 0
push 0
push 0
lea eax, [esp + 0xbbc]
push eax
call edi
test eax, eax
jne 0x452e50
call fcn.00453850
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xb7c]
push dword [esp + 0xb94]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, dword [esp + 0xbb8]
lea ecx, [esp + 0xb98]
call fcn.00444ff0
mov ecx, dword [esp + 0xbfc]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.004a4773
mov esp, ebp
pop ebp
ret 0x10