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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb18
mov eax, dword [0x533094]
xor eax, esp
mov dword [esp + 0xb14], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
movaps xmm0, xmmword [0x52cba0]
push esi
mov dword [esp + 0x1fc], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [esp + 0x10], eax
movups xmmword [esp + 0x3a4], xmm0
mov word [esp + 0x3b4], 0x7c
nop dword [eax + eax]
mov al, byte [esp + 0x3a4]
xor byte [esp + ecx + 0x3a5], al
inc ecx
cmp ecx, 0x10
jb 0x45e450
lea eax, [esp + 0x3a5]
mov byte [esp + 0x3b5], 0
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x45e4a3
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xb14]
xor ecx, esp
call fcn.004b409a
mov esp, ebp
pop ebp
ret 0x10
push 0x542ef8
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movaps xmm0, xmmword [str.p_139_6___]
xor ecx, ecx
movups xmmword [esp + 0x210], xmm0
mov dword [esp + 0x220], 0x2c021518
mov byte [esp + 0x224], 0
nop word [eax + eax]
mov al, byte [esp + 0x210]
xor byte [esp + ecx + 0x211], al
inc ecx
cmp ecx, 0x13
jb 0x45e4e0
lea eax, [esp + 0x211]
mov byte [esp + 0x224], 0
push eax
lea ecx, [esp + 0xabc]
call fcn.00447010
push 0x6d
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], 0x64f4a28
mov byte [esp + 0xa0], 0x4a
call fcn.00462b50
push 0x70
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa1], al
call fcn.00462b50
mov byte [esp + 0x9e], al
xor esi, esi
mov byte [esp + 0x9f], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x9d]
call fcn.0044a8f0
lea ecx, [esp + 0x98]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x9d]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x45e560
push 6
lea ecx, [esp + 0x9d]
call fcn.0044a8f0
lea ecx, [esp + 0x99]
mov byte [eax], 0
call fcn.0044a8e0
mov esi, eax
lea ecx, [esp + 0x788]
lea eax, [esp + 0xab8]
push eax
push 0x542ef8
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x774]
call fcn.00448630
add esp, 4
lea ecx, [esp + 0x758]
mov edx, eax
push 0x10
push 0
push 0
push 0
push esi
call fcn.004485d0
add esp, 4
mov ecx, eax
call fcn.00443440
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
lea ecx, [esp + 0x758]
call fcn.00443450
lea ecx, [esp + 0x770]
call fcn.00443450
lea ecx, [esp + 0x788]
call fcn.00443450
push 0x55
lea ecx, [esp + 0x70]
mov byte [esp + 0x70], 0x22
call fcn.00462b50
push 0x49
lea ecx, [esp + 0x70]
mov byte [esp + 0x71], al
call fcn.00462b50
push 0x58
lea ecx, [esp + 0x70]
mov byte [esp + 0x72], al
call fcn.00462b50
push 0x53
lea ecx, [esp + 0x70]
mov byte [esp + 0x73], al
call fcn.00462b50
push 0x65
lea ecx, [esp + 0x70]
mov byte [esp + 0x74], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x70]
mov byte [esp + 0x75], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x70]
mov byte [esp + 0x76], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x77], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x70]
mov byte [esp + 0x78], al
call fcn.00462b50
push 0x67
lea ecx, [esp + 0x70]
mov byte [esp + 0x79], al
call fcn.00462b50
push 0x73
lea ecx, [esp + 0x70]
mov byte [esp + 0x7a], al
call fcn.00462b50
mov byte [esp + 0x77], al
push 0x2e
lea ecx, [esp + 0x70]
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x7c], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x70]
mov byte [esp + 0x7d], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x70]
mov byte [esp + 0x7e], al
call fcn.00462b50
mov byte [esp + 0x7b], al
xor esi, esi
mov byte [esp + 0x7c], 0
nop
push esi
lea ecx, [esp + 0x71]
call fcn.0044a8f0
lea ecx, [esp + 0x6c]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x71]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x45e720
push 0xf
lea ecx, [esp + 0x71]
call fcn.0044a8f0
lea ecx, [esp + 0x6d]
mov byte [eax], 0
call fcn.0044a8e0
mov esi, eax
lea ecx, [esp + 0x7d0]
lea eax, [esp + 0xab8]
push eax
push 0x542ef8
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x7bc]
call fcn.00448630
add esp, 4
lea ecx, [esp + 0x7a0]
mov edx, eax
push esi
call fcn.004485d0
add esp, 4
mov ecx, eax
call fcn.00443440
push 0x57
lea ecx, [esp + 0x1c]
mov dword [esp + 0x44], eax
mov byte [esp + 0x1c], 0x4f
call fcn.00462b50
push 0x49
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1d], al
call fcn.00462b50
push 0x44
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1e], al
call fcn.00462b50
push 0x54
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1f], al
call fcn.00462b50
push 0x48
lea ecx, [esp + 0x1c]
mov byte [esp + 0x20], al
call fcn.00462b50
mov byte [esp + 0x1d], al
xor esi, esi
mov byte [esp + 0x1e], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x1d]
call fcn.0044a8f0
lea ecx, [esp + 0x18]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x1d]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 5
jb 0x45e810
push 5
lea ecx, [esp + 0x1d]
call fcn.0044a8f0
lea ecx, [esp + 0x19]
mov byte [eax], 0
call fcn.0044a8e0
push 0x4c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], 0x48
mov edi, eax
call fcn.00462b50
push 0x41
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2d], al
call fcn.00462b50
push 0x55
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e], al
call fcn.00462b50
push 0x4e
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2f], al
call fcn.00462b50
push 0x43
lea ecx, [esp + 0x2c]
mov byte [esp + 0x30], al
call fcn.00462b50
push 0x48
lea ecx, [esp + 0x2c]
mov byte [esp + 0x31], al
call fcn.00462b50
push 0x45
lea ecx, [esp + 0x2c]
mov byte [esp + 0x32], al
call fcn.00462b50
push 0x52
lea ecx, [esp + 0x2c]
mov byte [esp + 0x33], al
call fcn.00462b50
mov byte [esp + 0x30], al
xor esi, esi
mov byte [esp + 0x31], 0
nop
push esi
lea ecx, [esp + 0x2d]
call fcn.0044a8f0
lea ecx, [esp + 0x28]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x2d]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x45e8e0
push 8
lea ecx, [esp + 0x2d]
call fcn.0044a8f0
lea ecx, [esp + 0x29]
mov byte [eax], 0
call fcn.0044a8e0
push dword [esp + 0x40]
push 0x322
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
call edi
lea ecx, [esp + 0x7a0]
mov dword [0x53eb70], eax
call fcn.00443450
lea ecx, [esp + 0x7b8]
call fcn.00443450
lea ecx, [esp + 0x7d0]
call fcn.00443450
push 0x55
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5c], 0x1e
call fcn.00462b50
push 0x49
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5d], al
call fcn.00462b50
push 0x58
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5e], al
call fcn.00462b50
push 0x53
lea ecx, [esp + 0x5c]
mov byte [esp + 0x5f], al
call fcn.00462b50
push 0x65
lea ecx, [esp + 0x5c]
mov byte [esp + 0x60], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x5c]
mov byte [esp + 0x61], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x5c]
mov byte [esp + 0x62], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x5c]
mov byte [esp + 0x63], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x5c]
mov byte [esp + 0x64], al
call fcn.00462b50
push 0x67
lea ecx, [esp + 0x5c]
mov byte [esp + 0x65], al
call fcn.00462b50
push 0x73
lea ecx, [esp + 0x5c]
mov byte [esp + 0x66], al
call fcn.00462b50
push 0x2e
lea ecx, [esp + 0x5c]
mov byte [esp + 0x67], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x5c]
mov byte [esp + 0x68], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x5c]
mov byte [esp + 0x69], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x5c]
mov byte [esp + 0x6a], al
call fcn.00462b50
mov byte [esp + 0x67], al
mov byte [esp + 0x68], 0
xor esi, esi
push esi
lea ecx, [esp + 0x5d]
call fcn.0044a8f0
lea ecx, [esp + 0x58]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x5d]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x45ea51
push 0xf
lea ecx, [esp + 0x5d]
call fcn.0044a8f0
lea ecx, [esp + 0x59]
mov byte [eax], 0
call fcn.0044a8e0
mov esi, eax
lea ecx, [esp + 0x818]
lea eax, [esp + 0xab8]
push eax
push 0x542ef8
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x804]
call fcn.00448630
add esp, 4
lea ecx, [esp + 0x7e8]
mov edx, eax
push esi
call fcn.004485d0
add esp, 4
mov ecx, eax
call fcn.00443440
push 0x48
lea ecx, [esp + 0x24]
mov dword [esp + 0x44], eax
mov byte [esp + 0x24], 0x5a
call fcn.00462b50
push 0x45
lea ecx, [esp + 0x24]
mov byte [esp + 0x25], al
call fcn.00462b50
push 0x49
lea ecx, [esp + 0x24]
mov byte [esp + 0x26], al
call fcn.00462b50
push 0x47
lea ecx, [esp + 0x24]
mov byte [esp + 0x27], al
call fcn.00462b50
push 0x48
lea ecx, [esp + 0x24]
mov byte [esp + 0x28], al
call fcn.00462b50
push 0x54
lea ecx, [esp + 0x24]
mov byte [esp + 0x29], al
call fcn.00462b50
mov byte [esp + 0x26], al
xor esi, esi
mov byte [esp + 0x27], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x25]
call fcn.0044a8f0
lea ecx, [esp + 0x20]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x25]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 6
jb 0x45eb50
push 6
lea ecx, [esp + 0x25]
call fcn.0044a8f0
lea ecx, [esp + 0x21]
mov byte [eax], 0
call fcn.0044a8e0
push 0x4c
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0x38], 0x6f
call fcn.00462b50
push 0x41
lea ecx, [esp + 0x38]
mov byte [esp + 0x39], al
call fcn.00462b50
push 0x55
lea ecx, [esp + 0x38]
mov byte [esp + 0x3a], al
call fcn.00462b50
push 0x4e
lea ecx, [esp + 0x38]
mov byte [esp + 0x3b], al
call fcn.00462b50
push 0x43
lea ecx, [esp + 0x38]
mov byte [esp + 0x3c], al
call fcn.00462b50
push 0x48
lea ecx, [esp + 0x38]
mov byte [esp + 0x3d], al
call fcn.00462b50
push 0x45
lea ecx, [esp + 0x38]
mov byte [esp + 0x3e], al
call fcn.00462b50
push 0x52
lea ecx, [esp + 0x38]
mov byte [esp + 0x3f], al
call fcn.00462b50
mov byte [esp + 0x3c], al
xor esi, esi
mov byte [esp + 0x3d], 0
push esi
lea ecx, [esp + 0x39]
call fcn.0044a8f0
lea ecx, [esp + 0x34]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x39]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 8
jb 0x45ec20
push 8
lea ecx, [esp + 0x39]
call fcn.0044a8f0
lea ecx, [esp + 0x35]
mov byte [eax], 0
call fcn.0044a8e0
push dword [esp + 0x40]
push 0x252
push dword [esp + 0x1c]
push eax
call edi
lea ecx, [esp + 0x7e8]
mov dword [0x53eba0], eax
call fcn.00443450
lea ecx, [esp + 0x800]
call fcn.00443450
lea ecx, [esp + 0x818]
call fcn.00443450
push 0x55
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], 0x29
call fcn.00462b50
push 0x49
lea ecx, [esp + 0x48]
mov byte [esp + 0x49], al
call fcn.00462b50
push 0x58
lea ecx, [esp + 0x48]
mov byte [esp + 0x4a], al
call fcn.00462b50
push 0x53
lea ecx, [esp + 0x48]
mov byte [esp + 0x4b], al
call fcn.00462b50
push 0x65
lea ecx, [esp + 0x48]
mov byte [esp + 0x4c], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x48]
mov byte [esp + 0x4d], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x48]
mov byte [esp + 0x4e], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x48]
mov byte [esp + 0x4f], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x48]
mov byte [esp + 0x50], al
call fcn.00462b50
push 0x67
lea ecx, [esp + 0x48]
mov byte [esp + 0x51], al
call fcn.00462b50
push 0x73
lea ecx, [esp + 0x48]
mov byte [esp + 0x52], al
call fcn.00462b50
push 0x2e
lea ecx, [esp + 0x48]
mov byte [esp + 0x53], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x48]
mov byte [esp + 0x54], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x48]
mov byte [esp + 0x55], al
call fcn.00462b50
push 0x69
lea ecx, [esp + 0x48]
mov byte [esp + 0x56], al
call fcn.00462b50
mov byte [esp + 0x53], al
xor esi, esi
mov byte [esp + 0x54], 0
nop
push esi
lea ecx, [esp + 0x49]
call fcn.0044a8f0
lea ecx, [esp + 0x44]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x49]
mov byte [esp + 0x11], al
call fcn.0044a8f0
mov cl, byte [esp + 0xd]
inc esi
mov byte [eax], cl
cmp esi, 0xf
jb 0x45ed90
push 0xf
lea ecx, [esp + 0x49]
call fcn.0044a8f0
lea ecx, [esp + 0x45]
mov byte [eax], 0
call fcn.0044a8e0
mov esi, eax
lea ecx, [esp + 0x848]
lea eax, [esp + 0xab8]
push eax
push 0x542ef8
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x834]
call fcn.00448630
mov edx, esi
add esp, 4
lea edi, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x45ee10
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.00446e60
push eax
lea ecx, [esp + 0x60c]
call fcn.00446fc0
lea ecx, [esp + 0x608]
call fcn.00443440
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov cl, 7
push eax
mov al, 0x5f
mov byte [esp + 0xa6], 0
xor cl, al
mov byte [esp + 0xa4], al
mov ah, 0xe
mov byte [esp + 0xa5], cl
mov al, 0x4c
mov byte [esp + 0x118], ah
xor al, ah
mov byte [esp + 0x11b], 0
mov cl, 0x49
mov byte [esp + 0x119], al
xor cl, ah
mov byte [esp + 0xa6], 0
push 0
lea eax, [esp + 0xa9]
mov byte [esp + 0x11e], cl
push eax
lea eax, [esp + 0x121]
mov byte [esp + 0x123], 0
push eax
call edi
lea ecx, [esp + 0x608]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x830]
call fcn.00443450
lea ecx, [esp + 0x848]
call fcn.00443450
movaps xmm0, xmmword [str.y_0_]
xor ecx, ecx
movups xmmword [esp + 0x228], xmm0
mov byte [esp + 0x238], 0
nop word [eax + eax]
mov al, byte [esp + 0x228]
xor byte [esp + ecx + 0x229], al
inc ecx
cmp ecx, 0xf
jb 0x45eef0
push dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
mov byte [esp + 0x23c], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ef24
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x4f0]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x4ec]
lea ecx, [esp + 0x864]
call fcn.00448630
lea ecx, [esp + 0x22d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ef70
sub ecx, esi
lea eax, [esp + 0x229]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x624]
call fcn.00446fc0
lea ecx, [esp + 0x620]
call fcn.00443440
push eax
mov al, 0x6a
mov byte [esp + 0xaa], 0
mov byte [esp + 0xa8], al
mov cl, 0x33
xor cl, al
mov byte [esp + 0x11f], 0
mov ah, 0x31
mov byte [esp + 0xa9], cl
mov al, 0x73
mov byte [esp + 0x11c], ah
xor al, ah
mov byte [esp + 0xaa], 0
mov cl, 0x76
mov byte [esp + 0x11d], al
xor cl, ah
mov byte [esp + 0x11f], 0
push 0
lea eax, [esp + 0xad]
mov byte [esp + 0x122], cl
push eax
lea eax, [esp + 0x125]
push eax
call edi
lea ecx, [esp + 0x620]
mov esi, eax
call fcn.00443450
lea ecx, [esp + 0x860]
call fcn.00443450
lea ecx, [esp + 0x4e8]
call fcn.00443450
movd xmm2, dword [esp + 0x14]
xor ecx, ecx
movaps xmm0, xmmword [0x52cea0]
movd xmm1, esi
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x20c], 0
mov eax, dword [esp + 0x20c]
mov dword [0x543408], eax
mov byte [esp + 0x2ec], 0
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x2dc], xmm0
unpcklps xmm2, xmm1
movq qword [0x543400], xmm2
nop dword [eax + eax]
mov al, byte [esp + 0x2dc]
xor byte [esp + ecx + 0x2dd], al
inc ecx
cmp ecx, 0xf
jb 0x45f080
push dword [esp + 0x10]
lea ecx, [esp + 0x504]
mov byte [esp + 0x2f0], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f0b4
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x508]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x504]
lea ecx, [esp + 0x87c]
call fcn.00448630
lea ecx, [esp + 0x2e1]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f100
sub ecx, esi
lea eax, [esp + 0x2dd]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x63c]
call fcn.00446fc0
lea ecx, [esp + 0x638]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xaa], 0
mov al, 0x19
mov byte [esp + 0xaa], 0
mov cl, 0x41
mov byte [esp + 0xa8], al
xor cl, al
mov dword [esp + 0x1a8], 0x4a5f580b
mov byte [esp + 0xa9], cl
xor eax, eax
mov cl, 0xb
mov dword [esp + 0x1ac], 0x49545f59
mov dword [esp + 0x1b0], 0x445f5f5e
mov word [esp + 0x1b4], 0x45
nop word [eax + eax]
xor byte [esp + eax + 0x1a9], cl
inc eax
cmp eax, 0xc
jae 0x45f1a6
mov cl, byte [esp + 0x1a8]
jmp 0x45f190
push edx
push 0x260
lea eax, [esp + 0xb1]
mov byte [esp + 0x1bd], 0
push eax
lea eax, [esp + 0x1b5]
push eax
call edi
lea ecx, [esp + 0x638]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x878]
call fcn.00443450
lea ecx, [esp + 0x500]
call fcn.00443450
movaps xmm0, xmmword [0x52ce20]
xor ecx, ecx
movups xmmword [esp + 0x23c], xmm0
mov byte [esp + 0x24c], 0
nop word [eax + eax]
mov al, byte [esp + 0x23c]
xor byte [esp + ecx + 0x23d], al
inc ecx
cmp ecx, 0xf
jb 0x45f210
push dword [esp + 0x10]
lea ecx, [esp + 0x51c]
mov byte [esp + 0x250], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f244
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x520]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x51c]
lea ecx, [esp + 0x894]
call fcn.00448630
lea ecx, [esp + 0x241]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f290
sub ecx, esi
lea eax, [esp + 0x23d]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x654]
call fcn.00446fc0
lea ecx, [esp + 0x650]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xae], 0
mov al, 0xe
mov byte [esp + 0xae], 0
mov cl, 0x57
mov byte [esp + 0xac], al
xor cl, al
mov dword [esp + 0x1b8], 0x1d080f5c
mov byte [esp + 0xad], cl
xor eax, eax
mov cl, 0x5c
mov dword [esp + 0x1bc], 0x1e03080e
mov dword [esp + 0x1c0], 0x13080809
mov word [esp + 0x1c4], 0x12
nop word [eax + eax]
xor byte [esp + eax + 0x1b9], cl
inc eax
cmp eax, 0xc
jae 0x45f336
mov cl, byte [esp + 0x1b8]
jmp 0x45f320
push edx
push 0x1fd
lea eax, [esp + 0xb5]
mov byte [esp + 0x1cd], 0
push eax
lea eax, [esp + 0x1c5]
push eax
call edi
lea ecx, [esp + 0x650]
mov esi, eax
call fcn.00443450
lea ecx, [esp + 0x890]
call fcn.00443450
lea ecx, [esp + 0x518]
call fcn.00443450
movd xmm1, dword [esp + 0x14]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20c], 0
mov eax, dword [esp + 0x20c]
mov dword [0x53eb7c], eax
mov byte [esp + 0x260], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x52cc00]
movq qword [0x53eb74], xmm1
movups xmmword [esp + 0x250], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x250]
xor byte [esp + ecx + 0x251], al
inc ecx
cmp ecx, 0xf
jb 0x45f3d0
push dword [esp + 0x10]
lea ecx, [esp + 0x534]
mov byte [esp + 0x264], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f404
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x538]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x534]
lea ecx, [esp + 0x8ac]
call fcn.00448630
lea ecx, [esp + 0x255]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f450
sub ecx, esi
lea eax, [esp + 0x251]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x66c]
call fcn.00446fc0
lea ecx, [esp + 0x668]
call fcn.00443440
movaps xmm0, xmmword [0x52caf0]
mov edx, eax
mov al, 0x66
mov byte [esp + 0xb2], 0
mov cl, 0x3e
mov byte [esp + 0xb0], al
xor cl, al
mov byte [esp + 0xb2], 0
mov byte [esp + 0xb1], cl
xor ecx, ecx
movups xmmword [esp + 0x3cc], xmm0
mov byte [esp + 0x3dc], 0
mov al, byte [esp + 0x3cc]
xor byte [esp + ecx + 0x3cd], al
inc ecx
cmp ecx, 0xf
jb 0x45f4c1
push edx
push 0xa1
lea eax, [esp + 0xb9]
mov byte [esp + 0x3e4], 0
push eax
lea eax, [esp + 0x3d9]
push eax
call edi
lea ecx, [esp + 0x668]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x8a8]
call fcn.00443450
lea ecx, [esp + 0x530]
call fcn.00443450
movaps xmm0, xmmword [0x52cf10]
xor ecx, ecx
movups xmmword [esp + 0x264], xmm0
mov byte [esp + 0x274], 0
nop word [eax + eax]
mov al, byte [esp + 0x264]
xor byte [esp + ecx + 0x265], al
inc ecx
cmp ecx, 0xf
jb 0x45f540
push dword [esp + 0x10]
lea ecx, [esp + 0x4bc]
mov byte [esp + 0x278], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f574
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x4c0]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x4bc]
lea ecx, [esp + 0x8c4]
call fcn.00448630
lea ecx, [esp + 0x269]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f5c0
sub ecx, esi
lea eax, [esp + 0x265]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x684]
call fcn.00446fc0
lea ecx, [esp + 0x680]
call fcn.00443440
movaps xmm0, xmmword [0x52cbc0]
mov edx, eax
mov al, 0x6c
mov byte [esp + 0xb6], 0
mov cl, 0x35
mov byte [esp + 0xb4], al
xor cl, al
mov byte [esp + 0xb6], 0
mov byte [esp + 0xb5], cl
xor ecx, ecx
movups xmmword [esp + 0x3b8], xmm0
mov byte [esp + 0x3c8], 0
mov al, byte [esp + 0x3b8]
xor byte [esp + ecx + 0x3b9], al
inc ecx
cmp ecx, 0xf
jb 0x45f631
push edx
push 0x1ff
lea eax, [esp + 0xbd]
mov byte [esp + 0x3d0], 0
push eax
lea eax, [esp + 0x3c5]
push eax
call edi
lea ecx, [esp + 0x680]
mov esi, eax
call fcn.00443450
lea ecx, [esp + 0x8c0]
call fcn.00443450
lea ecx, [esp + 0x4b8]
call fcn.00443450
movd xmm1, dword [esp + 0x14]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20c], 0
mov eax, dword [esp + 0x20c]
mov dword [0x53ebd0], eax
mov byte [esp + 0x288], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x52cf50]
movq qword [0x53ebc8], xmm1
movups xmmword [esp + 0x278], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x278]
xor byte [esp + ecx + 0x279], al
inc ecx
cmp ecx, 0xf
jb 0x45f6e0
push dword [esp + 0x10]
lea ecx, [esp + 0x4d4]
mov byte [esp + 0x28c], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f714
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x4d8]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x4d4]
lea ecx, [esp + 0x8dc]
call fcn.00448630
lea ecx, [esp + 0x27d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f760
sub ecx, esi
lea eax, [esp + 0x279]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x69c]
call fcn.00446fc0
lea ecx, [esp + 0x698]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xba], 0
mov al, 0x34
mov byte [esp + 0xba], 0
mov cl, 0x6c
mov byte [esp + 0xb8], al
xor cl, al
mov dword [esp + 0x1c8], 0x6467682b
mov byte [esp + 0xb9], cl
xor eax, eax
mov cl, 0x2b
mov dword [esp + 0x1cc], 0x69746e78
mov dword [esp + 0x1d0], 0x647f7f7e
mov word [esp + 0x1d4], 0x65
nop word [eax + eax]
xor byte [esp + eax + 0x1c9], cl
inc eax
cmp eax, 0xc
jae 0x45f806
mov cl, byte [esp + 0x1c8]
jmp 0x45f7f0
push edx
push 0x2fd
lea eax, [esp + 0xc1]
mov byte [esp + 0x1dd], 0
push eax
lea eax, [esp + 0x1d5]
push eax
call edi
lea ecx, [esp + 0x698]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x8d8]
call fcn.00443450
lea ecx, [esp + 0x4d0]
call fcn.00443450
movaps xmm0, xmmword [str.n_6_v]
xor ecx, ecx
movups xmmword [esp + 0x28c], xmm0
mov byte [esp + 0x29c], 0
nop word [eax + eax]
mov al, byte [esp + 0x28c]
xor byte [esp + ecx + 0x28d], al
inc ecx
cmp ecx, 0xf
jb 0x45f870
push dword [esp + 0x10]
lea ecx, [esp + 0x54c]
mov byte [esp + 0x2a0], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f8a4
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x550]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x54c]
lea ecx, [esp + 0x8f4]
call fcn.00448630
lea ecx, [esp + 0x291]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45f8f0
sub ecx, esi
lea eax, [esp + 0x28d]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x6b4]
call fcn.00446fc0
lea ecx, [esp + 0x6b0]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xbe], 0
mov al, 0x70
mov byte [esp + 0xbe], 0
mov cl, 0x29
mov byte [esp + 0xbc], al
xor cl, al
mov dword [esp + 0x1d8], 0x7a797635
mov byte [esp + 0xbd], cl
xor eax, eax
mov cl, 0x35
mov dword [esp + 0x1dc], 0x776a7066
mov dword [esp + 0x1e0], 0x7a616160
mov word [esp + 0x1e4], 0x7b
nop word [eax + eax]
xor byte [esp + eax + 0x1d9], cl
inc eax
cmp eax, 0xc
jae 0x45f996
mov cl, byte [esp + 0x1d8]
jmp 0x45f980
push edx
push 3
lea eax, [esp + 0xc5]
mov byte [esp + 0x1ed], 0
push eax
lea eax, [esp + 0x1e5]
push eax
call edi
lea ecx, [esp + 0x6b0]
mov esi, eax
call fcn.00443450
lea ecx, [esp + 0x8f0]
call fcn.00443450
lea ecx, [esp + 0x548]
call fcn.00443450
movd xmm1, dword [esp + 0x14]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20c], 0
mov eax, dword [esp + 0x20c]
mov dword [0x53ebac], eax
mov byte [esp + 0x2b0], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x52cd30]
movq qword [0x53eba4], xmm1
movups xmmword [esp + 0x2a0], xmm0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [esp + 0x2a0]
xor byte [esp + ecx + 0x2a1], al
inc ecx
cmp ecx, 0xf
jb 0x45fa30
push dword [esp + 0x10]
lea ecx, [esp + 0x564]
mov byte [esp + 0x2b4], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fa64
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x568]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x564]
lea ecx, [esp + 0x90c]
call fcn.00448630
lea ecx, [esp + 0x2a5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fab0
sub ecx, esi
lea eax, [esp + 0x2a1]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x6cc]
call fcn.00446fc0
lea ecx, [esp + 0x6c8]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xc2], 0
mov al, 0x7b
mov byte [esp + 0xc2], 0
mov cl, 0x23
mov byte [esp + 0xc0], al
xor cl, al
mov dword [esp + 0x16c], 0x7d606232
mov byte [esp + 0xc1], cl
xor eax, eax
mov cl, 0x32
mov dword [esp + 0x170], 0x61776075
mov dword [esp + 0x174], 0x60737061
mov byte [esp + 0x178], 0
xor byte [esp + eax + 0x16d], cl
inc eax
cmp eax, 0xb
jae 0x45fb4b
mov cl, byte [esp + 0x16c]
jmp 0x45fb35
push edx
push 0x18
lea eax, [esp + 0xc9]
mov byte [esp + 0x180], 0
push eax
lea eax, [esp + 0x179]
push eax
call edi
lea ecx, [esp + 0x6c8]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x908]
call fcn.00443450
lea ecx, [esp + 0x560]
call fcn.00443450
movaps xmm0, xmmword [0x52cbf0]
xor ecx, ecx
movups xmmword [esp + 0x2b4], xmm0
mov byte [esp + 0x2c4], 0
nop dword [eax]
mov al, byte [esp + 0x2b4]
xor byte [esp + ecx + 0x2b5], al
inc ecx
cmp ecx, 0xf
jb 0x45fbb0
push dword [esp + 0x10]
lea ecx, [esp + 0x57c]
mov byte [esp + 0x2c8], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fbe4
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x580]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x57c]
lea ecx, [esp + 0x924]
call fcn.00448630
lea ecx, [esp + 0x2b9]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fc30
sub ecx, esi
lea eax, [esp + 0x2b5]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x6e4]
call fcn.00446fc0
lea ecx, [esp + 0x6e0]
call fcn.00443440
mov edx, eax
mov byte [esp + 0xc6], 0
mov al, 0x55
mov byte [esp + 0xc6], 0
mov cl, 0xc
mov byte [esp + 0xc4], al
xor cl, al
mov dword [esp + 0x17c], 0x160b0959
mov byte [esp + 0xc5], cl
xor eax, eax
mov cl, 0x59
mov dword [esp + 0x180], 0xa1c0b1e
mov dword [esp + 0x184], 0xb181b0a
mov byte [esp + 0x188], 0
xor byte [esp + eax + 0x17d], cl
inc eax
cmp eax, 0xb
jae 0x45fccb
mov cl, byte [esp + 0x17c]
jmp 0x45fcb5
push edx
push 0x22d
lea eax, [esp + 0xcd]
mov byte [esp + 0x190], 0
push eax
lea eax, [esp + 0x189]
push eax
call edi
lea ecx, [esp + 0x6e0]
mov esi, eax
call fcn.00443450
lea ecx, [esp + 0x920]
call fcn.00443450
lea ecx, [esp + 0x578]
call fcn.00443450
movd xmm1, dword [esp + 0x14]
xor ecx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20c], 0
mov eax, dword [esp + 0x20c]
mov dword [0x53eb9c], eax
mov byte [esp + 0x2d8], 0
cvtdq2ps xmm1, xmm1
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x52cd80]
movq qword [0x53eb94], xmm1
movups xmmword [esp + 0x2c8], xmm0
nop dword [eax]
mov al, byte [esp + 0x2c8]
xor byte [esp + ecx + 0x2c9], al
inc ecx
cmp ecx, 0xf
jb 0x45fd60
push dword [esp + 0x10]
lea ecx, [esp + 0x594]
mov byte [esp + 0x2dc], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fd94
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x598]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x594]
lea ecx, [esp + 0x93c]
call fcn.00448630
lea ecx, [esp + 0x2cd]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fde0
sub ecx, esi
lea eax, [esp + 0x2c9]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x6fc]
call fcn.00446fc0
lea ecx, [esp + 0x6f8]
call fcn.00443440
push eax
mov byte [esp + 0x1a0], 0x23
mov cl, 0x65
xor cl, byte [esp + 0x1a0]
mov al, 0x7c
mov byte [esp + 0x1a1], cl
mov ch, 0x6d
mov cl, byte [esp + 0x1a0]
mov ah, 0x70
xor al, cl
mov byte [esp + 0x11], 0x6a
mov byte [esp + 0x1a5], al
xor ah, cl
mov al, byte [esp + 0x11]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x79
mov byte [esp + 0x1a7], al
mov dl, 0x6c
mov al, byte [esp + 0x13]
xor dl, cl
xor al, cl
mov byte [esp + 0x12], 0x66
mov byte [esp + 0x1a8], al
mov dh, 0x77
mov al, byte [esp + 0x12]
xor dh, cl
xor al, cl
mov byte [esp + 0x1a6], ah
mov byte [esp + 0x1a9], al
mov ah, 0x7c
mov byte [esp + 0x1a3], ch
mov al, 0x6e
mov ch, 0x28
mov byte [esp + 0x1a2], dl
xor al, ch
mov byte [esp + 0x1aa], 0
xor ah, ch
mov byte [esp + 0x1ed], al
mov byte [esp + 0x1f0], ah
mov cl, 0x67
push 0xe
lea eax, [esp + 0x1a5]
mov byte [esp + 0x1f5], 0
push eax
mov dl, 0x66
mov byte [esp + 0x1ac], dh
lea eax, [esp + 0x1f5]
mov byte [esp + 0x1b2], 0
xor cl, ch
mov byte [esp + 0x1f4], ch
xor dl, ch
mov byte [esp + 0x1f6], cl
push eax
mov byte [esp + 0x1fb], dl
mov byte [esp + 0x1fd], 0
call edi
lea ecx, [esp + 0x6f8]
mov dword [esp + 0x14], eax
call fcn.00443450
lea ecx, [esp + 0x938]
call fcn.00443450
lea ecx, [esp + 0x590]
call fcn.00443450
movaps xmm0, xmmword [str.7_e_n_n]
xor ecx, ecx
movups xmmword [esp + 0x390], xmm0
mov byte [esp + 0x3a0], 0
nop dword [eax]
mov al, byte [esp + 0x390]
xor byte [esp + ecx + 0x391], al
inc ecx
cmp ecx, 0xf
jb 0x45ff50
push dword [esp + 0x10]
lea ecx, [esp + 0x5ac]
mov byte [esp + 0x3a4], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ff84
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x5b0]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x5ac]
lea ecx, [esp + 0x954]
call fcn.00448630
lea ecx, [esp + 0x395]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ffd0
sub ecx, esi
lea eax, [esp + 0x391]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x3fc]
call fcn.00446fc0
cmp dword [esp + 0x40c], 0x10
lea esi, [esp + 0x3f8]
mov cl, 0x7a
mov dword [esp + 0x18c], 0x34353c7a
cmovae esi, dword [esp + 0x3f8]
xor eax, eax
mov dword [esp + 0x190], 0x3f2d252e
mov dword [esp + 0x194], 0x2e323d33
mov byte [esp + 0x198], 0
nop word [eax + eax]
xor byte [esp + eax + 0x18d], cl
inc eax
cmp eax, 0xb
jae 0x460056
mov cl, byte [esp + 0x18c]
jmp 0x460040
mov ch, 0xa
mov byte [esp + 0x1fd], 0
mov al, 0x4c
mov byte [esp + 0x198], 0
mov ah, 0x5e
mov byte [esp + 0x1f8], ch
xor al, ch
mov byte [esp + 0x1fd], 0
xor ah, ch
mov byte [esp + 0x1f9], al
push esi
mov byte [esp + 0x200], ah
mov cl, 0x45
push 0x1f4
lea eax, [esp + 0x195]
mov dl, 0x44
push eax
lea eax, [esp + 0x205]
xor cl, ch
xor dl, ch
mov byte [esp + 0x206], cl
push eax
mov byte [esp + 0x20b], dl
call edi
lea ecx, [esp + 0x3f8]
call fcn.00443450
lea ecx, [esp + 0x950]
call fcn.00443450
lea ecx, [esp + 0x5a8]
call fcn.00443450
movaps xmm0, xmmword [0x52cf60]
xor ecx, ecx
movups xmmword [esp + 0x2f0], xmm0
mov byte [esp + 0x300], 0
nop dword [eax + eax]
mov al, byte [esp + 0x2f0]
xor byte [esp + ecx + 0x2f1], al
inc ecx
cmp ecx, 0xf
jb 0x460100
push dword [esp + 0x10]
lea ecx, [esp + 0x5c4]
mov byte [esp + 0x304], 0
call fcn.004436b0
mov ecx, 0x542ef8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460134
sub ecx, edx
push ecx
push 0x542ef8
lea ecx, [esp + 0x5c8]
call fcn.00448d90
lea eax, [esp + 0xab8]
push eax
lea edx, [esp + 0x5c4]
lea ecx, [esp + 0x96c]
call fcn.00448630
lea ecx, [esp + 0x2f5]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460180
sub ecx, esi
lea eax, [esp + 0x2f1]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x414]
call fcn.00446fc0
cmp dword [esp + 0x424], 0x10
lea esi, [esp + 0x410]
mov byte [esp + 0x128], 0x72
mov al, 0x34
cmovae esi, dword [esp + 0x410]
mov ah, 0x3b
xor al, byte [esp + 0x128]
mov ch, 0x3e
mov byte [esp + 0x129], al
mov cl, 0x33
mov al, byte [esp + 0x128]
mov dl, 0x3f
xor ah, al
mov byte [esp + 0x12f], 0
xor ch, al
mov byte [esp + 0x12c], ah
xor cl, al
mov byte [esp + 0x12d], ch
xor dl, al
mov byte [esp + 0x12a], cl
mov ch, 0x5a
mov byte [esp + 0x12b], dl
mov dh, 0x2b
mov byte [esp + 0x1f5], 0
xor dh, al
mov byte [esp + 0x12f], 0
push esi
mov al, 0x1c
mov byte [esp + 0x132], dh
xor al, ch
mov byte [esp + 0x1f4], ch
mov ah, 0xe
mov byte [esp + 0x1f5], al
xor ah, ch
mov byte [esp + 0x1f9], 0
mov byte [esp + 0x1f8], ah
mov cl, 0x15
push 0x19
lea eax, [esp + 0xb08]
mov dl, 0x14
push eax
push str.Verdana
lea eax, [esp + 0x139]
xor cl, ch
push eax
lea eax, [esp + 0x205]
mov byte [esp + 0x206], cl
xor dl, ch
push eax
mov byte [esp + 0x20b], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x410]
call fcn.00443450
lea ecx, [esp + 0x968]
call fcn.00443450
lea ecx, [esp + 0x5c0]
call fcn.00443450
movaps xmm0, xmmword [0x52c9c0]
xor ecx, ecx
movups xmmword [esp + 0x304], xmm0
mov byte [esp + 0x314], 0
nop dword [eax + eax]
mov al, byte [esp + 0x304]
xor byte [esp + ecx + 0x305], al
inc ecx
cmp ecx, 0xf
jb 0x4602d0
lea eax, [esp + 0xab8]
mov byte [esp + 0x314], 0
push eax
push 0x542ef8
lea ecx, [esp + 0x9a0]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x984]
call fcn.00448630
lea ecx, [esp + 0x309]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460322
sub ecx, esi
lea eax, [esp + 0x305]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x42c]
call fcn.00446fc0
cmp dword [esp + 0x43c], 0x10
lea esi, [esp + 0x428]
mov cl, 0x12
mov byte [esp + 0x13c], 0xf
cmovae esi, dword [esp + 0x428]
mov al, 0x4a
xor al, cl
mov byte [esp + 0xc8], cl
mov byte [esp + 0xc9], al
mov cl, 0x41
xor cl, byte [esp + 0x13c]
mov al, 0x46
xor al, byte [esp + 0x13c]
mov dh, 0x5b
mov byte [esp + 0x13d], al
mov ah, 0x40
mov byte [esp + 0x13e], cl
mov dl, 0x49
mov cl, byte [esp + 0x13c]
mov ch, 0x50
mov byte [esp + 0xe], 0x4a
xor ah, cl
mov al, byte [esp + 0xe]
xor dl, cl
xor al, cl
mov byte [esp + 0xf], 0x57
mov byte [esp + 0x143], al
xor ch, cl
mov al, byte [esp + 0xf]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x144], al
xor dh, cl
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0x140], ah
push esi
mov byte [esp + 0x149], al
lea eax, [esp + 0xcd]
push 0x242
push eax
lea eax, [esp + 0x149]
mov byte [esp + 0xd6], 0
mov byte [esp + 0x152], 0
push eax
mov byte [esp + 0xda], 0
mov byte [esp + 0x14f], dl
mov byte [esp + 0x151], ch
mov byte [esp + 0x152], dh
mov byte [esp + 0x156], 0
call edi
lea ecx, [esp + 0x428]
mov dword [0x542fbc], eax
call fcn.00443450
lea ecx, [esp + 0x980]
call fcn.00443450
lea ecx, [esp + 0x998]
call fcn.00443450
movaps xmm0, xmmword [0x52cf80]
xor ecx, ecx
movups xmmword [esp + 0x318], xmm0
mov byte [esp + 0x328], 0
nop dword [eax]
mov al, byte [esp + 0x318]
xor byte [esp + ecx + 0x319], al
inc ecx
cmp ecx, 0xf
jb 0x460480
lea eax, [esp + 0xab8]
mov byte [esp + 0x328], 0
push eax
push 0x542ef8
lea ecx, [esp + 0x9d0]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x9b4]
call fcn.00448630
lea ecx, [esp + 0x31d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4604d2
sub ecx, esi
lea eax, [esp + 0x319]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x444]
call fcn.00446fc0
cmp dword [esp + 0x454], 0x10
lea esi, [esp + 0x440]
mov cl, 1
mov byte [esp + 0x148], 0x19
cmovae esi, dword [esp + 0x440]
mov al, 0x58
xor al, cl
mov byte [esp + 0xcc], cl
mov byte [esp + 0xcd], al
mov cl, 0x57
xor cl, byte [esp + 0x148]
mov al, 0x50
xor al, byte [esp + 0x148]
mov dh, 0x4d
mov byte [esp + 0x149], al
mov ah, 0x56
mov byte [esp + 0x14a], cl
mov dl, 0x5f
mov cl, byte [esp + 0x148]
mov ch, 0x46
mov byte [esp + 0xe], 0x5c
xor ah, cl
mov al, byte [esp + 0xe]
xor dl, cl
xor al, cl
mov byte [esp + 0xf], 0x41
mov byte [esp + 0x14f], al
xor ch, cl
mov al, byte [esp + 0xf]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x150], al
xor dh, cl
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0x14c], ah
push esi
mov byte [esp + 0x155], al
lea eax, [esp + 0xd1]
push 0x212
push eax
lea eax, [esp + 0x155]
mov byte [esp + 0xda], 0
mov byte [esp + 0x15e], 0
push eax
mov byte [esp + 0xde], 0
mov byte [esp + 0x15b], dl
mov byte [esp + 0x15d], ch
mov byte [esp + 0x15e], dh
mov byte [esp + 0x162], 0
call edi
lea ecx, [esp + 0x440]
mov dword [0x542ee8], eax
call fcn.00443450
lea ecx, [esp + 0x9b0]
call fcn.00443450
lea ecx, [esp + 0x9c8]
call fcn.00443450
movaps xmm0, xmmword [str._5__]
xor ecx, ecx
movups xmmword [esp + 0x32c], xmm0
mov byte [esp + 0x33c], 0
nop dword [eax]
mov al, byte [esp + 0x32c]
xor byte [esp + ecx + 0x32d], al
inc ecx
cmp ecx, 0xf
jb 0x460630
lea eax, [esp + 0xab8]
mov byte [esp + 0x33c], 0
push eax
push 0x542ef8
lea ecx, [esp + 0xa00]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0x9e4]
call fcn.00448630
lea ecx, [esp + 0x331]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460682
sub ecx, esi
lea eax, [esp + 0x32d]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x45c]
call fcn.00446fc0
cmp dword [esp + 0x46c], 0x10
lea esi, [esp + 0x458]
mov cl, 0x4b
mov byte [esp + 0x154], 2
cmovae esi, dword [esp + 0x458]
mov al, 0x13
xor al, cl
mov byte [esp + 0xd0], cl
mov byte [esp + 0xd1], al
mov cl, 0x43
xor cl, byte [esp + 0x154]
mov al, 0x52
xor al, byte [esp + 0x154]
mov ah, 0x47
mov byte [esp + 0x155], al
mov dh, 0x56
mov byte [esp + 0xe], ah
mov dl, 0x45
mov al, byte [esp + 0xe]
mov ch, 0x5d
mov byte [esp + 0x156], cl
mov cl, byte [esp + 0x154]
xor al, cl
mov byte [esp + 0xf], 0x5a
mov byte [esp + 0x15b], al
xor ah, cl
mov al, byte [esp + 0xf]
xor dl, cl
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x15c], al
xor ch, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0x158], ah
push esi
mov byte [esp + 0x161], al
lea eax, [esp + 0xd5]
push 0x262
push eax
lea eax, [esp + 0x161]
mov byte [esp + 0xde], 0
mov byte [esp + 0x16a], 0
push eax
mov byte [esp + 0xe2], 0
mov byte [esp + 0x167], dl
mov byte [esp + 0x169], ch
mov byte [esp + 0x16a], dh
mov byte [esp + 0x16e], 0
call edi
lea ecx, [esp + 0x458]
call fcn.00443450
lea ecx, [esp + 0x9e0]
call fcn.00443450
lea ecx, [esp + 0x9f8]
call fcn.00443450
movaps xmm0, xmmword [0x52cee0]
xor ecx, ecx
movups xmmword [esp + 0x340], xmm0
mov byte [esp + 0x350], 0
nop word [eax + eax]
mov al, byte [esp + 0x340]
xor byte [esp + ecx + 0x341], al
inc ecx
cmp ecx, 0xf
jb 0x4607e0
lea eax, [esp + 0xab8]
mov byte [esp + 0x350], 0
push eax
push 0x542ef8
lea ecx, [esp + 0xa30]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0xa14]
call fcn.00448630
lea ecx, [esp + 0x345]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460832
sub ecx, esi
lea eax, [esp + 0x341]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x3e4]
call fcn.00446fc0
cmp dword [esp + 0x3f4], 0x10
lea esi, [esp + 0x3e0]
mov cl, 0x6c
mov byte [esp + 0x160], 0x36
cmovae esi, dword [esp + 0x3e0]
mov al, 0x35
xor al, cl
mov byte [esp + 0xd4], cl
mov byte [esp + 0xd5], al
mov cl, 0x77
xor cl, byte [esp + 0x160]
mov al, 0x66
xor al, byte [esp + 0x160]
mov ah, 0x73
mov byte [esp + 0x161], al
mov dh, 0x62
mov byte [esp + 0xe], ah
mov dl, 0x71
mov al, byte [esp + 0xe]
mov ch, 0x69
mov byte [esp + 0x162], cl
mov cl, byte [esp + 0x160]
xor al, cl
mov byte [esp + 0xf], 0x6e
mov byte [esp + 0x167], al
xor ah, cl
mov al, byte [esp + 0xf]
xor dl, cl
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x168], al
xor ch, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0x164], ah
push esi
mov byte [esp + 0x16d], al
lea eax, [esp + 0xd9]
push 0x1ae
push eax
lea eax, [esp + 0x16d]
mov byte [esp + 0xe2], 0
mov byte [esp + 0x176], 0
push eax
mov byte [esp + 0xe6], 0
mov byte [esp + 0x173], dl
mov byte [esp + 0x175], ch
mov byte [esp + 0x176], dh
mov byte [esp + 0x17a], 0
call edi
lea ecx, [esp + 0x3e0]
call fcn.00443450
lea ecx, [esp + 0xa10]
call fcn.00443450
lea ecx, [esp + 0xa28]
call fcn.00443450
movaps xmm0, xmmword [0x52cc40]
xor ecx, ecx
movups xmmword [esp + 0x354], xmm0
mov byte [esp + 0x364], 0
nop word [eax + eax]
mov al, byte [esp + 0x354]
xor byte [esp + ecx + 0x355], al
inc ecx
cmp ecx, 0xf
jb 0x460990
lea eax, [esp + 0xab8]
mov byte [esp + 0x364], 0
push eax
push 0x542ef8
lea ecx, [esp + 0xa60]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0xa44]
call fcn.00448630
lea ecx, [esp + 0x359]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4609e2
sub ecx, esi
lea eax, [esp + 0x355]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x474]
call fcn.00446fc0
cmp dword [esp + 0x484], 0x10
lea esi, [esp + 0x470]
mov byte [esp + 0xf0], 0x34
mov al, 0x67
cmovae esi, dword [esp + 0x470]
mov cl, 0x60
xor al, byte [esp + 0xf0]
mov ch, cl
mov byte [esp + 0xf1], al
mov dl, 0x75
mov al, byte [esp + 0xf0]
mov ah, 0x66
xor cl, al
mov byte [esp + 0xe], 0x6c
xor dl, al
mov byte [esp + 0xfc], 0x39
xor ah, al
mov byte [esp + 0xf2], cl
xor ch, al
mov byte [esp + 0xf4], ah
mov dh, 0x6b
mov byte [esp + 0xf3], dl
xor dh, al
mov byte [esp + 0xf5], ch
mov al, byte [esp + 0xe]
mov cl, 0x76
xor al, byte [esp + 0xf0]
mov dl, 0x6d
mov byte [esp + 0xf7], al
mov ah, 0x70
mov al, 0x77
mov byte [esp + 0xf6], dh
xor al, byte [esp + 0xfc]
mov ch, 0x7a
mov byte [esp + 0xfd], al
mov dh, 0x7c
mov al, byte [esp + 0xfc]
xor cl, al
mov byte [esp + 0xe], 0x6a
xor dl, al
mov byte [esp + 0xf8], 0
xor ah, al
mov byte [esp + 0x104], 0
xor ch, al
mov byte [esp + 0x100], ah
xor dh, al
mov byte [esp + 0xf8], 0
mov al, byte [esp + 0xe]
xor al, byte [esp + 0xfc]
push esi
mov byte [esp + 0x107], al
lea eax, [esp + 0xf5]
push 0xc8
push eax
lea eax, [esp + 0x109]
mov byte [esp + 0x10a], cl
push eax
mov byte [esp + 0x10f], dl
mov byte [esp + 0x111], ch
mov byte [esp + 0x112], dh
mov byte [esp + 0x114], 0
call edi
lea ecx, [esp + 0x470]
mov dword [0x542f78], eax
call fcn.00443450
lea ecx, [esp + 0xa40]
call fcn.00443450
lea ecx, [esp + 0xa58]
call fcn.00443450
movaps xmm0, xmmword [0x52cd10]
movups xmmword [esp + 0x368], xmm0
mov byte [esp + 0x378], 0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x368]
xor byte [esp + ecx + 0x369], al
inc ecx
cmp ecx, 0xf
jb 0x460b80
lea eax, [esp + 0xab8]
mov byte [esp + 0x378], 0
push eax
push 0x542ef8
lea ecx, [esp + 0x730]
call fcn.00447010
mov edx, eax
lea ecx, [esp + 0xa74]
call fcn.00448630
lea ecx, [esp + 0x36d]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460bd2
sub ecx, esi
lea eax, [esp + 0x369]
push ecx
push eax
mov ecx, edx
call fcn.00446e60
push eax
lea ecx, [esp + 0x48c]
call fcn.00446fc0
cmp dword [esp + 0x49c], 0x10
lea esi, [esp + 0x488]
mov byte [esp + 0x108], 8
mov al, 0x5b
cmovae esi, dword [esp + 0x488]
mov cl, 0x5c
xor al, byte [esp + 0x108]
mov ch, cl
mov byte [esp + 0x109], al
mov dl, 0x49
mov al, byte [esp + 0x108]
mov ah, 0x5a
xor cl, al
mov byte [esp + 0xe], 0x51
xor dl, al
mov byte [esp + 0xd8], 0x6c
xor ah, al
mov byte [esp + 0x10a], cl
xor ch, al
mov byte [esp + 0x10c], ah
mov dh, 0x57
mov byte [esp + 0x10b], dl
xor dh, al
mov byte [esp + 0x10d], ch
mov al, byte [esp + 0xe]
mov cl, 0x23
xor al, byte [esp + 0x108]
mov dl, 0x38
mov byte [esp + 0x10f], al
mov ah, 0x25
mov al, 0x22
mov byte [esp + 0x10e], dh
xor al, byte [esp + 0xd8]
mov ch, 0x2f
mov byte [esp + 0xd9], al
mov dh, 0x29
mov al, byte [esp + 0xd8]
xor cl, al
mov byte [esp + 0xe], 0x3f
xor dl, al
mov byte [esp + 0x110], 0
xor ah, al
mov byte [esp + 0xe0], 0
xor ch, al
mov byte [esp + 0xdc], ah
xor dh, al
mov byte [esp + 0x110], 0
mov al, byte [esp + 0xe]
xor al, byte [esp + 0xd8]
push esi
mov byte [esp + 0xe3], al
lea eax, [esp + 0x10d]
push 0x1e0
push eax
lea eax, [esp + 0xe5]
mov byte [esp + 0xe6], cl
push eax
mov byte [esp + 0xeb], dl
mov byte [esp + 0xed], ch
mov byte [esp + 0xee], dh
mov byte [esp + 0xf0], 0
call edi
lea ecx, [esp + 0x488]
mov dword [0x542f7c], eax
call fcn.00443450
lea ecx, [esp + 0xa70]
call fcn.00443450
lea ecx, [esp + 0x728]
call fcn.00443450
movaps xmm0, xmmword [0x52ca10]
movups xmmword [esp + 0x37c], xmm0
mov byte [esp + 0x38c], 0
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x37c]
xor byte [esp + ecx + 0x37d], al
inc ecx
cmp ecx, 0xf
jb 0x460d70
push 0x542ef8
lea ecx, [esp + 0x744]
mov byte [esp + 0x390], 0
call fcn.00447010
lea ecx, [esp + 0xab8]
push ecx
mov ecx, eax
call fcn.00446ec0
push eax
lea ecx, [esp + 0x714]
call fcn.00446fc0
lea ecx, [esp + 0x37d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460dc3
sub ecx, edx
lea eax, [esp + 0x37d]
push ecx
push eax
lea ecx, [esp + 0x718]
call fcn.00446e60
push eax
lea ecx, [esp + 0x4a4]
call fcn.00446fc0
cmp dword [esp + 0x4b4], 0x10
lea esi, [esp + 0x4a0]
mov cl, 0x1c
mov byte [esp + 0x130], 0x5a
cmovae esi, dword [esp + 0x4a0]
mov dl, cl
xor cl, byte [esp + 0x130]
mov al, 0x15
xor al, byte [esp + 0x130]
mov ah, 9
mov byte [esp + 0x131], al
mov ch, 0x1f
mov byte [esp + 0x132], cl
mov dh, 0xe
mov cl, byte [esp + 0x130]
mov byte [esp + 0xe], 5
xor ah, cl
mov al, byte [esp + 0xe]
xor dl, cl
xor al, cl
mov byte [esp + 0xf], 3
mov byte [esp + 0x137], al
xor ch, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor al, cl
mov byte [esp + 0xe4], 0x13
mov byte [esp + 0x138], al
mov cl, 0x5c
mov al, 0x5d
mov byte [esp + 0x134], ah
xor al, byte [esp + 0xe4]
mov ah, 0x5a
mov byte [esp + 0xe5], al
mov al, byte [esp + 0xe4]
mov byte [esp + 0x133], dl
xor cl, al
mov byte [esp + 0x135], ch
xor ah, al
mov byte [esp + 0x136], dh
mov dl, 0x47
xor dl, al
mov byte [esp + 0xe], 0x40
mov ch, 0x50
mov byte [esp + 0xe8], ah
xor ch, al
mov byte [esp + 0x139], 0
mov dh, 0x56
mov byte [esp + 0xec], 0
xor dh, al
mov byte [esp + 0x139], 0
mov al, byte [esp + 0xe]
xor al, byte [esp + 0xe4]
push esi
mov byte [esp + 0xef], al
lea eax, [esp + 0x135]
push 0x17
push eax
lea eax, [esp + 0xf1]
mov byte [esp + 0xf2], cl
push eax
mov byte [esp + 0xf7], dl
mov byte [esp + 0xf9], ch
mov byte [esp + 0xfa], dh
mov byte [esp + 0xfc], 0
call edi
lea ecx, [esp + 0x4a0]
call fcn.00443450
lea ecx, [esp + 0x710]
call fcn.00443450
lea ecx, [esp + 0x740]
call fcn.00443450
mov eax, dword [0x53eba0]
mov ecx, dword [0x53eb70]
mov dword [0x542ef0], eax
mov dword [0x542f84], eax
mov eax, dword fs:[0x2c]
mov dword [0x542eec], ecx
mov dword [0x542f80], ecx
mov ecx, dword [eax]
mov eax, dword [0x5c3484]
cmp eax, dword [ecx + 4]
jle 0x460fa3
push 0x5c3484
call fcn.004b4650
add esp, 4
cmp dword [0x5c3484], 0xffffffff
jne 0x460fa3
push 0x5c3484
call fcn.004b4606
add esp, 4
push 0
mov dword [esp + 0xa8c], 0x30
mov dword [esp + 0xa90], 0x3000
mov dword [esp + 0xa94], 0x462540
mov dword [esp + 0xa98], 0
mov dword [esp + 0xa9c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [esp + 0x200]
push 0x65
push edi
mov dword [esp + 0xaa4], eax
mov dword [esp + 0xaac], 0
mov dword [esp + 0xab0], 0
mov dword [esp + 0xab4], 0
mov dword [esp + 0xab8], 0x529674
mov dword [esp + 0xabc], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0xaa0], eax
lea eax, [esp + 0xa88]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0xaa0]
mov byte [esp + 0x124], 0x62
mov al, 0x2e
xor al, byte [esp + 0x124]
mov cl, 3
xor cl, byte [esp + 0x124]
mov ah, 0xc
push 0
push 0
push dword [0x53eba0]
mov byte [esp + 0x131], al
mov dl, 0x17
push dword [0x53eb70]
mov byte [esp + 0x136], cl
mov ch, 1
mov cl, byte [esp + 0x134]
mov dh, 0xa
mov byte [esp + 0x26], 7
xor ah, cl
mov al, byte [esp + 0x26]
xor dl, cl
xor al, cl
mov byte [esp + 0x27], 0x10
mov byte [esp + 0x13b], al
xor ch, cl
mov al, byte [esp + 0x27]
xor dh, cl
push 0x64
push 0x64
xor al, cl
mov byte [esp + 0x140], ah
push closesocket
mov byte [esp + 0x148], al
lea eax, [esp + 0x141]
push eax
push dword [esp + 0xad8]
mov byte [esp + 0x151], 0
push 0
mov byte [esp + 0x14f], dl
mov byte [esp + 0x151], ch
mov byte [esp + 0x152], dh
mov byte [esp + 0x155], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [0x53eba0]
mov esi, eax
xor edx, edx
push dword [0x53eb70]
mov ecx, esi
mov dword [esp + 0x208], esi
call fcn.0045e110
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 [0x542e70], esi
call fcn.00461970
test al, al
jne 0x46116e
call fcn.00461cb0
jmp 0x461193
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0045d570
test al, al
jne 0x4611ae
call fcn.00461cb0
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa9c]
push dword [esp + 0xab4]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x46191e
xorps xmm0, xmm0
mov dword [0x542ed8], edi
push 0x294
movups xmmword [0x542eac], xmm0
mov dword [0x542ebc], 0
mov dword [0x542ec0], 0
call fcn.004b40ad
add esp, 4
mov esi, eax
mov ecx, esi
push 0x294
call fcn.00461950
mov ecx, esi
call fcn.00462c50
mov edi, dword [esp + 0x10]
mov edx, edi
mov ecx, dword [0x542e70]
mov dword [0x542ea0], eax
mov dword [eax + 0x148], ecx
lea ecx, [eax + 0x154]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x461214
sub edx, esi
push edx
push edi
call fcn.00443580
cmp dword [0x542ec8], 0
jne 0x46125c
push 0x542ec8
lea eax, [esp + 0xb04]
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x2bc
push 0
push dword [esp + 0x3c]
push dword [0x543410]
call fcn.004027c5
lea eax, [esp + 0xaf8]
push eax
call fcn.004bedb2
add esp, 4
lea eax, [esp + 0xaf8]
push eax
call fcn.004bf0a9
mov edx, eax
add esp, 4
xor al, al
mov dword [esp + 0x40], eax
mov ecx, dword [edx + 0x14]
add ecx, 0x76c
cmp ecx, 0x7e7
jle 0x46129c
mov byte [esp + 0x40], 1
jmp 0x4612d3
mov esi, dword [edx + 0x10]
cmp esi, 0xb
jle 0x4612b3
cmp ecx, 0x7e7
jne 0x4612b3
mov byte [esp + 0x40], 1
jmp 0x4612d3
cmp dword [edx + 0xc], 1
jle 0x4612d3
cmp esi, 0xb
jne 0x4612d3
cmp ecx, 0x7e7
movzx eax, al
mov edx, 1
cmove eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [0x542ea0]
sub esp, 0x18
add eax, 0x130
mov ecx, esp
push eax
call fcn.00447050
call fcn.0045e1e0
add esp, 0x18
test al, al
je 0x461315
cmp byte [esp + 0x40], 0
jne 0x461315
push 0
push 0
push 0
push 0x45d560
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x46153d
push 0x55
lea ecx, [esp + 0x84]
mov byte [esp + 0x84], 0x46
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x84]
mov byte [esp + 0x85], al
call fcn.00462b50
push 0x6b
lea ecx, [esp + 0x84]
mov byte [esp + 0x86], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x84]
mov byte [esp + 0x87], al
call fcn.00462b50
push 0x6f
lea ecx, [esp + 0x84]
mov byte [esp + 0x88], al
call fcn.00462b50
push 0x77
lea ecx, [esp + 0x84]
mov byte [esp + 0x89], al
call fcn.00462b50
push 0x6e
lea ecx, [esp + 0x84]
mov byte [esp + 0x8a], al
call fcn.00462b50
push 0x20
lea ecx, [esp + 0x84]
mov byte [esp + 0x8b], al
call fcn.00462b50
push 0x64
lea ecx, [esp + 0x84]
mov byte [esp + 0x8c], al
call fcn.00462b50
push 0x61
lea ecx, [esp + 0x84]
mov byte [esp + 0x8d], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x84]
mov byte [esp + 0x8e], al
call fcn.00462b50
push 0x61
lea ecx, [esp + 0x84]
mov byte [esp + 0x8f], al
call fcn.00462b50
push 0x20
lea ecx, [esp + 0x84]
mov byte [esp + 0x90], al
call fcn.00462b50
push 0x73
lea ecx, [esp + 0x84]
mov byte [esp + 0x91], al
call fcn.00462b50
push 0x74
lea ecx, [esp + 0x84]
mov byte [esp + 0x92], al
call fcn.00462b50
push 0x72
lea ecx, [esp + 0x84]
mov byte [esp + 0x93], al
call fcn.00462b50
push 0x65
lea ecx, [esp + 0x84]
mov byte [esp + 0x94], al
call fcn.00462b50
push 0x61
lea ecx, [esp + 0x84]
mov byte [esp + 0x95], al
call fcn.00462b50
push 0x6d
lea ecx, [esp + 0x84]
mov byte [esp + 0x96], al
call fcn.00462b50
push 0x2e
lea ecx, [esp + 0x84]
mov byte [esp + 0x97], al
call fcn.00462b50
mov byte [esp + 0x94], al
mov byte [esp + 0x95], 0
xor esi, esi
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x85]
call fcn.0044a8f0
lea ecx, [esp + 0x80]
movzx eax, byte [eax]
push eax
call fcn.00462b50
push esi
lea ecx, [esp + 0x85]
mov byte [esp + 0x12], al
call fcn.0044a8f0
mov cl, byte [esp + 0xe]
inc esi
mov byte [eax], cl
cmp esi, 0x14
jb 0x4614d0
push 0x14
lea ecx, [esp + 0x85]
call fcn.0044a8f0
lea ecx, [esp + 0x81]
mov byte [eax], 0
call fcn.0044a8e0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00447010
mov ecx, dword [0x542ea0]
call fcn.0045d400
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f00
push 0
mov dword [0x5433fc], eax
call esi
push 0x7f00
push 0
mov dword [0x5433f0], eax
call esi
push dword [0x5433fc]
mov edi, dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x5433ec], eax
call edi
mov eax, dword [0x542ea0]
add eax, 0x2c
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 1
call fcn.004b40ad
xorps xmm0, xmm0
mov dword [0x542fb4], eax
add esp, 4
movaps xmmword [esp + 0xad0], xmm0
movq qword [esp + 0xae0], xmm0
mov dword [esp + 0xae8], 0
nop dword [eax]
push 1
push 0
push 0
push 0
lea eax, [esp + 0xae0]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x4615fb
lea eax, [esp + 0xad0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0xad0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x4618e3
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x461610
push dword [0x5433ec]
jmp 0x461616
push dword [0x5433fc]
call edi
mov eax, dword [0x543410]
push 0
push 7
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x543410]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x543410]
push 0
push 0xae
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xe4]
call eax
mov eax, dword [0x543410]
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 [0x543410]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa4]
call eax
test eax, eax
js 0x4618a0
mov eax, dword [0x542ea0]
mov dword [0x542fe0], 0
push 0x10
movzx ecx, byte [eax + 0x290]
mov eax, 0x51eb851f
imul ecx, dword [0x542fa4]
mov dword [0x542fe4], 0
mul ecx
mov eax, dword [0x542fa8]
mov dword [0x542fec], eax
mov eax, dword [0x542fac]
shr edx, 5
mov dword [0x542fe8], edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x542fac]
push 0xffffffffffffffff
push 0x543400
push 0
mov ecx, dword [eax]
push 0
push dword [0x542ff0]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [0x542fac]
mov ecx, dword [0x542eac]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46171b
mov eax, dword [0x542ea8]
jmp 0x46172a
mov eax, dword [0x542ed0]
cmp ecx, 2
cmove eax, dword [0x542ff4]
push 0xffffffffffffffff
push 0x53eb74
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x542fac]
mov ecx, dword [0x542eb4]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x461755
mov eax, dword [0x542e9c]
jmp 0x461764
mov eax, dword [0x542e98]
cmp ecx, 2
cmove eax, dword [0x542ef4]
push 0xffffffffffffffff
push 0x53ebc8
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x542fac]
mov ecx, dword [0x542eb8]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46178f
mov eax, dword [0x542f88]
jmp 0x46179e
mov eax, dword [0x542ee0]
cmp ecx, 2
cmove eax, dword [0x542ea4]
push 0xffffffffffffffff
push 0x53eba4
push 0
push 0
push eax
push edx
call esi
mov eax, dword [0x542fac]
push 0xffffffffffffffff
push 0x53eb94
push 0
mov ecx, dword [eax]
push 0
push dword [0x542fb0]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x542fac]
push 0xffffffffffffffff
push 0x53eb94
push 0
mov ecx, dword [eax]
push 0x542fe0
push dword [0x542fb8]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [0x542fac]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2c]
call eax
mov eax, dword [0x542ea0]
lea ecx, [esp + 0x5d8]
mov esi, dword [0x542ec8]
add eax, 0x278
push eax
call fcn.00447050
lea ecx, [esp + 0x5d8]
call fcn.00443440
mov edx, esi
mov ecx, eax
call fcn.0045e180
lea ecx, [esp + 0x5d8]
call fcn.00443450
mov eax, dword [0x542fbc]
lea ecx, [esp + 0x5f0]
mov dword [0x542ee4], eax
mov eax, dword [0x542ec8]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
mov eax, dword [0x542ea0]
add eax, 0x278
push eax
call fcn.00447050
lea ecx, [esp + 0x5f0]
call fcn.00443440
push 0xffffffffffffffff
push 0
push 0x542ee4
push 0xffffffffffffffff
push eax
push 0
push dword [0x542ec8]
call esi
lea ecx, [esp + 0x5f0]
call fcn.00443450
mov eax, dword [0x543410]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xa8]
call eax
mov ecx, dword [0x543410]
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 0x4618e3
mov eax, dword [0x543410]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0x88760869
jne 0x4618e3
mov eax, dword [0x543410]
push 0x54341c
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x40]
call eax
cmp dword [esp + 0xad4], 0x12
jne 0x4615c0
call fcn.00461cb0
push dword [esp + 0x200]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0xa9c]
push dword [esp + 0xab4]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov esi, dword [esp + 0xad8]
lea ecx, [esp + 0xab8]
call fcn.00443450
mov ecx, dword [esp + 0xb1c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.004b409a
mov esp, ebp
pop ebp
ret 0x10