Function at 0x6df250
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r12, rcx
mov esi, edx
call fcn.006dea00
mov r13d, eax
test eax, eax
jne 0x6e0402
cmp esi, 5
ja 0x6e0402
mov rax, qword [r12 + 0x28]
cmp qword [r12 + 0x10], 0
mov qword [rsp + 0x20], rax
je 0x6e019b
mov edx, dword [r12 + 8]
test edx, edx
je 0x6df2a8
cmp qword [r12], 0
je 0x6e019b
mov rax, qword [rsp + 0x20]
cmp esi, 4
setne cl
mov eax, dword [rax + 8]
cmp eax, 0x29a
jne 0x6df2c5
test cl, cl
jne 0x6e019b
mov r8d, dword [r12 + 0x18]
test r8d, r8d
je 0x6e01b6
mov rbx, qword [rsp + 0x20]
mov r15d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
mov dword [rbx + 0x40], esi
test r15d, r15d
jne 0x6df9c0
test edx, edx
je 0x6df4b0
cmp eax, 0x29a
je 0x6e01b6
cmp eax, 0x2a
jne 0x6df5f2
mov rax, qword [rsp + 0x20]
mov edi, dword [rax + 0x2c]
test edi, edi
jne 0x6df530
mov ecx, dword [r12 + 8]
mov dword [rax + 8], 0x71
test ecx, ecx
je 0x6df502
nop dword [rax]
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0xac]
test eax, eax
je 0x6dfdd8
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx + 0xb0]
cmp edx, 2
je 0x6df800
cmp edx, 3
je 0x6dffb0
shl rax, 4
lea r8, [0x023d5ce0]
mov rcx, qword [rsp + 0x20]
mov edx, esi
call qword [r8 + rax + 8]
mov edx, eax
lea ecx, [rax - 2]
and edx, 0xfffffffd
cmp ecx, 1
ja 0x6df970
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0x29a
test edx, edx
je 0x6df997
cmp esi, 4
jne 0x6df9ac
mov rsi, qword [rsp + 0x20]
mov r13d, 1
mov edx, dword [rsi + 0x2c]
test edx, edx
jle 0x6df9ac
mov eax, dword [rsi + 0x28]
mov ecx, dword [r12 + 0x4c]
lea r8d, [rax + 1]
add rax, qword [rsi + 0x10]
cmp edx, 2
jne 0x6dff20
mov dword [rsi + 0x28], r8d
mov byte [rax], cl
mov eax, dword [rsi + 0x28]
mov ecx, dword [r12 + 0x4c]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rsi + 0x28]
movzx ecx, word [r12 + 0x4e]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rsi + 0x28]
movzx ecx, byte [r12 + 0x4f]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rsi + 0x28]
mov ecx, dword [r12 + 0xc]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rsi + 0x28]
mov ecx, dword [r12 + 0xc]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rsi + 0x28]
movzx ecx, word [r12 + 0xe]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
movzx ecx, byte [r12 + 0xf]
mov eax, dword [rsi + 0x28]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
mov rcx, r12
call fcn.006dd930
mov rsi, qword [rsp + 0x20]
mov eax, dword [rsi + 0x2c]
test eax, eax
jle 0x6df499
neg eax
mov dword [rsi + 0x2c], eax
mov rax, qword [rsp + 0x20]
xor r13d, r13d
mov edx, dword [rax + 0x28]
test edx, edx
sete r13b
jmp 0x6df9ac
cmp esi, 5
mov edx, 1
lea r9d, [rsi + rsi]
cmove r9d, edx
lea edx, [r8 + r8]
cmp r8d, 4
lea r10d, [rdx - 9]
cmovg edx, r10d
cmp r9d, edx
jg 0x6df4dd
test cl, cl
jne 0x6e01b6
cmp eax, 0x29a
jne 0x6df2ff
mov ebp, dword [r12 + 8]
test ebp, ebp
jne 0x6e01b6
mov ecx, dword [r12 + 8]
test ecx, ecx
jne 0x6df330
mov rax, qword [rsp + 0x20]
mov edx, dword [rax + 0x9c]
test edx, edx
jne 0x6df330
test esi, esi
je 0x6df9ac
cmp dword [rax + 8], 0x29a
jne 0x6df330
jmp 0x6df39d
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx + 0x48]
shl eax, 0xc
sub eax, 0x7800
cmp dword [rcx + 0xb0], 1
jle 0x6dfba0
mov rdx, qword [rsp + 0x20]
mov ebx, dword [rdx + 0x94]
test ebx, ebx
je 0x6df55f
or eax, 0x20
mov edx, eax
mov rdi, qword [rsp + 0x20]
imul rdx, rdx, 0x8421085
mov rcx, qword [rdi + 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 [rdi + 0x28]
lea r8d, [rdx + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rdx], ah
mov edx, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x10]
lea r8d, [rdx + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rdx], al
mov r11d, dword [rdi + 0x94]
test r11d, r11d
jne 0x6dfbc8
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.006dd1c0
mov rbx, qword [rsp + 0x20]
mov rcx, r12
mov dword [r12 + 0x4c], eax
mov dword [rbx + 8], 0x71
call fcn.006dd930
mov r10d, dword [rbx + 0x28]
mov rax, qword [rsp + 0x20]
test r10d, r10d
jne 0x6df9a5
mov eax, dword [rax + 8]
cmp eax, 0x39
jne 0x6dfaa8
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call fcn.006e5ee0
mov rbx, qword [rsp + 0x20]
mov dword [r12 + 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 0x6df9e0
mov ecx, dword [rax]
mov r8d, dword [rax + 0x3c]
test ecx, ecx
setne dl
test r8d, r8d
je 0x6df664
add edx, 2
cmp qword [rax + 0x10], 0
je 0x6df66e
add edx, 4
cmp qword [rax + 0x20], 0
je 0x6df678
add edx, 8
cmp qword [rax + 0x30], 0
je 0x6df682
add edx, 0x10
mov rdi, qword [rsp + 0x20]
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 rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
movzx ecx, word [rax + 6]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
movzx ecx, byte [rax + 7]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0xac]
mov edx, 2
cmp eax, 9
je 0x6df724
cmp dword [rdi + 0xb0], 1
jg 0x6df71f
xor edx, edx
cmp eax, 1
jg 0x6df724
mov edx, 4
mov rdi, qword [rsp + 0x20]
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 rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
mov ecx, dword [rax + 0xc]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rdi + 0x30]
cmp qword [rax + 0x10], 0
je 0x6df791
mov ecx, dword [rax + 0x18]
mov eax, dword [rdi + 0x28]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x10]
mov ecx, dword [rax + 0x18]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + 0x3c]
test edx, edx
jne 0x6e03a0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov dword [rdx + 8], 0x45
jmp 0x6dfaba
mov eax, dword [rdi + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x6df7ce
movsxd rdx, eax
add rdx, qword [rdi + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.006e5210
mov eax, dword [rbx + 0x94]
mov rcx, qword [rbx]
mov dword [rbx + 0x84], eax
call fcn.006dd930
mov rax, qword [rbx]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x6df997
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x6df8bb
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x94]
mov rdx, qword [rdi + 0x50]
mov dword [rdi + 0x88], 0
mov rcx, qword [rdi + 0x16e8]
movzx eax, byte [rdx + rax]
mov edx, dword [rdi + 0x16f4]
lea r8d, [rdx + 1]
mov dword [rdi + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rdi + 0x16f4]
mov rcx, qword [rdi + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rdi + 0x16f4], r8d
mov byte [rcx + rdx], 0
mov edx, dword [rdi + 0x16f4]
mov rcx, qword [rdi + 0x16e8]
lea r8d, [rdx + 1]
mov dword [rdi + 0x16f4], r8d
mov byte [rcx + rdx], al
mov ebx, dword [rdi + 0x94]
add word [rdi + rax*4 + 0xbc], 1
mov eax, dword [rdi + 0x9c]
lea r8d, [rbx + 1]
mov ebx, dword [rdi + 0x16f8]
sub eax, 1
mov dword [rdi + 0x94], r8d
mov dword [rdi + 0x9c], eax
cmp dword [rdi + 0x16f4], ebx
je 0x6df7b8
test eax, eax
jne 0x6df810
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.006dd690
mov eax, dword [rbx + 0x9c]
test eax, eax
jne 0x6df810
test esi, esi
je 0x6df997
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1708], 0
cmp esi, 4
je 0x6e040d
mov rax, qword [rsp + 0x20]
mov r15d, dword [rax + 0x16f4]
test r15d, r15d
je 0x6df97d
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx + 0x84]
mov r8d, dword [rcx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x6df931
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rdi, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rdi
call fcn.006e5210
mov eax, dword [rdi + 0x94]
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
call fcn.006dd930
mov rax, qword [rdi]
mov r11d, dword [rax + 0x18]
xor eax, eax
test r11d, r11d
setne al
mov edx, eax
nop word cs:[rax + rax]
test edx, edx
je 0x6df997
cmp eax, 1
jne 0x6df39d
cmp esi, 1
je 0x6e046a
cmp esi, 5
jne 0x6e0100
mov rcx, r12
call fcn.006dd930
mov eax, dword [r12 + 0x18]
test eax, eax
jne 0x6df9ac
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x40], 0xffffffff
mov eax, r13d
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call fcn.006dd930
mov r14d, dword [r12 + 0x18]
mov rax, qword [rsp + 0x20]
test r14d, r14d
je 0x6df9a5
mov eax, dword [rax + 8]
jmp 0x6df4dd
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 eax, dword [rbx + 0xac]
mov edx, 2
cmp eax, 9
je 0x6dfa5a
cmp dword [rbx + 0xb0], 1
jg 0x6dfa55
xor edx, edx
cmp eax, 1
jg 0x6dfa5a
mov edx, 4
mov rbx, qword [rsp + 0x20]
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov rcx, r12
mov byte [rdx + rax], 0xa
mov dword [rbx + 8], 0x71
call fcn.006dd930
mov r9d, dword [rbx + 0x28]
test r9d, r9d
jne 0x6df9a0
mov eax, dword [rbx + 8]
nop dword [rax]
cmp eax, 0x45
jne 0x6dff78
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov r10, qword [rax + 0x10]
test r10, r10
je 0x6dfc71
mov rcx, qword [rsp + 0x20]
movzx r14d, word [rax + 0x18]
mov edx, dword [rcx + 0x38]
mov edi, dword [rcx + 0x28]
mov ebp, dword [rcx + 0x18]
sub r14d, edx
lea eax, [rdi + r14]
cmp eax, ebp
ja 0x6dfb31
jmp 0x6e048a
mov rbx, qword [rsp + 0x20]
mov rcx, r12
add dword [rbx + 0x38], r15d
call fcn.006dd930
mov r15d, dword [rbx + 0x28]
test r15d, r15d
jne 0x6df9a0
mov rcx, qword [rsp + 0x20]
sub edi, ebp
add r14d, edi
mov rax, qword [rcx + 0x30]
mov ebp, dword [rcx + 0x18]
mov edx, dword [rcx + 0x38]
mov r10, qword [rax + 0x10]
cmp ebp, r14d
jae 0x6dfc30
xor edi, edi
mov rbx, qword [rsp + 0x20]
mov r15d, ebp
mov r9d, edi
add rdx, r10
sub r15d, edi
mov rcx, r9
mov qword [rsp + 0x28], r9
mov r8d, r15d
add rcx, qword [rbx + 0x10]
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 0x6dfaf0
cmp r8d, edi
mov r9, qword [rsp + 0x28]
jbe 0x6dfaf0
mov rax, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
mov rdx, r9
sub r8d, edi
add rdx, qword [rax + 0x10]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
jmp 0x6dfaf0
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx + 0xac]
cmp edx, 1
jle 0x6df54d
cmp edx, 5
jg 0x6e0138
or eax, 0x40
jmp 0x6df54d
mov eax, dword [rdi + 0x28]
mov edx, dword [r12 + 0x4c]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov r8d, edx
shr edx, 0x10
shr r8d, 0x18
mov byte [rcx + rax], r8b
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 [r12 + 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
jmp 0x6df5b8
xor ebp, ebp
mov rdi, qword [rsp + 0x20]
mov r8d, r14d
mov rcx, rbp
add rdx, r10
add rcx, qword [rdi + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi + 0x30]
add r14d, dword [rdi + 0x28]
mov dword [rdi + 0x28], r14d
mov edi, dword [rax + 0x3c]
test edi, edi
je 0x6dfc65
cmp r14d, r15d
ja 0x6e0171
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x49
cmp qword [rax + 0x20], 0
je 0x6dfd3b
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x6dfcd1
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rax + 0x20]
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
mov dword [rdi + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rdi + 0x10]
mov dword [rdi + 0x28], ecx
mov byte [rdx + r8], al
test al, al
je 0x6dfd10
mov r8d, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov rcx, qword [rsp + 0x20]
cmp dword [rcx + 0x18], r8d
jne 0x6dfca0
mov ebx, dword [rax + 0x3c]
test ebx, ebx
je 0x6dfcec
cmp r9d, r8d
jb 0x6dfdf0
mov rcx, r12
call fcn.006dd930
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x6df9a0
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x6dfca0
mov rdx, qword [rsp + 0x20]
mov rax, qword [rdx + 0x30]
mov r11d, dword [rax + 0x3c]
test r11d, r11d
je 0x6dfd2f
mov r8d, dword [rdx + 0x28]
cmp r8d, r9d
ja 0x6e014a
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 0x6dff15
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x6dfd95
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rax + 0x30]
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
mov dword [rdi + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rdi + 0x10]
mov dword [rdi + 0x28], ecx
mov byte [rdx + r8], al
test al, al
je 0x6dfe38
mov r8d, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov rdx, qword [rsp + 0x20]
cmp dword [rdx + 0x18], r8d
jne 0x6dfd60
mov r10d, dword [rax + 0x3c]
test r10d, r10d
je 0x6dfdae
cmp r9d, r8d
jb 0x6dfe10
mov rcx, r12
call fcn.006dd930
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x6df9a0
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x6dfd60
mov rcx, qword [rsp + 0x20]
mov edx, esi
call fcn.006de480
jmp 0x6df378
mov edx, r9d
add rdx, qword [rcx + 0x10]
mov ecx, dword [r12 + 0x4c]
sub r8d, r9d
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
jmp 0x6dfcec
mov rax, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rax + 0x10]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
jmp 0x6dfdae
mov rdx, qword [rsp + 0x20]
mov rax, qword [rdx + 0x30]
mov eax, dword [rax + 0x3c]
test eax, eax
je 0x6dfecd
mov r8d, dword [rdx + 0x28]
cmp r8d, r9d
ja 0x6dfef3
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 8], 0x67
test eax, eax
je 0x6dfecd
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x28]
lea edx, [rax + 2]
cmp edx, dword [rdi + 0x18]
jbe 0x6dfe8c
mov rcx, r12
call fcn.006dd930
mov eax, dword [rdi + 0x28]
test eax, eax
jne 0x6df9a0
mov rbx, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
lea r8d, [rax + 1]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov ecx, dword [r12 + 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.006e5ee0
mov dword [r12 + 0x4c], eax
mov rdi, qword [rsp + 0x20]
mov rcx, r12
mov dword [rdi + 8], 0x71
call fcn.006dd930
mov r8d, dword [rdi + 0x28]
test r8d, r8d
je 0x6df4f5
jmp 0x6df9a0
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rdi + 0x10]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
mov rax, qword [rdi + 0x30]
mov eax, dword [rax + 0x3c]
jmp 0x6dfe59
mov rsi, qword [rsp + 0x20]
mov edx, ecx
shr ecx, 0x10
shr edx, 0x18
mov dword [rsi + 0x28], r8d
mov byte [rax], dl
mov eax, dword [rsi + 0x28]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rsi + 0x28]
movzx edx, word [r12 + 0x4c]
mov rcx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rcx + rax], dh
mov eax, dword [rsi + 0x28]
mov rcx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x28], r8d
mov byte [rcx + rax], dl
jmp 0x6df480
cmp eax, 0x49
jne 0x6dff8b
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x6dfc7d
cmp eax, 0x5b
je 0x6e03f4
cmp eax, 0x67
jne 0x6df4f5
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x3c]
jmp 0x6dfe65
mov rbp, qword [0x02471af0]
mov rdi, qword [0x02471ac0]
mov r14d, 0x102
jmp 0x6e008e
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 0x6e0008
lea rdx, [r8 + rcx - 1]
movzx r9d, byte [rdx]
cmp r9b, byte [rdx + 1]
je 0x6e01d8
nop word [rax + rax]
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
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x16f8]
sub dword [rbx + 0x9c], 1
add dword [rbx + 0x94], 1
cmp dword [rbx + 0x16f4], eax
je 0x6e0326
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
cmp eax, 0x102
ja 0x6dffd0
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.006dd690
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
ja 0x6dffd0
test esi, esi
je 0x6df997
test eax, eax
je 0x6e03c8
mov edx, dword [rbx + 0x94]
mov r8, qword [rbx + 0x50]
mov dword [rbx + 0x88], 0
mov ecx, edx
cmp eax, 2
jbe 0x6e0008
jmp 0x6dffeb
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.006e4ee0
cmp esi, 3
je 0x6e0494
mov rcx, r12
call fcn.006dd930
mov ecx, dword [r12 + 0x18]
test ecx, ecx
jne 0x6df39d
jmp 0x6df9a0
mov ecx, eax
or al, 0xc0
or cl, 0x80
cmp edx, 6
cmove eax, ecx
jmp 0x6df54d
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rdi + 0x10]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
mov rax, qword [rdi + 0x30]
jmp 0x6dfd2f
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
sub r14d, r15d
mov rdx, rbp
mov r8d, r14d
add rdx, qword [rdi + 0x10]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
mov rax, qword [rdi + 0x30]
jmp 0x6dfc65
mov rax, qword [0x02472e30]
mov r13d, 0xfffffffe
mov rax, qword [rax + 0x20]
mov qword [r12 + 0x20], rax
jmp 0x6df9ac
mov rax, qword [0x02472e30]
mov r13d, 0xfffffffb
mov rax, qword [rax + 0x38]
mov qword [r12 + 0x20], rax
jmp 0x6df9ac
cmp r9b, byte [rdx + 2]
jne 0x6e0008
cmp r9b, byte [rdx + 3]
jne 0x6e0008
add rdx, 3
lea r10, [r8 + rcx + 0x102]
jmp 0x6e024a
cmp r9b, byte [rdx + 2]
jne 0x6e04fb
cmp r9b, byte [rdx + 3]
jne 0x6e04f2
cmp r9b, byte [rdx + 4]
jne 0x6e04e9
cmp r9b, byte [rdx + 5]
jne 0x6e0504
cmp r9b, byte [rdx + 6]
jne 0x6e0516
cmp r9b, byte [rdx + 7]
jne 0x6e050d
add rdx, 8
cmp byte [rdx], r9b
jne 0x6e0254
cmp rdx, r10
jae 0x6e0254
cmp r9b, byte [rdx + 1]
je 0x6e0200
add rdx, 1
sub r10, rdx
mov rbx, qword [rsp + 0x20]
mov edx, r14d
sub edx, r10d
mov dword [rbx + 0x88], edx
cmp edx, eax
jbe 0x6e0388
mov dword [rbx + 0x88], eax
mov edx, eax
nop dword [rax + rax]
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
movzx eax, byte [rbp + rax]
add word [rbx + rax*4 + 0x4c0], 1
movzx eax, byte [rdi]
add word [rbx + rax*4 + 0x9b0], 1
mov eax, dword [rbx + 0x88]
mov dword [rbx + 0x88], 0
sub dword [rbx + 0x9c], eax
add dword [rbx + 0x94], eax
mov eax, dword [rbx + 0x16f8]
cmp dword [rbx + 0x16f4], eax
jne 0x6e008e
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov eax, dword [rcx + 0x84]
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x6e0348
movsxd rdx, eax
add rdx, qword [rcx + 0x50]
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.006e5210
mov eax, dword [rbx + 0x94]
mov rcx, qword [rbx]
mov dword [rbx + 0x84], eax
call fcn.006dd930
mov rax, qword [rbx]
mov r14d, dword [rax + 0x18]
test r14d, r14d
jne 0x6dffbe
jmp 0x6df997
cmp edx, 2
ja 0x6e0280
jmp 0x6e0008
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r12 + 0x4c]
mov rdx, qword [rdi + 0x10]
mov r8d, dword [rdi + 0x28]
call fcn.006e5ee0
mov dword [r12 + 0x4c], eax
mov rax, qword [rdi + 0x30]
jmp 0x6df79c
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1708], 0
cmp esi, 4
je 0x6e040d
mov rcx, qword [rsp + 0x20]
mov ebx, dword [rcx + 0x16f4]
test ebx, ebx
je 0x6df97d
jmp 0x6df914
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x6dfd47
mov r13d, 0xfffffffe
jmp 0x6df9ac
mov rsi, rax
mov eax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rsi + 0x94]
sub r8d, eax
test eax, eax
js 0x6e042d
movsxd rdx, eax
add rdx, qword [rsi + 0x50]
mov rsi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rsi
call fcn.006e5210
mov eax, dword [rsi + 0x94]
mov rcx, qword [rsi]
mov dword [rsi + 0x84], eax
call fcn.006dd930
mov rax, qword [rsi]
mov edi, dword [rax + 0x18]
test edi, edi
jne 0x6e0479
mov dword [rsi + 8], 0x29a
jmp 0x6df997
mov rcx, qword [rsp + 0x20]
call fcn.006e5090
jmp 0x6df98f
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0x29a
jmp 0x6df3a6
mov ebp, edi
mov r15d, edi
jmp 0x6dfc32
mov rsi, qword [rsp + 0x20]
xor r9d, r9d
xor edx, edx
mov eax, dword [rsi + 0x74]
mov rcx, qword [rsi + 0x68]
lea r8d, [rax - 1]
mov word [rcx + r8*2], r9w
add r8, r8
call sub.msvcrt.dll_memset
mov r10d, dword [rsi + 0x9c]
test r10d, r10d
jne 0x6df98f
mov dword [rsi + 0x94], 0
mov dword [rsi + 0x84], 0
mov dword [rsi + 0x1708], 0
jmp 0x6df98f
add rdx, 4
jmp 0x6e0254
add rdx, 3
jmp 0x6e0254
add rdx, 2
jmp 0x6e0254
add rdx, 5
jmp 0x6e0254
add rdx, 7
jmp 0x6e0254
add rdx, 6
jmp 0x6e0254