Function at 0x14003be78
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1aa0
call fcn.1402148b0
sub rsp, rax
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rsp + 0x1a90], rax
mov dword [rsp + 0x9c], r8d
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x78], rcx
xor r12d, r12d
lea rax, [rsp + 0xf30]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xf30], xmm0
mov qword [rsp + 0xf40], r12
lea r15d, [r12 + 0xf]
mov qword [rsp + 0xf48], r15
mov byte [rsp + 0xf30], r12b
xor eax, eax
mov qword [rsp + 0xf50], rax
lea rbx, [0x14006b26c]
lea edi, [rax + 1]
cmp byte [0x1406a3910], r12b
jne 0x14003bf18
mov qword [0x1406a3908], rbx
mov byte [0x1406a3910], dil
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xe8], r15
mov byte [rsp + 0xd0], r12b
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x50], rax
mov esi, 8
cmp byte [0x1406a2d01], r12b
jne 0x14003bf96
movabs rdx, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea r8, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r10d, 0xffffffff
mov rax, rdx
xor rax, r9
mov qword [rcx], rax
sub rdx, r10
add rcx, rsi
cmp rcx, r8
jl 0x14003bf7b
mov byte [0x1406a2d01], dil
movabs r14, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r14
movabs rdx, 0xaebdccdb0a192837
mov r11, rdx
mov qword [rsp + 0x40], r12
mov eax, r12d
mov cl, r12b
xor cl, 0xae
mov byte [rsp + 0x40], cl
add eax, edi
cmp eax, esi
jb 0x14003bfbd
mov r10b, r12b
mov r9d, r12d
mov r8, r12
xor r11, rdx
mov qword [rsp + 0x38], r11
mov al, byte [rsp + r8 + 0x38]
xor byte [rsp + r8 + 0x30], al
lea eax, [r9*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rax, r12
xor r10b, dil
cmovne rax, qword [rsp + 0x40]
shl rax, cl
xor rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
add r9d, edi
add r8, rdi
cmp r9d, esi
movabs rdx, 0xaebdccdb0a192837
jb 0x14003bfd3
and rax, r14
xor rax, 0xffffffffffff52ad
mov qword [rsp + 0xf50], rax
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0xf30]
call fcn.14000a2a0
nop
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0x10
jb 0x14003c096
inc rdx
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c091
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c091
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xe8], r15
mov byte [rsp + 0xd0], r12b
cmp byte [0x1406a3911], r12b
jne 0x14003c0c5
mov qword [0x1406a3908], rbx
mov byte [0x1406a3911], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x1170], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1180], xmm1
mov r8d, 0x19
lea rdx, str.http:__mtcheats.com_login
lea rcx, [rsp + 0x1170]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0xf10], xmm0
mov qword [rsp + 0xf20], r12
mov qword [rsp + 0xf28], r12
lea rdx, [rsp + 0x1170]
cmp qword [rsp + 0x1188], 0x10
cmovae rdx, qword [rsp + 0x1170]
mov r8, qword [rsp + 0x1180]
lea rcx, [rsp + 0xf10]
call fcn.140004c7c
mov r13, qword [rsp + 0xf20]
lea r15, [rsp + 0xf10]
cmp qword [rsp + 0xf28], 0x10
cmovae r15, qword [rsp + 0xf10]
cmp byte [0x1406a2b50], r12b
jne 0x14003c467
mov r14, r12
lea r12, [0x140000000]
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c196
imul rbx, rax, 0x64
jmp 0x14003c1b2
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
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r14 + r12 + 0x6a2b60], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c210
imul rbx, rax, 0x64
jmp 0x14003c22c
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
add rax, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r14 + r12 + 0x6a2be0], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c28a
imul rbx, rax, 0x64
jmp 0x14003c2a6
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
add rax, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r14 + r12 + 0x6a2c60], rax
add r14, rsi
cmp r14, 0x80
jl 0x14003c17a
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c314
imul rbx, rax, 0x64
jmp 0x14003c330
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor r14d, r14d
lea r12, [0x1406a2ce0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003c34e
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r14d, edi
add r12, rdi
cmp r14d, 4
jb 0x14003c33a
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c389
imul rbx, rax, 0x64
jmp 0x14003c3a5
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor r14d, r14d
lea r12, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003c3c3
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r14d, edi
add r12, rdi
cmp r14d, esi
jb 0x14003c3af
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14003c3fd
imul rbx, rax, 0x64
jmp 0x14003c419
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor r14d, r14d
lea r12, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003c437
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r14d, edi
add r12, rdi
cmp r14d, 0xc
jb 0x14003c423
mov byte [0x1406a2b50], dil
movabs r14, 0xfae9e8d7c6b5a493
lea r12, [0x140000000]
test r13, r13
je 0x14003c543
xor ebx, ebx
test r13, r13
je 0x14003c543
xor r8d, r8d
mov dl, byte [r15]
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 [r15], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003c495
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003c48f
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 [r15], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003c4cf
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003c4c9
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 [r15], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003c508
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003c502
add ebx, edi
add r15, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003c482
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
xor r13d, r13d
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
lea rdx, [rsp + 0xf10]
cmp qword [rsp + 0xf28], 0x10
cmovae rdx, qword [rsp + 0xf10]
mov r8, qword [rsp + 0xf20]
lea rcx, [rsp + 0xa0]
call fcn.140004c7c
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rcx, qword [rsp + 0xa0]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r13b
jne 0x14003c606
movabs r8, 0xfeeddccbbaa99887
mov rdx, rbx
lea r9, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r11d, 0xffffffff
mov rax, r8
xor rax, r10
mov qword [rdx], rax
sub r8, r11
add rdx, rsi
cmp rdx, r9
jl 0x14003c5eb
mov byte [0x1406a2d01], dil
mov qword [rsp + 0x30], r14
mov r11d, r13d
mov r9, r14
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x14003c65a
mov r10, rcx
mov r9d, r13d
mov dl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], dl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003c62c
not dl
movzx eax, dl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003c621
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rcx]
cmp r8, rdi
jbe 0x14003c674
mov bl, byte [rcx + r8 - 1]
jmp 0x14003c676
mov bl, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r8
mov eax, r13d
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x40], cl
xor dl, bl
mov byte [rsp + 0x38], dl
add eax, edi
cmp eax, esi
jb 0x14003c689
mov r15b, r13b
mov r10d, r13d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor r15b, dil
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003c6ad
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r12
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rsp + 0xf50], rcx
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xf30]
call fcn.14000a2a0
nop
mov rdx, qword [rsp + 0xb8]
mov ebx, 0x1000
cmp rdx, 0x10
jb 0x14003c7aa
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, rbx
jb 0x14003c7a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c7a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
xor r15d, r15d
mov qword [rsp + 0xb0], r15
lea r14d, [r15 + 0xf]
mov qword [rsp + 0xb8], r14
mov byte [rsp + 0xa0], r15b
mov rdx, qword [rsp + 0xf28]
cmp rdx, 0x10
jb 0x14003c80b
inc rdx
mov rcx, qword [rsp + 0xf10]
mov rax, rcx
cmp rdx, rbx
jb 0x14003c806
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c806
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rsp + 0xf20], r15
mov qword [rsp + 0xf28], r14
mov byte [rsp + 0xf10], r15b
mov rdx, qword [rsp + 0x1188]
cmp rdx, 0x10
jb 0x14003c865
inc rdx
mov rcx, qword [rsp + 0x1170]
mov rax, rcx
cmp rdx, rbx
jb 0x14003c860
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003c860
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
movdqa xmm0, xmmword [0x140220b70]
movdqu xmmword [rsp + 0x1180], xmm0
mov byte [rsp + 0x1170], r15b
lea rdx, [rsp + 0xf30]
mov r13, qword [rsp + 0xf30]
cmp qword [rsp + 0xf48], 0x10
cmovae rdx, r13
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r15b
jne 0x14003c8e9
movabs r8, 0xfeeddccbbaa99887
mov rcx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
mov eax, 0xffffffff
sub r8, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003c8c2
mov byte [0x1406a2d01], dil
movabs r9, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r9
mov r11d, r15d
mov r8, qword [rsp + 0xf40]
test r8, r8
je 0x14003c944
mov r10, rdx
mov r9d, r15d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003c916
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003c90b
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rdx]
cmp r8, rdi
jbe 0x14003c95e
mov bl, byte [r8 + rdx - 1]
jmp 0x14003c960
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
mov eax, r15d
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003c973
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003c98c
movzx eax, bl
imul rbx, rax, 0xff
not rbx
mov rax, r12
shl rax, 7
sub rbx, rax
and rdx, r9
xor rbx, rdx
mov r14, qword [rsp + 0xf50]
cmp rbx, r14
je 0x14003ca82
mov r15, qword [0x1406a3908]
mov edx, 3
lea rcx, [rsp + 0x788]
call fcn.14002d52c
mov qword [rsp + 0x7b0], r14
mov qword [rsp + 0x7b8], rbx
lea rdx, [rsp + 0xf30]
lea rcx, [rsp + 0x788]
call r15
mov r8, qword [rsp + 0xf40]
mov r13, qword [rsp + 0xf30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x1190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x11a0], xmm1
lea rdx, [rsp + 0xf30]
cmp qword [rsp + 0xf48], 0x10
cmovae rdx, r13
lea rcx, [rsp + 0x1190]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0xfa8], xmm0
xor r12d, r12d
mov qword [rsp + 0xfb8], r12
mov qword [rsp + 0xfc0], r12
lea rdx, [rsp + 0x1190]
cmp qword [rsp + 0x11a8], 0x10
cmovae rdx, qword [rsp + 0x1190]
mov r8, qword [rsp + 0x11a0]
lea rcx, [rsp + 0xfa8]
call fcn.140004c7c
mov r13, qword [rsp + 0xfb8]
lea r14, [rsp + 0xfa8]
cmp qword [rsp + 0xfc0], 0x10
cmovae r14, qword [rsp + 0xfa8]
cmp byte [0x1406a2b50], r12b
jne 0x14003cd30
mov r15d, r12d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x748]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x758]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003cb42
lea rcx, [rsp + 0x58]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003cc76
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003cc62
lea rcx, [rsp + 0x1d8]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003ccc2
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003ccae
lea rcx, [rsp + 0x1e0]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003cd0a
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003ccf6
mov byte [0x1406a2b50], dil
xor r12d, r12d
test r13, r13
je 0x14003ce04
mov ebx, r12d
lea r15, [0x140000000]
mov r10d, r12d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
mov r8d, r12d
mov r9, r12
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003cd56
add r10d, edi
add r11, rdi
cmp r10d, 4
jb 0x14003cd50
mov r10d, r12d
lea r11, [0x1406a2ce8]
mov r8d, r12d
mov r9, r12
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003cd90
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003cd8a
mov r8d, r12d
lea r9, [0x1406a2cf0]
mov r10d, r12d
mov r11, r12
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003cdc9
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003cdc3
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003cd43
mov rdx, qword [rsp + 0x11a8]
cmp rdx, 0x10
jb 0x14003ce4a
inc rdx
mov rcx, qword [rsp + 0x1190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ce45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003ce45
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
movdqa xmm0, xmmword [0x140220b70]
movdqu xmmword [rsp + 0x11a0], xmm0
mov byte [rsp + 0x1190], r12b
xor r8d, r8d
lea rdx, [rsp + 0xfa8]
lea rcx, [rsp + 0x1980]
call fcn.14002c670
nop
mov rdx, qword [rsp + 0xfc0]
cmp rdx, 0x10
jb 0x14003cec2
inc rdx
mov rcx, qword [rsp + 0xfa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cebd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003cebd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rsp + 0xfb8], r12
mov qword [rsp + 0xfc0], 0xf
mov byte [rsp + 0xfa8], r12b
lea rcx, [rsp + 0xf30]
call fcn.14002f208
xorps xmm0, xmm0
movups xmmword [rsp + 0x1b8], xmm0
movups xmmword [rsp + 0x1c8], xmm0
lea rcx, [rsp + 0x1b8]
call fcn.14002bc5c
nop
lea rax, [rsp + 0xf58]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xf58], xmm0
mov qword [rsp + 0xf68], r12
mov qword [rsp + 0xf70], r12
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0xf58]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rsp + 0xf78], rax
cmp byte [0x1406a3910], r12b
jne 0x14003cf74
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], r12
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0xf0]
call fcn.140004b9c
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0xf0]
cmp qword [rsp + 0x108], 0x10
cmovae rcx, qword [rsp + 0xf0]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r12b
jne 0x14003d01b
movabs r8, 0xfeeddccbbaa99887
mov rdx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rdx], rax
mov eax, 0xffffffff
sub r8, rax
add rdx, rsi
lea rax, [0x1406a3908]
cmp rdx, rax
jl 0x14003cff4
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
mov r11d, r12d
mov r9, rax
mov r8, qword [rsp + 0x100]
test r8, r8
je 0x14003d079
mov r10, rcx
mov r9d, r12d
mov dl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], dl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003d04b
not dl
movzx eax, dl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003d040
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rcx]
cmp r8, rdi
jbe 0x14003d093
mov bl, byte [rcx + r8 - 1]
jmp 0x14003d095
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003d0a7
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003d0cb
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r12
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0xf78], rcx
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xf58]
call fcn.14000a2a0
nop
lea rcx, [rsp + 0xf0]
call fcn.1400099b4
nop
xor r12d, r12d
cmp byte [0x1406a3911], r12b
jne 0x14003d1b0
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x1290], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x12a0], xmm1
mov r8d, 3
lea rdx, [0x140222fb4]
lea rcx, [rsp + 0x1290]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0xfc8], xmm0
mov qword [rsp + 0xfd8], r12
mov qword [rsp + 0xfe0], r12
lea rdx, [rsp + 0x1290]
cmp qword [rsp + 0x12a8], 0x10
cmovae rdx, qword [rsp + 0x1290]
mov r8, qword [rsp + 0x12a0]
lea rcx, [rsp + 0xfc8]
call fcn.140004c7c
mov r13, qword [rsp + 0xfd8]
lea r14, [rsp + 0xfc8]
cmp qword [rsp + 0xfe0], 0x10
cmovae r14, qword [rsp + 0xfc8]
cmp byte [0x1406a2b50], r12b
jne 0x14003d453
mov r15, r12
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x1f0]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x200]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003d265
lea rcx, [rsp + 0x58]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003d399
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003d385
lea rcx, [rsp + 0x210]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003d3e5
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003d3d1
lea rcx, [rsp + 0x218]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003d42d
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003d419
mov byte [0x1406a2b50], dil
xor r12d, r12d
test r13, r13
je 0x14003d527
mov ebx, r12d
lea r15, [0x140000000]
mov r8d, r12d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
mov r9d, r12d
mov r10, r12
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003d479
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003d473
mov r10d, r12d
lea r11, [0x1406a2ce8]
mov r8d, r12d
mov r9, r12
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003d4b3
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003d4ad
mov r8d, r12d
lea r9, [0x1406a2cf0]
mov r10d, r12d
mov r11, r12
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003d4ec
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003d4e6
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003d466
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x128], r12
lea rdx, [rsp + 0xfc8]
cmp qword [rsp + 0xfe0], 0x10
cmovae rdx, qword [rsp + 0xfc8]
mov r8, qword [rsp + 0xfd8]
lea rcx, [rsp + 0x110]
call fcn.140004c7c
lea rax, [rsp + 0x110]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x110]
cmp qword [rsp + 0x128], 0x10
cmovae rcx, qword [rsp + 0x110]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r12b
jne 0x14003d5e6
movabs r8, 0xfeeddccbbaa99887
mov rdx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rdx], rax
mov eax, 0xffffffff
sub r8, rax
add rdx, rsi
lea rax, [0x1406a3908]
cmp rdx, rax
jl 0x14003d5bf
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
mov r11d, r12d
mov r9, rax
mov r8, qword [rsp + 0x120]
test r8, r8
je 0x14003d644
mov r10, rcx
mov r9d, r12d
mov dl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], dl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003d616
not dl
movzx eax, dl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003d60b
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rcx]
cmp r8, rdi
jbe 0x14003d65e
mov bl, byte [rcx + r8 - 1]
jmp 0x14003d660
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003d672
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003d696
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r12
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0xf78], rcx
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xf58]
call fcn.14000a2a0
nop
lea rcx, [rsp + 0x110]
call fcn.1400099b4
nop
lea rcx, [rsp + 0xfc8]
call fcn.1400099b4
nop
lea rcx, [rsp + 0x1290]
call fcn.1400099b4
nop
lea rdx, [rsp + 0xf58]
mov r13, qword [rsp + 0xf58]
cmp qword [rsp + 0xf70], 0x10
cmovae rdx, r13
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003d7e1
movabs r8, 0xfeeddccbbaa99887
mov rcx, r14
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
mov eax, 0xffffffff
sub r8, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003d7ba
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor ebx, ebx
mov r10, rax
mov r9, qword [rsp + 0xf68]
test r9, r9
je 0x14003d83d
mov r11, rdx
xor r8d, r8d
mov cl, byte [r11]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r8d, edi
add rax, rdi
cmp r8d, esi
jb 0x14003d810
not cl
movzx eax, cl
mov r10, qword [rsp + 0x30]
xor r10, qword [r14 + rax*8]
mov qword [rsp + 0x30], r10
add ebx, edi
add r11, rdi
movsxd rax, ebx
cmp rax, r9
jb 0x14003d805
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rdx]
cmp r9, rdi
jbe 0x14003d857
mov bl, byte [rdx + r9 - 1]
jmp 0x14003d859
mov bl, 0xae
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r9
xor eax, eax
mov cl, r9b
mov dl, r9b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003d86b
xor r15b, r15b
xor r8d, r8d
xor r11d, r11d
mov eax, r8d
test r8d, r8d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r9*8]
div rcx
mov rcx, rdx
mov rax, r9
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r8*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r8d, edi
add r11, rdi
cmp r8d, esi
jb 0x14003d887
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r12
shl rax, 7
sub r8, rax
and rdx, r10
xor r8, rdx
mov rdx, qword [rsp + 0xf78]
cmp r8, rdx
je 0x14003d962
mov rbx, qword [0x1406a3908]
lea rcx, [rsp + 0xd90]
call fcn.14002d4ec
lea rdx, [rsp + 0xf58]
mov rcx, rax
call rbx
mov r9, qword [rsp + 0xf68]
mov r13, qword [rsp + 0xf58]
xorps xmm0, xmm0
movups xmmword [rsp + 0x1270], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1280], xmm1
lea rdx, [rsp + 0xf58]
cmp qword [rsp + 0xf70], 0x10
cmovae rdx, r13
mov r8, r9
lea rcx, [rsp + 0x1270]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0xfe8], xmm0
xor r12d, r12d
mov qword [rsp + 0xff8], r12
mov qword [rsp + 0x1000], r12
lea rdx, [rsp + 0x1270]
cmp qword [rsp + 0x1288], 0x10
cmovae rdx, qword [rsp + 0x1270]
mov r8, qword [rsp + 0x1280]
lea rcx, [rsp + 0xfe8]
call fcn.140004c7c
mov r13, qword [rsp + 0xff8]
lea r14, [rsp + 0xfe8]
cmp qword [rsp + 0x1000], 0x10
cmovae r14, qword [rsp + 0xfe8]
cmp byte [0x1406a2b50], r12b
jne 0x14003dc13
mov r15d, r12d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x228]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x238]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003da25
lea rcx, [rsp + 0x58]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003db59
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003db45
lea rcx, [rsp + 0x248]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003dba5
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003db91
lea rcx, [rsp + 0x250]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003dbed
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003dbd9
mov byte [0x1406a2b50], dil
xor r12d, r12d
test r13, r13
je 0x14003dce7
mov ebx, r12d
lea r15, [0x140000000]
mov r8d, r12d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
mov r9d, r12d
mov r10, r12
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003dc39
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003dc33
mov r10d, r12d
lea r11, [0x1406a2ce8]
mov r8d, r12d
mov r9, r12
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003dc73
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003dc6d
mov r8d, r12d
lea r9, [0x1406a2cf0]
mov r10d, r12d
mov r11, r12
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003dcac
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003dca6
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003dc26
lea rcx, [rsp + 0x1270]
call fcn.1400099b4
nop
lea rdx, [rsp + 0xfe8]
cmp qword [rsp + 0x1000], 0x10
cmovae rdx, qword [rsp + 0xfe8]
lea rcx, [rsp + 0xa98]
call fcn.14002b89c
mov rdx, rax
lea rcx, [rsp + 0x1b8]
call fcn.1400692f0
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xf80]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xf80], xmm0
mov qword [rsp + 0xf90], r12
mov qword [rsp + 0xf98], r12
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0xf80]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rsp + 0xfa0], rax
cmp byte [0x1406a3910], r12b
jne 0x14003dd99
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], r12
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x130]
call fcn.140004b9c
lea rax, [rsp + 0x130]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x130]
cmp qword [rsp + 0x148], 0x10
cmovae rcx, qword [rsp + 0x130]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r12b
jne 0x14003de43
movabs r8, 0xfeeddccbbaa99887
mov rdx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rdx], rax
mov eax, 0xffffffff
sub r8, rax
add rdx, rsi
lea rax, [0x1406a3908]
cmp rdx, rax
jl 0x14003de1c
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
mov r11d, r12d
mov r9, rax
mov r8, qword [rsp + 0x140]
test r8, r8
je 0x14003dea1
mov r10, rcx
mov r9d, r12d
mov dl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], dl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003de73
not dl
movzx eax, dl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003de68
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rcx]
cmp r8, rdi
jbe 0x14003debb
mov bl, byte [rcx + r8 - 1]
jmp 0x14003debd
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003decf
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003def3
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r12
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rsp + 0xfa0], rcx
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0xf80]
call fcn.14000a2a0
nop
lea rcx, [rsp + 0x130]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
jne 0x14003dfd5
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x1470], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1480], xmm1
mov r8d, 3
lea rdx, [0x140222fb8]
lea rcx, [rsp + 0x1470]
call fcn.140004b9c
nop
lea rdx, [rsp + 0x1470]
lea rcx, [rsp + 0x1450]
call fcn.14002b864
mov r13, qword [rsp + 0x1460]
lea r14, [rsp + 0x1450]
cmp qword [rsp + 0x1468], 0x10
cmovae r14, qword [rsp + 0x1450]
cmp byte [0x1406a2b50], 0
jne 0x14003e240
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x260]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x270]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003e055
lea rcx, [rsp + 0x58]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e189
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003e175
lea rcx, [rsp + 0x280]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e1d5
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003e1c1
lea rcx, [rsp + 0x288]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e21d
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003e209
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14003e31c
xor ebx, ebx
test r13, r13
je 0x14003e31c
lea r15, [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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003e26e
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003e268
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003e2a8
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e2a2
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e2e1
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003e2db
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003e25b
lea rdx, [rsp + 0x1450]
lea rcx, [rsp + 0xab8]
call fcn.14002b864
mov rbx, rax
mov qword [rsp + 0x90], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14003e34d
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003e39b
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003e374
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14003e3f1
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003e3c3
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003e3b8
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14003e40b
mov r14b, byte [r8 + rdx - 1]
jmp 0x14003e40e
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003e420
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x58], r15
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e43d
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0xfa0], rcx
mov rdx, rbx
lea rcx, [rsp + 0xf80]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
lea rcx, [rsp + 0x1450]
call fcn.1400099b4
nop
lea rcx, [rsp + 0x1470]
call fcn.1400099b4
nop
lea rdx, [rsp + 0xf80]
cmp qword [rsp + 0xf98], 0x10
cmovae rdx, qword [rsp + 0xf80]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003e581
movabs r8, 0xfeeddccbbaa99887
mov rcx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
mov eax, 0xffffffff
sub r8, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003e55a
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
mov r8, qword [rsp + 0xf90]
test r8, r8
je 0x14003e5df
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003e5b1
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003e5a6
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rdx]
cmp r8, rdi
jbe 0x14003e5f9
mov bl, byte [r8 + rdx - 1]
jmp 0x14003e5fb
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003e60d
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x58], r14
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e631
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r12
shl rax, 7
sub r8, rax
and rdx, r9
xor r8, rdx
mov rdx, qword [rsp + 0xfa0]
cmp r8, rdx
je 0x14003e6f7
mov rbx, qword [0x1406a3908]
lea rcx, [rsp + 0xdc8]
call fcn.14002d4ec
lea rdx, [rsp + 0xf80]
mov rcx, rax
call rbx
lea rdx, [rsp + 0xf80]
lea rcx, [rsp + 0x14b0]
call fcn.14002b864
nop
lea rdx, [rsp + 0x14b0]
lea rcx, [rsp + 0x1230]
call fcn.14002b864
mov r13, qword [rsp + 0x1240]
lea r14, [rsp + 0x1230]
cmp qword [rsp + 0x1248], 0x10
cmovae r14, qword [rsp + 0x1230]
cmp byte [0x1406a2b50], 0
jne 0x14003e946
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x298]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x2a8]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003e75b
lea rcx, [rsp + 0x58]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e88f
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003e87b
lea rcx, [rsp + 0x2b8]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e8db
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003e8c7
lea rcx, [rsp + 0x2c0]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003e923
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003e90f
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14003ea22
xor ebx, ebx
test r13, r13
je 0x14003ea22
lea r15, [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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003e974
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003e96e
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003e9ae
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e9a8
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003e9e7
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003e9e1
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003e961
lea rcx, [rsp + 0x14b0]
call fcn.1400099b4
nop
lea rdx, [rsp + 0x1230]
cmp qword [rsp + 0x1248], 0x10
cmovae rdx, qword [rsp + 0x1230]
lea rcx, [rsp + 0xad8]
call fcn.14002b89c
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.140069558
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x6c0]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x1030]
mov qword [rsp + 0x58], rax
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x1030]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rsp + 0x1050], rax
cmp byte [0x1406a3910], al
jne 0x14003eac2
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], dil
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x818]
call fcn.14002b89c
mov rbx, rax
mov qword [rsp + 0x60], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14003eaef
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003eb3d
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003eb16
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14003eb93
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003eb65
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003eb5a
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14003ebad
mov r14b, byte [r8 + rdx - 1]
jmp 0x14003ebb0
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003ebc2
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x50], r15
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003ebdf
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0x1050], rcx
mov rdx, rbx
lea rcx, [rsp + 0x1030]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
jne 0x14003ecbd
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], dil
lea rdx, [0x14021dd94]
lea rcx, [rsp + 0x16b0]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rsp + 0x1350]
call fcn.14002b864
mov r13, qword [rsp + 0x1360]
lea r14, [rsp + 0x1350]
cmp qword [rsp + 0x1368], 0x10
cmovae r14, qword [rsp + 0x1350]
cmp byte [0x1406a2b50], 0
jne 0x14003ef06
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x2d0]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x2e0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003ed1b
lea rcx, [rsp + 0x50]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003ee4f
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003ee3b
lea rcx, [rsp + 0x2f0]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003ee9b
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003ee87
lea rcx, [rsp + 0x2f8]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003eee3
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003eecf
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14003efe2
xor ebx, ebx
test r13, r13
je 0x14003efe2
lea r15, [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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003ef34
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003ef2e
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003ef6e
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003ef68
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003efa7
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003efa1
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003ef21
lea rdx, [rsp + 0x1350]
lea rcx, [rsp + 0x838]
call fcn.14002b864
mov rbx, rax
mov qword [rsp + 0x60], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14003f010
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003f05e
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003f037
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14003f0b4
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003f086
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003f07b
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14003f0ce
mov r14b, byte [r8 + rdx - 1]
jmp 0x14003f0d1
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003f0e3
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x50], r15
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003f100
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rsp + 0x1050], rcx
mov rdx, rbx
lea rcx, [rsp + 0x1030]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
lea rcx, [rsp + 0x1350]
call fcn.1400099b4
nop
lea rcx, [rsp + 0x16b0]
call fcn.1400099b4
nop
lea rdx, [rsp + 0x1030]
cmp qword [rsp + 0x1048], 0x10
cmovae rdx, qword [rsp + 0x1030]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003f244
movabs r8, 0xfeeddccbbaa99887
mov rcx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
mov eax, 0xffffffff
sub r8, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003f21d
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
mov r8, qword [rsp + 0x1040]
test r8, r8
je 0x14003f2a2
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003f274
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003f269
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rdx]
cmp r8, rdi
jbe 0x14003f2bc
mov bl, byte [r8 + rdx - 1]
jmp 0x14003f2be
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003f2d0
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x50], r14
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003f2f4
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r12
shl rax, 7
sub r8, rax
and r9, rdx
xor r8, r9
mov rdx, qword [rsp + 0x1050]
cmp r8, rdx
je 0x14003f3ba
mov rbx, qword [0x1406a3908]
lea rcx, [rsp + 0xbd0]
call fcn.14002d4ec
lea rdx, [rsp + 0x1030]
mov rcx, rax
call rbx
lea rdx, [rsp + 0x1030]
lea rcx, [rsp + 0x1650]
call fcn.14002b864
nop
lea rdx, [rsp + 0x1650]
lea rcx, [rsp + 0x150]
call fcn.14002b864
mov r13, qword [rsp + 0x160]
lea r14, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae r14, qword [rsp + 0x150]
cmp byte [0x1406a2b50], 0
jne 0x14003f609
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x308]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x318]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003f41e
lea rcx, [rsp + 0x50]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f552
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003f53e
lea rcx, [rsp + 0x328]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f59e
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003f58a
lea rcx, [rsp + 0x330]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f5e6
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003f5d2
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14003f6e5
xor ebx, ebx
test r13, r13
je 0x14003f6e5
lea r15, [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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, esi
jb 0x14003f637
add r8d, edi
add r11, rdi
cmp r8d, 4
jb 0x14003f631
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003f671
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003f66b
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003f6aa
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003f6a4
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003f624
lea rcx, [rsp + 0x1650]
call fcn.1400099b4
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x6c0]
call fcn.14002b304
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x1008]
mov qword [rsp + 0x60], rax
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x1008]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rsp + 0x1028], rax
cmp byte [0x1406a3910], al
jne 0x14003f755
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], dil
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x878]
call fcn.14002b89c
mov rbx, rax
mov qword [rsp + 0x80], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14003f785
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003f7d3
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003f7ac
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14003f829
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003f7fb
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003f7f0
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14003f843
mov r14b, byte [r8 + rdx - 1]
jmp 0x14003f846
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003f858
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x50], r15
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003f875
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rsp + 0x1028], rcx
mov rdx, rbx
lea rcx, [rsp + 0x1008]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
jne 0x14003f953
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], dil
lea rdx, str.register
lea rcx, [rsp + 0x16f0]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rsp + 0x1430]
call fcn.14002b864
mov r13, qword [rsp + 0x1440]
lea r14, [rsp + 0x1430]
cmp qword [rsp + 0x1448], 0x10
cmovae r14, qword [rsp + 0x1430]
cmp byte [0x1406a2b50], 0
jne 0x14003fb9c
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x340]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x350]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x14003f9b1
lea rcx, [rsp + 0x50]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003fae5
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x14003fad1
lea rcx, [rsp + 0x360]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003fb31
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x14003fb1d
lea rcx, [rsp + 0x368]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003fb79
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14003fb65
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14003fc78
xor ebx, ebx
test r13, r13
je 0x14003fc78
lea r15, [0x140000000]
xor r10d, r10d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003fbca
add r10d, edi
add r11, rdi
cmp r10d, 4
jb 0x14003fbc4
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14003fc04
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003fbfe
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003fc3d
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14003fc37
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x14003fbb7
lea rdx, [rsp + 0x1430]
lea rcx, [rsp + 0x7d8]
call fcn.14002b864
mov rbx, rax
mov qword [rsp + 0x80], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14003fca9
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003fcf7
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003fcd0
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14003fd4d
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003fd1f
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003fd14
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14003fd67
mov r14b, byte [r8 + rdx - 1]
jmp 0x14003fd6a
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003fd7c
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x50], r15
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003fd99
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0x1028], rcx
mov rdx, rbx
lea rcx, [rsp + 0x1008]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
lea rcx, [rsp + 0x1430]
call fcn.1400099b4
nop
lea rcx, [rsp + 0x16f0]
call fcn.1400099b4
nop
lea rdx, [rsp + 0x1008]
cmp qword [rsp + 0x1020], 0x10
cmovae rdx, qword [rsp + 0x1008]
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x14003fedd
movabs r8, 0xfeeddccbbaa99887
mov rcx, rbx
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
mov eax, 0xffffffff
sub r8, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x14003feb6
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
mov r8, qword [rsp + 0x1018]
test r8, r8
je 0x14003ff3b
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x14003ff0d
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x14003ff02
movabs r14, 0xaebdccdb0a192837
movzx r12d, byte [rdx]
cmp r8, rdi
jbe 0x14003ff55
mov bl, byte [r8 + rdx - 1]
jmp 0x14003ff57
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
mov byte [rsp + 0x38], cl
xor dl, bl
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x14003ff69
xor r15b, r15b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r14, rax
movabs rax, 0xaebdccdb0a192837
xor r14, rax
mov qword [rsp + 0x50], r14
mov al, byte [rsp + r11 + 0x50]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r15b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x14003ff8d
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r12
shl rax, 7
sub r8, rax
and rdx, r9
xor r8, rdx
mov rdx, qword [rsp + 0x1028]
cmp r8, rdx
je 0x140040053
mov rbx, qword [0x1406a3908]
lea rcx, [rsp + 0xc08]
call fcn.14002d4ec
lea rdx, [rsp + 0x1008]
mov rcx, rax
call rbx
lea rdx, [rsp + 0x1008]
lea rcx, [rsp + 0x1630]
call fcn.14002b864
nop
lea rdx, [rsp + 0x1630]
lea rcx, [rsp + 0x1250]
call fcn.14002b864
mov r13, qword [rsp + 0x1260]
lea r14, [rsp + 0x1250]
cmp qword [rsp + 0x1268], 0x10
cmovae r14, qword [rsp + 0x1250]
cmp byte [0x1406a2b50], 0
jne 0x1400402a2
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x378]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x388]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x1400400b7
lea rcx, [rsp + 0x50]
call fcn.140063754
xor r15d, r15d
lea r12, [0x1406a2ce0]
mov rbx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400401eb
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
add r15d, edi
add r12, rdi
cmp r15d, 4
jb 0x1400401d7
lea rcx, [rsp + 0x398]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140040237
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, esi
jb 0x140040223
lea rcx, [rsp + 0x3a0]
call fcn.140063754
mov r12, qword [rax]
xor ebx, ebx
lea r15, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004027f
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r12
cqo
idiv rcx
mov byte [r15], dl
add ebx, edi
add r15, rdi
cmp ebx, 0xc
jb 0x14004026b
mov byte [0x1406a2b50], dil
test r13, r13
je 0x14004037e
xor ebx, ebx
test r13, r13
je 0x14004037e
lea r15, [0x140000000]
xor r10d, r10d
mov dl, byte [r14]
lea r11, [0x1406a2ce0]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r15 + 0x6a2b60]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x1400402d0
add r10d, edi
add r11, rdi
cmp r10d, 4
jb 0x1400402ca
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 + r15 + 0x6a2be0]
mov byte [r14], dl
add r8d, edi
add r9, rdi
cmp r8d, esi
jb 0x14004030a
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x140040304
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 + r15 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x140040343
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x14004033d
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r13
jb 0x1400402bd
lea rcx, [rsp + 0x1630]
call fcn.1400099b4
nop
lea rdx, [rsp + 0x1250]
cmp qword [rsp + 0x1268], 0x10
cmovae rdx, qword [rsp + 0x1250]
lea rcx, [rsp + 0x1550]
call fcn.14002b89c
nop
mov r8, qword [rsp + 0x58]
lea rdx, [rsp + 0x1550]
mov rcx, qword [rsp + 0x68]
call fcn.1400694d4
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x6d0]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x8d8]
call fcn.14002b864
mov rdx, rax
lea rcx, [rsp + 0x6d0]
call fcn.14002b304
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x1148]
mov qword [rsp + 0x60], rax
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x1148]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rsp + 0x1168], rax
cmp byte [0x1406a3910], al
jne 0x140040450
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], dil
lea rdx, [0x14021dd9e]
lea rcx, [rsp + 0x898]
call fcn.14002b89c
mov rbx, rax
mov qword [rsp + 0x90], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140040480
mov rdx, qword [rax]
lea r14, [0x1406a3110]
cmp byte [0x1406a2d01], 0
jne 0x1400404ce
movabs r9, 0xfeeddccbbaa99887
mov rcx, r14
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
mov eax, 0xffffffff
sub r9, rax
add rcx, rsi
lea rax, [0x1406a3908]
cmp rcx, rax
jl 0x1400404a7
mov byte [0x1406a2d01], dil
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x140040524
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, edi
add rax, rdi
cmp r9d, esi
jb 0x1400404f6
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [r14 + rax*8]
mov qword [rsp + 0x30], r9
add r11d, edi
add r10, rdi
movsxd rax, r11d
cmp rax, r8
jb 0x1400404eb
movabs r15, 0xaebdccdb0a192837
movzx r13d, byte [rdx]
cmp r8, rdi
jbe 0x14004053e
mov r14b, byte [rdx + r8 - 1]
jmp 0x140040541
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r13b
mov byte [rsp + 0x38], cl
xor dl, r14b
mov byte [rsp + 0x40], dl
add eax, edi
cmp eax, esi
jb 0x140040553
xor r12b, r12b
xor r10d, r10d
xor r11d, r11d
mov eax, r10d
test r10d, r10d
cmove eax, edi
shl eax, 3
movsxd rcx, eax
xor edx, edx
lea rax, [r8*8]
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r15, rax
movabs rax, 0xaebdccdb0a192837
xor r15, rax
mov qword [rsp + 0x78], r15
mov al, byte [rsp + r11 + 0x78]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, esi
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r12b, dil
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, edi
add r11, rdi
cmp r10d, esi
jb 0x140040570
movzx eax, r14b
imul rcx, rax, 0xff
not rcx
mov rax, r13
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rsp + 0x1168], rcx
mov rdx, rbx
lea rcx, [rsp + 0x1148]
call fcn.14000a2a0
nop
mov rcx, rbx
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
jne 0x14004064e
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], dil
lea rdx, [0x140222fcc]
lea rcx, [rsp + 0x16d0]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rsp + 0x1410]
call fcn.14002b864
mov r13, qword [rsp + 0x1420]
lea r14, [rsp + 0x1410]
cmp qword [rsp + 0x1428], 0x10
cmovae r14, qword [rsp + 0x1410]
cmp byte [0x1406a2b50], 0
jne 0x140040897
xor r15d, r15d
lea r12, [0x140000000]
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rdi
xor rax, 0x10
shl rax, 0xa
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x3b0]
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, rdi
xor rax, 0x20
shl rax, 0xb
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x3c0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], 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, rdi
xor rax, 0x40
shl rax, 0xc
movabs rcx, 0x101010101010101
or rax, rcx
mov qword [r15 + r12 + 0x6a2c60], rax
add r15, rsi
cmp r15, 0x80
jl 0x1400406ac
test r13, r13
je 0x140040973