Function at 0x14006aef0
Capabilities:
Compress data via zlib inflate or deflate
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
test rcx, rcx
mov rsi, rcx
mov edi, edx
je 0x14006af2b
cmp qword [rcx + 0x30], 0
je 0x14006af2b
cmp qword [rcx + 0x38], 0
je 0x14006af2b
mov rax, qword [rcx + 0x28]
test rax, rax
mov qword [rsp + 0x20], rax
je 0x14006af2b
cmp rcx, qword [rax]
je 0x14006af48
mov eax, 0xfffffffe
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rax + 8]
cmp eax, 0x2a
je 0x14006af80
cmp eax, 0x39
je 0x14006af80
cmp eax, 0x71
jg 0x14006bc70
cmp eax, 0x44
jle 0x14006af2b
lea edx, [rax - 0x45]
movabs rcx, 0x100400400011
bt rcx, rdx
jae 0x14006af2b
nop word cs:[rax + rax]
cmp edi, 5
ja 0x14006af2b
cmp qword [rsi + 0x10], 0
je 0x14006c6c2
mov edx, dword [rsi + 8]
test edx, edx
je 0x14006afa1
cmp qword [rsi], 0
je 0x14006c6c2
cmp edi, 4
setne cl
cmp eax, 0x29a
jne 0x14006afb6
test cl, cl
jne 0x14006c6c2
mov r8d, dword [rsi + 0x18]
test r8d, r8d
je 0x14006b281
mov rbx, qword [rsp + 0x20]
mov r15d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
mov dword [rbx + 0x40], edi
test r15d, r15d
jne 0x14006bc00
test edx, edx
je 0x14006b240
cmp eax, 0x29a
je 0x14006b281
cmp eax, 0x2a
jne 0x14006b8f3
mov rax, qword [rsp + 0x20]
mov r13d, dword [rax + 0x2c]
test r13d, r13d
jne 0x14006b780
mov dword [rax + 8], 0x71
mov r15d, dword [rsi + 8]
test r15d, r15d
jne 0x14006b040
mov rax, qword [rsp + 0x20]
mov r14d, dword [rax + 0x9c]
test r14d, r14d
jne 0x14006b040
test edi, edi
je 0x14006b50f
cmp dword [rax + 8], 0x29a
je 0x14006b137
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0xac]
test eax, eax
je 0x14006bf20
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + 0xb0]
cmp edx, 2
je 0x14006b58c
cmp edx, 3
je 0x14006c1f0
lea r8, [0x14010cd20]
shl rax, 4
mov edx, edi
call qword [r8 + rax + 8]
lea edx, [rax - 2]
cmp edx, 1
jbe 0x14006bf00
test eax, eax
je 0x14006b760
cmp eax, 1
jne 0x14006b137
cmp edi, 1
je 0x14006c1a4
cmp edi, 5
je 0x14006b0c9
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.1400733e0
cmp edi, 3
je 0x14006c6ed
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.140073550
mov eax, dword [rsi + 0x18]
mov ebp, dword [r12 + 0x28]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
je 0x14006b12f
mov rdx, qword [r12 + 0x20]
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
mov edx, dword [rsi + 0x1c]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
add edx, ebp
movd xmm0, eax
movd xmm5, edx
punpckldq xmm0, xmm5
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b12f
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x20], rdx
test eax, eax
je 0x14006b76d
cmp edi, 4
jne 0x14006b50f
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x2c]
mov eax, 1
test ecx, ecx
jle 0x14006af30
mov rdi, qword [rsp + 0x20]
mov edx, dword [rsi + 0x4c]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
add rax, qword [rdi + 0x10]
cmp ecx, 2
mov dword [rdi + 0x28], r8d
je 0x14006c0f8
mov ecx, edx
shr edx, 0x10
shr ecx, 0x18
mov byte [rax], cl
mov eax, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [rdi + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dh
mov eax, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dl
mov rbp, qword [rsi + 0x28]
mov rcx, rbp
call fcn.140073550
mov edi, dword [rbp + 0x28]
mov eax, dword [rsi + 0x18]
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x14006b217
mov rcx, qword [rsi + 0x10]
mov r12d, edi
mov rdx, qword [rbp + 0x20]
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r12
add qword [rbp + 0x20], r12
sub eax, edi
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, edi
movd xmm4, eax
punpckldq xmm0, xmm4
movq qword [rsi + 0x18], xmm0
sub dword [rbp + 0x28], edi
jne 0x14006b217
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x2c]
test eax, eax
jle 0x14006b228
neg eax
mov dword [rdi + 0x2c], eax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x28]
test eax, eax
sete al
movzx eax, al
jmp 0x14006af30
lea r9d, [rdi + rdi]
cmp edi, 5
mov edx, 1
cmove r9d, edx
cmp r8d, 4
lea edx, [r8 + r8]
lea r10d, [rdx - 9]
cmovg edx, r10d
cmp r9d, edx
jg 0x14006b269
test cl, cl
jne 0x14006b281
cmp eax, 0x29a
jne 0x14006afef
mov r14d, dword [rsi + 8]
test r14d, r14d
je 0x14006b011
mov rax, qword [0x1401e0740]
mov rax, qword [rax + 0x38]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffb
jmp 0x14006af30
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov edx, dword [rbx + 0xac]
mov eax, 2
cmp edx, 9
je 0x14006b31a
cmp dword [rbx + 0xb0], 1
setg al
cmp edx, 1
setle dl
or eax, edx
shl eax, 2
mov rbx, qword [rsp + 0x20]
mov edx, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea r8d, [rdx + 1]
mov dword [rbx + 0x28], r8d
mov byte [rcx + rdx], al
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0xa
mov r12, qword [rsi + 0x28]
mov dword [rbx + 8], 0x71
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006b3af
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm4, eax
punpckldq xmm0, xmm4
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b3af
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r9d, dword [rax + 0x28]
test r9d, r9d
jne 0x14006b508
mov eax, dword [rax + 8]
nop dword [rax]
cmp eax, 0x45
je 0x14006bee8
cmp eax, 0x49
je 0x14006c1e0
cmp eax, 0x5b
je 0x14006c196
cmp eax, 0x67
jne 0x14006b011
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x3c]
test eax, eax
je 0x14006b4c4
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
mov rcx, rax
lea eax, [r8 + 2]
cmp dword [rcx + 0x18], eax
jae 0x14006b489
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006b47b
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm4, eax
punpckldq xmm0, xmm4
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b47b
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x14006b508
mov rbx, qword [rsp + 0x20]
lea ecx, [r8 + 1]
mov edx, dword [rsi + 0x4c]
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x28], ecx
mov byte [rax + r8], dl
mov eax, dword [rbx + 0x28]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
xor r8d, r8d
mov byte [rdx + rax], ch
xor edx, edx
xor ecx, ecx
call fcn.140075270
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x20]
mov r12, qword [rsi + 0x28]
mov dword [rax + 8], 0x71
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x14006bfd0
mov rax, qword [rsp + 0x20]
mov edx, dword [rax + 0x28]
test edx, edx
je 0x14006b011
nop dword [rax]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x14006af30
mov eax, dword [rcx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x14006b536
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.140073730
mov r13, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r12, qword [r13 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [r13 + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x14006c038
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov r12d, dword [rax + 0x18]
test r12d, r12d
je 0x14006b760
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x14006b64e
mov rbx, qword [rsp + 0x20]
mov dword [rbx + 0x88], 0
mov rdx, qword [rbx + 0x50]
mov eax, dword [rbx + 0x94]
mov rcx, qword [rbx + 0x16e8]
movzx eax, byte [rdx + rax]
mov edx, dword [rbx + 0x16f4]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], al
mov rcx, rbx
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x9c]
sub eax, 1
mov dword [rbx + 0x9c], eax
mov ebx, dword [rbx + 0x94]
lea r8d, [rbx + 1]
mov ebx, dword [rcx + 0x16f8]
cmp dword [rcx + 0x16f4], ebx
mov dword [rcx + 0x94], r8d
je 0x14006b520
test eax, eax
jne 0x14006b5a0
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.140068a90
mov r13d, dword [rbx + 0x9c]
test r13d, r13d
jne 0x14006b5a0
test edi, edi
je 0x14006b760
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x1708], 0
je 0x14006c5d4
mov ebp, dword [rax + 0x16f4]
test ebp, ebp
je 0x14006b0a0
mov rcx, rax
mov eax, dword [rcx + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x14006b6c1
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.140073730
mov r13, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r12, qword [r13 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [r13 + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006b74a
mov rcx, qword [r13 + 0x10]
mov r14d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r13 + 0x18]
add qword [r13 + 0x10], r14
add qword [r12 + 0x20], r14
sub eax, ebp
movd xmm0, eax
mov eax, dword [r13 + 0x1c]
add eax, ebp
movd xmm5, eax
punpckldq xmm0, xmm5
movq qword [r13 + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b74a
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov r9d, dword [rax + 0x18]
test r9d, r9d
jne 0x14006b0a0
nop
mov r8d, dword [rsi + 0x18]
test r8d, r8d
jne 0x14006b50f
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x14006af30
mov rdx, rax
mov eax, dword [rax + 0x48]
shl eax, 0xc
sub eax, 0x7800
cmp dword [rdx + 0xb0], 1
jle 0x14006bf58
mov rcx, qword [rsp + 0x20]
mov r12d, dword [rcx + 0x94]
test r12d, r12d
je 0x14006b7af
or eax, 0x20
mov edx, eax
mov r11, qword [rsp + 0x20]
imul rdx, rdx, 0x8421085
mov rcx, qword [r11 + 0x10]
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
mov edx, eax
shl edx, 5
sub edx, eax
lea eax, [rdx + 0x1f]
mov edx, dword [r11 + 0x28]
lea r8d, [rdx + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rdx], ah
mov edx, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rdx + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rdx], al
mov ebp, dword [r11 + 0x94]
test ebp, ebp
je 0x14006b863
mov eax, dword [r11 + 0x28]
mov edx, dword [rsi + 0x4c]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov r8d, edx
shr edx, 0x10
shr r8d, 0x18
mov byte [rcx + rax], r8b
mov eax, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [r11 + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dh
mov eax, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dl
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140074670
mov r12, qword [rsi + 0x28]
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x20]
mov rcx, r12
mov dword [rax + 8], 0x71
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006b8de
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm5, eax
punpckldq xmm0, xmm5
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
je 0x14006c090
mov rax, qword [rsp + 0x20]
mov r10d, dword [rax + 0x28]
test r10d, r10d
jne 0x14006b508
mov eax, dword [rax + 8]
cmp eax, 0x39
jne 0x14006b3c8
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call fcn.140075270
mov rbx, qword [rsp + 0x20]
mov dword [rsi + 0x4c], eax
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0x1f
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0x8b
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 8
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x14006b2a0
cmp qword [rax + 0x10], 0
mov r8d, dword [rax + 0x3c]
mov r9, qword [rbx + 0x10]
setne cl
test r8d, r8d
setne dl
add edx, edx
cmp dword [rax], 1
lea ecx, [rdx + rcx*4]
sbb cl, 0xff
cmp qword [rax + 0x20], 0
setne dl
cmp qword [rax + 0x30], 0
mov eax, dword [rbx + 0x28]
lea edx, [rcx + rdx*8]
setne r8b
lea ecx, [rax + 1]
shl r8d, 4
mov dword [rbx + 0x28], ecx
mov ecx, eax
lea eax, [rdx + r8]
mov byte [r9 + rcx], al
mov rax, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [rbx + 0x28]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [rbx + 0x28]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x10]
movzx ecx, word [rax + 6]
mov eax, dword [rbx + 0x28]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x10]
movzx ecx, byte [rax + 7]
mov eax, dword [rbx + 0x28]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov edx, dword [rbx + 0xac]
mov eax, 2
cmp edx, 9
je 0x14006ba27
cmp dword [rbx + 0xb0], 1
setg al
cmp edx, 1
setle dl
or eax, edx
shl eax, 2
mov r11, qword [rsp + 0x20]
mov edx, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rdx + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rdx], al
mov rax, qword [r11 + 0x30]
mov rdx, qword [r11 + 0x10]
mov ecx, dword [rax + 0xc]
mov eax, dword [r11 + 0x28]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r11 + 0x30]
cmp qword [rax + 0x10], 0
je 0x14006ba98
mov ecx, dword [rax + 0x18]
mov eax, dword [r11 + 0x28]
mov rdx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r11 + 0x30]
mov rdx, qword [r11 + 0x10]
mov ecx, dword [rax + 0x18]
mov eax, dword [r11 + 0x28]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [r11 + 0x30]
mov edx, dword [rax + 0x3c]
test edx, edx
jne 0x14006c0d0
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 0x38], 0
mov dword [rcx + 8], 0x45
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14006bcc5
mov rbx, qword [rsp + 0x20]
movzx r13d, word [rax + 0x18]
mov ecx, dword [rbx + 0x38]
mov ebp, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x18]
sub r13d, ecx
lea eax, [rbp + r13]
cmp r12d, eax
jb 0x14006bb9a
jmp 0x14006c6e2
mov rax, qword [rsp + 0x20]
add dword [rax + 0x38], r14d
mov r14, qword [rsi + 0x28]
mov rcx, r14
call fcn.140073550
mov edx, dword [r14 + 0x28]
mov eax, dword [rsi + 0x18]
cmp edx, eax
cmovbe eax, edx
test eax, eax
mov r15d, eax
je 0x14006bb65
mov rcx, qword [rsi + 0x10]
mov r8d, eax
mov rdx, qword [r14 + 0x20]
mov qword [rsp + 0x28], r8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
mov r8, qword [rsp + 0x28]
add qword [rsi + 0x10], r8
add qword [r14 + 0x20], r8
sub eax, r15d
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, r15d
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [rsi + 0x18], xmm0
sub dword [r14 + 0x28], r15d
jne 0x14006bb65
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r14d, dword [rax + 0x28]
test r14d, r14d
jne 0x14006b508
sub ebp, r12d
mov r12d, dword [rax + 0x18]
mov rcx, rax
mov rax, qword [rax + 0x30]
add r13d, ebp
mov ecx, dword [rcx + 0x38]
cmp r12d, r13d
mov rdx, qword [rax + 0x10]
jae 0x14006bc80
xor ebp, ebp
mov rbx, qword [rsp + 0x20]
mov r15d, ebp
mov r14d, r12d
add rdx, rcx
mov rax, r15
sub r14d, ebp
mov r8d, r14d
add rax, qword [rbx + 0x10]
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbx + 0x30]
mov r8d, dword [rbx + 0x18]
mov eax, dword [rax + 0x3c]
mov dword [rbx + 0x28], r8d
test eax, eax
je 0x14006baf0
cmp ebp, r8d
jae 0x14006baf0
mov rax, qword [rsp + 0x20]
mov rdx, r15
sub r8d, ebp
mov ecx, dword [rsi + 0x4c]
add rdx, qword [rax + 0x10]
call fcn.140075270
mov dword [rsi + 0x4c], eax
jmp 0x14006baf0
mov rcx, rbx
call fcn.140073550
mov eax, dword [rsi + 0x18]
mov ebp, dword [rbx + 0x28]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
je 0x14006bc56
mov rdx, qword [rbx + 0x20]
mov r12d, ebp
mov rcx, qword [rsi + 0x10]
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
mov edx, dword [rsi + 0x1c]
add qword [rsi + 0x10], r12
add qword [rbx + 0x20], r12
sub eax, ebp
add edx, ebp
movd xmm0, eax
movd xmm4, edx
punpckldq xmm0, xmm4
movq qword [rsi + 0x18], xmm0
sub dword [rbx + 0x28], ebp
je 0x14006c028
test eax, eax
mov rax, qword [rsp + 0x20]
je 0x14006b508
mov eax, dword [rax + 8]
jmp 0x14006b269
cmp eax, 0x29a
jne 0x14006af2b
jmp 0x14006af80
xor r12d, r12d
mov rbx, qword [rsp + 0x20]
mov rax, r12
add rdx, rcx
mov r8d, r13d
add rax, qword [rbx + 0x10]
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbx + 0x30]
add r13d, dword [rbx + 0x28]
mov ebp, dword [rax + 0x3c]
mov dword [rbx + 0x28], r13d
test ebp, ebp
je 0x14006bcb9
cmp r14d, r13d
jb 0x14006c69c
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 8], 0x49
cmp qword [rax + 0x20], 0
je 0x14006bde5
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov rcx, rdx
mov r8d, r9d
jmp 0x14006bd28
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rax + 0x20]
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [rbx + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], ecx
test al, al
mov byte [rdx + r8], al
je 0x14006bdc8
mov r8d, dword [rbx + 0x28]
mov rcx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rcx + 0x18], r8d
jne 0x14006bcf0
mov ebx, dword [rax + 0x3c]
test ebx, ebx
je 0x14006bd3e
cmp r9d, r8d
jb 0x14006bf38
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006bda4
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006bda4
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x14006b508
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x14006bcf0
mov rax, qword [rbx + 0x30]
mov r11d, dword [rax + 0x3c]
test r11d, r11d
jne 0x14006c0a0
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x5b
cmp qword [rax + 0x30], 0
je 0x14006c1cc
mov rcx, qword [rsp + 0x20]
mov r9d, dword [rcx + 0x28]
mov r8d, r9d
jmp 0x14006be48
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rax + 0x30]
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [rbx + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], ecx
test al, al
mov byte [rdx + r8], al
je 0x14006bfa0
mov r8d, dword [rbx + 0x28]
mov rcx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rcx + 0x18], r8d
jne 0x14006be10
mov r10d, dword [rax + 0x3c]
test r10d, r10d
je 0x14006be60
cmp r9d, r8d
jb 0x14006bf80
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.140073550
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14006bec6
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm3, eax
punpckldq xmm0, xmm3
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006bec6
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x14006b508
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x14006be10
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x14006bab6
mov rcx, qword [rsp + 0x20]
cmp eax, 2
mov dword [rcx + 8], 0x29a
jne 0x14006b137
jmp 0x14006b760
mov rcx, qword [rsp + 0x20]
mov edx, edi
call fcn.140069070
lea edx, [rax - 2]
jmp 0x14006b086
mov edx, r9d
add rdx, qword [rcx + 0x10]
sub r8d, r9d
mov ecx, dword [rsi + 0x4c]
call fcn.140075270
mov dword [rsi + 0x4c], eax
jmp 0x14006bd3e
mov edx, dword [rdx + 0xac]
cmp edx, 1
jle 0x14006b79b
cmp edx, 5
jg 0x14006c590
or eax, 0x40
jmp 0x14006b79b
mov edx, r9d
add rdx, qword [rcx + 0x10]
sub r8d, r9d
mov ecx, dword [rsi + 0x4c]
call fcn.140075270
mov dword [rsi + 0x4c], eax
jmp 0x14006be60
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
je 0x14006b4c4
mov r8d, dword [rbx + 0x28]
cmp r9d, r8d
jb 0x14006c1b3
mov dword [rbx + 8], 0x67
mov rcx, rbx
jmp 0x14006b40c
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
movd xmm0, eax
mov eax, dword [rsi + 0x1c]
add eax, ebp
movd xmm5, eax
punpckldq xmm0, xmm5
movq qword [rsi + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b4f1
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x14006b4f1
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x20], rdx
jmp 0x14006bc56
mov rcx, qword [r13 + 0x10]
mov r14d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r13 + 0x18]
add qword [r13 + 0x10], r14
add qword [r12 + 0x20], r14
sub eax, ebp
movd xmm0, eax
mov eax, dword [r13 + 0x1c]
add eax, ebp
movd xmm4, eax
punpckldq xmm0, xmm4
movq qword [r13 + 0x18], xmm0
sub dword [r12 + 0x28], ebp
jne 0x14006b577
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x14006b577
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x14006b8de
mov r8d, dword [rbx + 0x28]
cmp r9d, r8d
jae 0x14006bdd9
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.140075270
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x14006bdd9
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rbx + 0x28]
call fcn.140075270
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x14006baa3
mov byte [rax], dl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rdi + 0x28]
movzx ecx, word [rsi + 0x4e]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
movzx ecx, byte [rsi + 0x4f]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0xc]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0xc]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rdi + 0x28]
movzx ecx, word [rsi + 0xe]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
movzx ecx, byte [rsi + 0xf]
mov rdx, qword [rdi + 0x10]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
jmp 0x14006b1b9
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x14006bdf1
mov rcx, qword [rsp + 0x20]
call fcn.1400735e0
jmp 0x14006b0c9
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.140075270
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x20]
mov eax, dword [rax + 0x3c]
mov dword [rdx + 8], 0x67
jmp 0x14006b3f8
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x14006bcd1
mov r12, qword [0x1401e05b0]
mov rbp, qword [0x1401e0560]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x14006c2dd
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 0x88], 0
mov edx, dword [rcx + 0x94]
mov r8, qword [rcx + 0x50]
mov ecx, edx
test edx, edx
je 0x14006c242
lea rdx, [r8 + rcx - 1]
movzx r9d, byte [rdx]
cmp r9b, byte [rdx + 1]
je 0x14006c360
mov rbx, qword [rsp + 0x20]
movzx eax, byte [r8 + rcx]
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], al
mov rdx, rbx
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x9c]
sub eax, 1
mov dword [rbx + 0x9c], eax
mov ebx, dword [rbx + 0x94]
lea r8d, [rbx + 1]
mov ebx, dword [rdx + 0x16f8]
cmp dword [rdx + 0x16f4], ebx
mov dword [rdx + 0x94], r8d
je 0x14006c4bc
cmp eax, 0x102
ja 0x14006c210
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.140068a90
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
jbe 0x14006c320
mov dword [rbx + 0x88], 0
mov edx, dword [rbx + 0x94]
mov r8, qword [rbx + 0x50]
mov ecx, edx
jmp 0x14006c22b
test edi, edi
je 0x14006b760
test eax, eax
je 0x14006c5a8
mov rcx, qword [rsp + 0x20]
cmp eax, 2
mov dword [rcx + 0x88], 0
mov edx, dword [rcx + 0x94]
mov r8, qword [rcx + 0x50]
mov ecx, edx
jbe 0x14006c242
jmp 0x14006c22b
cmp r9b, byte [rdx + 2]
jne 0x14006c242
cmp r9b, byte [rdx + 3]
jne 0x14006c242
lea r10, [r8 + rcx + 0x102]
add rdx, 3
jmp 0x14006c3d2
cmp r9b, byte [rdx + 2]
jne 0x14006c750
cmp r9b, byte [rdx + 3]
jne 0x14006c747
cmp r9b, byte [rdx + 4]
jne 0x14006c73e
cmp r9b, byte [rdx + 5]
jne 0x14006c759
cmp r9b, byte [rdx + 6]
jne 0x14006c76b
cmp r9b, byte [rdx + 7]
jne 0x14006c762
add rdx, 8
cmp byte [rdx], r9b
jne 0x14006c3dc
cmp rdx, r10
jae 0x14006c3dc
cmp r9b, byte [rdx + 1]
je 0x14006c388
add rdx, 1
mov rbx, qword [rsp + 0x20]
sub edx, r10d
add edx, 0x102
cmp eax, edx
mov dword [rbx + 0x88], edx
jae 0x14006c580
mov dword [rbx + 0x88], eax
mov edx, eax
mov rbx, qword [rsp + 0x20]
lea eax, [rdx - 3]
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 1
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rbx + 0x16f4]
mov rcx, qword [rbx + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rbx + 0x16f4], r8d
mov byte [rcx + rdx], al
movzx eax, al
mov r8d, dword [rbx + 0x88]
mov rcx, rbx
movzx eax, byte [r12 + rax]
add word [rbx + rax*4 + 0x4c0], 1
movzx eax, byte [rbp]
add word [rbx + rax*4 + 0x9b0], 1
mov dword [rbx + 0x88], 0
mov eax, dword [rbx + 0x9c]
sub eax, r8d
add r8d, dword [rbx + 0x94]
mov dword [rbx + 0x9c], eax
mov dword [rbx + 0x94], r8d
mov ebx, dword [rbx + 0x16f8]
cmp dword [rcx + 0x16f4], ebx
jne 0x14006c2dd
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov eax, dword [rcx + 0x84]
sub r8d, eax
test eax, eax
js 0x14006c4d7
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.140073730
mov r14, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r15, qword [r14 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r15
call fcn.140073550
mov r13d, dword [r15 + 0x28]
mov eax, dword [r14 + 0x18]
cmp r13d, eax
cmova r13d, eax
test r13d, r13d
je 0x14006c566
mov rcx, qword [r14 + 0x10]
mov r8d, r13d
mov rdx, qword [r15 + 0x20]
mov qword [rsp + 0x28], r8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r14 + 0x18]
mov r8, qword [rsp + 0x28]
add qword [r14 + 0x10], r8
add qword [r15 + 0x20], r8
sub eax, r13d
movd xmm0, eax
mov eax, dword [r14 + 0x1c]
add eax, r13d
movd xmm5, eax
punpckldq xmm0, xmm5
movq qword [r14 + 0x18], xmm0
sub dword [r15 + 0x28], r13d
jne 0x14006c566
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov ebx, dword [rax + 0x18]
test ebx, ebx
jne 0x14006c1fe
jmp 0x14006b760
cmp edx, 2
ja 0x14006c400
jmp 0x14006c242
mov ecx, eax
or al, 0xc0
or cl, 0x80
cmp edx, 6
cmove eax, ecx
jmp 0x14006b79b
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x1708], 0
je 0x14006c5d4
mov r10d, dword [rax + 0x16f4]
mov rcx, rax
test r10d, r10d
je 0x14006b0a0
jmp 0x14006b6a4
mov rdi, rax
mov eax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x14006c5f4
movsxd rdx, eax
add rdx, qword [rdi + 0x50]
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.140073730
mov r12, qword [rdi]
mov eax, dword [rdi + 0x94]
mov rbp, qword [r12 + 0x28]
mov dword [rdi + 0x84], eax
mov rcx, rbp
call fcn.140073550
mov edi, dword [rbp + 0x28]
mov eax, dword [r12 + 0x18]
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x14006c67f
mov rcx, qword [r12 + 0x10]
mov r13d, edi
mov rdx, qword [rbp + 0x20]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r12 + 0x18]
add qword [r12 + 0x10], r13
add qword [rbp + 0x20], r13
sub eax, edi
movd xmm0, eax
mov eax, dword [r12 + 0x1c]
add eax, edi
movd xmm5, eax
punpckldq xmm0, xmm5
movq qword [r12 + 0x18], xmm0
sub dword [rbp + 0x28], edi
jne 0x14006c67f
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi]
mov r11d, dword [rax + 0x18]
test r11d, r11d
jne 0x14006c6d6
mov dword [rdi + 8], 0x29a
jmp 0x14006b760
mov rbx, qword [rsp + 0x20]
mov rdx, r12
mov r8d, r13d
mov ecx, dword [rsi + 0x4c]
sub r8d, r14d
add rdx, qword [rbx + 0x10]
call fcn.140075270
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x14006bcb9
mov rax, qword [0x1401e0740]
mov rax, qword [rax + 0x20]
mov qword [rsi + 0x20], rax
jmp 0x14006af2b
mov dword [rdi + 8], 0x29a
jmp 0x14006b140
mov r12d, ebp
mov r14d, ebp
jmp 0x14006bc83
mov rbx, qword [rsp + 0x20]
xor edx, edx
mov eax, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
sub eax, 1
mov word [rcx + rax*2], dx
lea r8, [rax + rax]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, dword [rbx + 0x9c]
test ecx, ecx
jne 0x14006b0c9
mov dword [rbx + 0x94], 0
mov dword [rbx + 0x84], 0
mov dword [rbx + 0x1708], 0
jmp 0x14006b0c9
add rdx, 4
jmp 0x14006c3dc
add rdx, 3
jmp 0x14006c3dc
add rdx, 2
jmp 0x14006c3dc
add rdx, 5
jmp 0x14006c3dc
add rdx, 7
jmp 0x14006c3dc
add rdx, 6
jmp 0x14006c3dc