Function at 0x140006b20
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
mov rsi, rcx
mov edi, edx
test rcx, rcx
je 0x140006b5b
cmp qword [rcx + 0x30], 0
je 0x140006b5b
cmp qword [rcx + 0x38], 0
je 0x140006b5b
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140006b5b
cmp rcx, qword [rax]
je 0x140006b78
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 0x140006bb0
cmp eax, 0x39
je 0x140006bb0
cmp eax, 0x71
jg 0x140007800
cmp eax, 0x44
jle 0x140006b5b
movabs rcx, 0x100400400011
lea edx, [rax - 0x45]
bt rcx, rdx
jae 0x140006b5b
nop word cs:[rax + rax]
cmp edi, 5
ja 0x140006b5b
cmp qword [rsi + 0x10], 0
je 0x14000815a
mov edx, dword [rsi + 8]
test edx, edx
je 0x140006bd1
cmp qword [rsi], 0
je 0x14000815a
cmp edi, 4
setne cl
cmp eax, 0x29a
jne 0x140006be6
test cl, cl
jne 0x14000815a
mov r8d, dword [rsi + 0x18]
test r8d, r8d
je 0x140006e91
mov rbx, qword [rsp + 0x20]
mov r15d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
mov dword [rbx + 0x40], edi
test r15d, r15d
jne 0x1400077a0
test edx, edx
je 0x140006e50
cmp eax, 0x29a
je 0x140006e91
cmp eax, 0x2a
jne 0x1400074ae
mov rax, qword [rsp + 0x20]
mov r13d, dword [rax + 0x2c]
test r13d, r13d
jne 0x140007350
mov dword [rax + 8], 0x71
mov r15d, dword [rsi + 8]
test r15d, r15d
jne 0x140006c70
mov rax, qword [rsp + 0x20]
mov r14d, dword [rax + 0x9c]
test r14d, r14d
jne 0x140006c70
test edi, edi
je 0x1400070ef
cmp dword [rax + 8], 0x29a
je 0x140006d5c
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0xac]
test eax, eax
je 0x140007a80
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx + 0xb0]
cmp edx, 2
je 0x14000716d
cmp edx, 3
je 0x140007d20
shl rax, 4
lea r8, [0x1400d82a0]
mov edx, edi
mov rcx, qword [rsp + 0x20]
call qword [r8 + rax + 8]
lea edx, [rax - 2]
cmp edx, 1
jbe 0x140007a60
test eax, eax
je 0x140007330
cmp eax, 1
jne 0x140006d5c
cmp edi, 1
je 0x140007cd4
cmp edi, 5
je 0x140006cfe
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14000ac90
cmp edi, 3
je 0x1400082d6
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.14000ae00
mov eax, dword [rsi + 0x18]
mov ebp, dword [r12 + 0x28]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
je 0x140006d54
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
sub eax, ebp
add dword [rsi + 0x1c], ebp
mov dword [rsi + 0x18], eax
sub dword [r12 + 0x28], ebp
jne 0x140006d54
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x20], rdx
test eax, eax
je 0x14000733d
cmp edi, 4
jne 0x1400070ef
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x2c]
mov eax, 1
test ecx, ecx
jle 0x140006b60
mov rdi, qword [rsp + 0x20]
mov edx, dword [rsi + 0x4c]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
add rax, qword [rdi + 0x10]
mov dword [rdi + 0x28], r8d
cmp ecx, 2
je 0x140007c28
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.14000ae00
mov edi, dword [rbp + 0x28]
mov eax, dword [rsi + 0x18]
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x140006e27
mov r12d, edi
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rbp + 0x20]
mov r8, r12
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r12
add qword [rbp + 0x20], r12
add dword [rsi + 0x1c], edi
sub dword [rsi + 0x18], edi
sub dword [rbp + 0x28], edi
jne 0x140006e27
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x2c]
test eax, eax
jle 0x140006e38
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 0x140006b60
cmp edi, 5
mov edx, 1
lea r9d, [rdi + rdi]
cmove r9d, edx
lea edx, [r8 + r8]
cmp r8d, 4
lea r10d, [rdx - 9]
cmovg edx, r10d
cmp r9d, edx
jg 0x140006e79
test cl, cl
jne 0x140006e91
cmp eax, 0x29a
jne 0x140006c1f
mov r14d, dword [rsi + 8]
test r14d, r14d
je 0x140006c41
mov rax, qword [0x1400e1830]
mov rax, qword [rax + 0x38]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffb
jmp 0x140006b60
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 0x140006f2a
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.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x140006faa
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x140006faa
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r9d, dword [rax + 0x28]
test r9d, r9d
jne 0x1400070e8
mov eax, dword [rax + 8]
nop
cmp eax, 0x45
je 0x140007a50
cmp eax, 0x49
je 0x140007d10
cmp eax, 0x5b
je 0x140007cc6
cmp eax, 0x67
jne 0x140006c41
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x3c]
test eax, eax
je 0x1400070a7
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
mov rcx, rax
lea eax, [r8 + 2]
cmp dword [rcx + 0x18], eax
jae 0x14000706c
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14000705e
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x14000705e
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x1400070e8
mov rbx, qword [rsp + 0x20]
mov edx, dword [rsi + 0x4c]
lea ecx, [r8 + 1]
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.14000cae0
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.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x140007b30
mov rax, qword [rsp + 0x20]
mov edx, dword [rax + 0x28]
test edx, edx
je 0x140006c41
nop dword [rax]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x140006b60
mov eax, dword [rcx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x140007116
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.14000afe0
mov eax, dword [rbx + 0x94]
mov r12, qword [rbx]
mov dword [rbx + 0x84], eax
mov r13, qword [r12 + 0x28]
mov rcx, r13
call fcn.14000ae00
mov ebp, dword [r13 + 0x28]
mov eax, dword [r12 + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x140007b80
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov r12d, dword [rax + 0x18]
test r12d, r12d
je 0x140007330
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x14000722e
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rbx + 0x50]
mov eax, dword [rbx + 0x94]
mov dword [rbx + 0x88], 0
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]
mov dword [rcx + 0x94], r8d
cmp dword [rcx + 0x16f4], ebx
je 0x140007100
test eax, eax
jne 0x140007180
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.140004760
mov r13d, dword [rbx + 0x9c]
test r13d, r13d
jne 0x140007180
test edi, edi
je 0x140007330
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1708], 0
cmp edi, 4
je 0x14000816e
mov ebp, dword [rax + 0x16f4]
test ebp, ebp
je 0x140006cd5
mov rcx, rax
mov eax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x1400072a1
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.14000afe0
mov eax, dword [rbx + 0x94]
mov r13, qword [rbx]
mov dword [rbx + 0x84], eax
mov r12, qword [r13 + 0x28]
mov rcx, r12
call fcn.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [r13 + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x140007314
mov r14d, ebp
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [r13 + 0x10], r14
add qword [r12 + 0x20], r14
add dword [r13 + 0x1c], ebp
sub dword [r13 + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x140007314
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 0x140006cd5
nop dword [rax]
mov r8d, dword [rsi + 0x18]
test r8d, r8d
jne 0x1400070ef
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x140006b60
mov rdx, rax
mov eax, dword [rax + 0x48]
shl eax, 0xc
sub eax, 0x7800
cmp dword [rdx + 0xb0], 1
jle 0x140007ab8
mov rdx, qword [rsp + 0x20]
mov r12d, dword [rdx + 0x94]
test r12d, r12d
je 0x14000737f
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 0x140007433
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.14000bf20
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.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x140007499
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
je 0x140007bc0
mov rax, qword [rsp + 0x20]
mov r10d, dword [rax + 0x28]
test r10d, r10d
jne 0x1400070e8
mov eax, dword [rax + 8]
cmp eax, 0x39
jne 0x140006fc0
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call fcn.14000cae0
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 0x140006eb0
mov r8d, dword [rax + 0x3c]
cmp qword [rax + 0x10], 0
setne cl
mov r9, qword [rbx + 0x10]
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]
setne r8b
lea edx, [rcx + rdx*8]
shl r8d, 4
lea ecx, [rax + 1]
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 0x1400075e2
cmp dword [rbx + 0xb0], 1
setg al
cmp edx, 1
setle dl
or eax, edx
shl eax, 2
mov r14, qword [rsp + 0x20]
mov edx, dword [r14 + 0x28]
mov rcx, qword [r14 + 0x10]
lea r8d, [rdx + 1]
mov dword [r14 + 0x28], r8d
mov byte [rcx + rdx], al
mov rax, qword [r14 + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, dword [rax + 0xc]
mov eax, dword [r14 + 0x28]
lea r8d, [rax + 1]
mov dword [r14 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r14 + 0x30]
cmp qword [rax + 0x10], 0
je 0x140007653
mov ecx, dword [rax + 0x18]
mov eax, dword [r14 + 0x28]
mov rdx, qword [r14 + 0x10]
lea r8d, [rax + 1]
mov dword [r14 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r14 + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, dword [rax + 0x18]
mov eax, dword [r14 + 0x28]
lea r8d, [rax + 1]
mov dword [r14 + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [r14 + 0x30]
mov edx, dword [rax + 0x3c]
test edx, edx
jne 0x140007c00
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov dword [rdx + 8], 0x45
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140007857
mov rbx, qword [rsp + 0x20]
movzx r14d, word [rax + 0x18]
mov ecx, dword [rbx + 0x38]
mov r12d, dword [rbx + 0x28]
mov r13d, dword [rbx + 0x18]
sub r14d, ecx
lea eax, [r12 + r14]
cmp r13d, eax
jb 0x14000773e
jmp 0x14000822a
mov rax, qword [rsp + 0x20]
mov r15, qword [rsi + 0x28]
add dword [rax + 0x38], ebp
mov rcx, r15
call fcn.14000ae00
mov ebp, dword [r15 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14000770a
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r15 + 0x20]
mov r8d, ebp
mov qword [rsp + 0x28], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x28]
add qword [rsi + 0x10], r8
add qword [r15 + 0x20], r8
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r15 + 0x28], ebp
jne 0x14000770a
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov ebp, dword [rax + 0x28]
test ebp, ebp
jne 0x1400070e8
mov rcx, rax
sub r12d, r13d
mov r13d, dword [rax + 0x18]
mov rax, qword [rax + 0x30]
add r14d, r12d
mov ecx, dword [rcx + 0x38]
mov rdx, qword [rax + 0x10]
cmp r13d, r14d
jae 0x140007810
xor r12d, r12d
mov rbx, qword [rsp + 0x20]
mov ebp, r13d
mov r15d, r12d
add rdx, rcx
sub ebp, r12d
mov rax, r15
add rax, qword [rbx + 0x10]
mov r8d, ebp
mov rcx, rax
call sub.msvcrt.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 0x1400076b0
cmp r12d, r8d
jae 0x1400076b0
mov rax, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
mov rdx, r15
sub r8d, r12d
add rdx, qword [rax + 0x10]
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
jmp 0x1400076b0
mov rcx, rbx
call fcn.14000ae00
mov eax, dword [rsi + 0x18]
mov ebp, dword [rbx + 0x28]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
je 0x1400077e6
mov r12d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rbx + 0x20]
mov r8, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r12
add qword [rbx + 0x20], r12
sub eax, ebp
add dword [rsi + 0x1c], ebp
mov dword [rsi + 0x18], eax
sub dword [rbx + 0x28], ebp
je 0x140007b70
test eax, eax
mov rax, qword [rsp + 0x20]
je 0x1400070e8
mov eax, dword [rax + 8]
jmp 0x140006e79
cmp eax, 0x29a
jne 0x140006b5b
jmp 0x140006bb0
xor r13d, r13d
mov rbx, qword [rsp + 0x20]
mov rax, r13
add rdx, rcx
mov r8d, r14d
add rax, qword [rbx + 0x10]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx + 0x30]
add r14d, dword [rbx + 0x28]
mov dword [rbx + 0x28], r14d
mov r12d, dword [rax + 0x3c]
test r12d, r12d
je 0x14000784b
cmp ebp, r14d
jb 0x140008134
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x49
cmp qword [rax + 0x20], 0
je 0x14000795d
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov rcx, rdx
mov r8d, r9d
jmp 0x1400078b8
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
mov byte [rdx + r8], al
test al, al
je 0x140007940
mov r8d, dword [rbx + 0x28]
mov rax, qword [rbx + 0x30]
mov rcx, rbx
cmp dword [rcx + 0x18], r8d
jne 0x140007880
mov ebx, dword [rax + 0x3c]
test ebx, ebx
je 0x1400078ce
cmp r9d, r8d
jb 0x140007a98
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x14000791f
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x14000791f
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x1400070e8
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x140007880
mov rax, qword [rbx + 0x30]
mov r11d, dword [rax + 0x3c]
test r11d, r11d
jne 0x140007bd0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x5b
cmp qword [rax + 0x30], 0
je 0x140007cfc
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov rcx, rdx
mov r8d, r9d
jmp 0x1400079c0
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
mov byte [rdx + r8], al
test al, al
je 0x140007b00
mov r8d, dword [rbx + 0x28]
mov rax, qword [rbx + 0x30]
mov rcx, rbx
cmp dword [rcx + 0x18], r8d
jne 0x140007988
mov r10d, dword [rax + 0x3c]
test r10d, r10d
je 0x1400079d8
cmp r9d, r8d
jb 0x140007ae0
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.14000ae00
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
je 0x140007a29
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x140007a29
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x1400070e8
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x140007988
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x140007671
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x29a
cmp eax, 2
jne 0x140006d5c
jmp 0x140007330
mov rcx, qword [rsp + 0x20]
mov edx, edi
call fcn.140004d50
lea edx, [rax - 2]
jmp 0x140006cbb
mov edx, r9d
add rdx, qword [rcx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
jmp 0x1400078ce
mov edx, dword [rdx + 0xac]
cmp edx, 1
jle 0x14000736b
cmp edx, 5
jg 0x1400080b0
or eax, 0x40
jmp 0x14000736b
mov edx, r9d
add rdx, qword [rcx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
jmp 0x1400079d8
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
je 0x1400070a7
mov r8d, dword [rbx + 0x28]
cmp r9d, r8d
jb 0x140007ce3
mov dword [rbx + 8], 0x67
mov rcx, rbx
jmp 0x140007004
mov r13d, ebp
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x1400070d4
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x1400070d4
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x20], rdx
jmp 0x1400077e6
mov r14d, ebp
mov rcx, qword [r12 + 0x10]
mov rdx, qword [r13 + 0x20]
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r14
add qword [r13 + 0x20], r14
add dword [r12 + 0x1c], ebp
sub dword [r12 + 0x18], ebp
sub dword [r13 + 0x28], ebp
jne 0x140007158
mov rax, qword [r13 + 0x10]
mov qword [r13 + 0x20], rax
jmp 0x140007158
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x140007499
mov r8d, dword [rbx + 0x28]
cmp r9d, r8d
jae 0x140007951
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x140007951
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rbx + 0x28]
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x14000765e
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 0x140006dde
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x140007969
mov rcx, qword [rsp + 0x20]
call fcn.14000ae90
jmp 0x140006cfe
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.14000cae0
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 0x140006ff0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x140007863
mov r12, qword [0x1400e1800]
mov rbp, qword [0x1400e17c0]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x140007e0d
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + 0x94]
mov r8, qword [rcx + 0x50]
mov dword [rcx + 0x88], 0
mov ecx, edx
test edx, edx
je 0x140007d72
lea rdx, [r8 + rcx - 1]
movzx r9d, byte [rdx]
cmp r9b, byte [rdx + 1]
je 0x140007e90
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]
mov dword [rdx + 0x94], r8d
cmp dword [rdx + 0x16f4], ebx
je 0x140007fec
cmp eax, 0x102
ja 0x140007d40
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.140004760
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
jbe 0x140007e50
mov edx, dword [rbx + 0x94]
mov r8, qword [rbx + 0x50]
mov dword [rbx + 0x88], 0
mov ecx, edx
jmp 0x140007d5b
test edi, edi
je 0x140007330
test eax, eax
je 0x1400080c8
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + 0x94]
mov r8, qword [rcx + 0x50]
mov dword [rcx + 0x88], 0
mov ecx, edx
cmp eax, 2
jbe 0x140007d72
jmp 0x140007d5b
cmp r9b, byte [rdx + 2]
jne 0x140007d72
cmp r9b, byte [rdx + 3]
jne 0x140007d72
add rdx, 3
lea r10, [r8 + rcx + 0x102]
jmp 0x140007f02
cmp r9b, byte [rdx + 2]
jne 0x140008339
cmp r9b, byte [rdx + 3]
jne 0x140008330
cmp r9b, byte [rdx + 4]
jne 0x140008327
cmp r9b, byte [rdx + 5]
jne 0x140008342
cmp r9b, byte [rdx + 6]
jne 0x140008354
cmp r9b, byte [rdx + 7]
jne 0x14000834b
add rdx, 8
cmp byte [rdx], r9b
jne 0x140007f0c
cmp rdx, r10
jae 0x140007f0c
cmp r9b, byte [rdx + 1]
je 0x140007eb8
add rdx, 1
mov rbx, qword [rsp + 0x20]
sub edx, r10d
add edx, 0x102
mov dword [rbx + 0x88], edx
cmp eax, edx
jae 0x1400080a0
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 eax, dword [rbx + 0x9c]
mov dword [rbx + 0x88], 0
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 0x140007e0d
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov eax, dword [rcx + 0x84]
sub r8d, eax
test eax, eax
js 0x140008007
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.14000afe0
mov eax, dword [rbx + 0x94]
mov r14, qword [rbx]
mov dword [rbx + 0x84], eax
mov r15, qword [r14 + 0x28]
mov rcx, r15
call fcn.14000ae00
mov r13d, dword [r15 + 0x28]
mov eax, dword [r14 + 0x18]
cmp r13d, eax
cmova r13d, eax
test r13d, r13d
je 0x14000807e
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r15 + 0x20]
mov r8d, r13d
mov qword [rsp + 0x28], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x28]
add qword [r14 + 0x10], r8
add qword [r15 + 0x20], r8
add dword [r14 + 0x1c], r13d
sub dword [r14 + 0x18], r13d
sub dword [r15 + 0x28], r13d
jne 0x14000807e
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 0x140007d2e
jmp 0x140007330
cmp edx, 2
ja 0x140007f30
jmp 0x140007d72
mov ecx, eax
or al, 0xc0
or cl, 0x80
cmp edx, 6
cmove eax, ecx
jmp 0x14000736b
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1708], 0
cmp edi, 4
je 0x140008235
mov r10d, dword [rax + 0x16f4]
mov rcx, rax
test r10d, r10d
je 0x140006cd5
mov eax, dword [rax + 0x84]
mov r8d, dword [rcx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x140008110
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.14000afe0
mov eax, dword [rbx + 0x94]
mov r13, qword [rbx]
mov dword [rbx + 0x84], eax
jmp 0x1400072c0
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
sub r14d, ebp
mov rdx, r13
mov r8d, r14d
add rdx, qword [rbx + 0x10]
call fcn.14000cae0
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x14000784b
mov rax, qword [0x1400e1830]
mov rax, qword [rax + 0x20]
mov qword [rsi + 0x20], rax
jmp 0x140006b5b
mov rdi, rax
mov eax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x14000818e
movsxd rdx, eax
add rdx, qword [rdi + 0x50]
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.14000afe0
mov eax, dword [rdi + 0x94]
mov rbp, qword [rdi]
mov dword [rdi + 0x84], eax
mov r12, qword [rbp + 0x28]
mov rcx, r12
call fcn.14000ae00
mov edi, dword [r12 + 0x28]
mov eax, dword [rbp + 0x18]
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x140008201
mov r13d, edi
mov rcx, qword [rbp + 0x10]
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rbp + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rbp + 0x1c], edi
sub dword [rbp + 0x18], edi
sub dword [r12 + 0x28], edi
jne 0x140008201
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi]
mov r11d, dword [rax + 0x18]
test r11d, r11d
jne 0x14000821e
mov dword [rdi + 8], 0x29a
jmp 0x140007330
mov dword [rdi + 8], 0x29a
jmp 0x140006d65
mov r13d, r12d
mov ebp, r12d
jmp 0x140007813
mov rdi, rax
mov eax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x140008255
movsxd rdx, eax
add rdx, qword [rdi + 0x50]
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.14000afe0
mov eax, dword [rdi + 0x94]
mov r12, qword [rdi]
mov dword [rdi + 0x84], eax
mov rbp, qword [r12 + 0x28]
mov rcx, rbp
call fcn.14000ae00
mov edi, dword [rbp + 0x28]
mov eax, dword [r12 + 0x18]
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x140008201
mov r13d, edi
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rbp + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r13
add qword [rbp + 0x20], r13
add dword [r12 + 0x1c], edi
sub dword [r12 + 0x18], edi
sub dword [rbp + 0x28], edi
jne 0x140008201
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x140008201
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.msvcrt.dll_memset
mov ecx, dword [rbx + 0x9c]
test ecx, ecx
jne 0x140006cfe
mov dword [rbx + 0x94], 0
mov dword [rbx + 0x84], 0
mov dword [rbx + 0x1708], 0
jmp 0x140006cfe
add rdx, 4
jmp 0x140007f0c
add rdx, 3
jmp 0x140007f0c
add rdx, 2
jmp 0x140007f0c
add rdx, 5
jmp 0x140007f0c
add rdx, 7
jmp 0x140007f0c
add rdx, 6
jmp 0x140007f0c