Function at 0x5a20d0
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, 0x48
mov eax, 0xfffffffe
test rcx, rcx
je 0x5a2106
cmp qword [rcx + 0x30], 0
je 0x5a2106
cmp qword [rcx + 0x38], 0
je 0x5a2106
mov rbx, qword [rcx + 0x28]
test rbx, rbx
je 0x5a2106
cmp rcx, qword [rbx]
je 0x5a2120
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rbx + 8]
cmp r8d, 0x45
setne r10b
cmp r8d, 0x2a
setne r9b
and r9d, r10d
cmp r8d, 0x5b
setne r10b
and r9d, r10d
cmp r8d, 0x67
setne r10b
and r9d, r10d
cmp r8d, 0x71
setne r10b
and r9d, r10d
cmp r8d, 0x29a
setne r10b
test r9b, r10b
je 0x5a2172
lea r9d, [r8 - 0x39]
and r9d, 0xffffffef
jne 0x5a2106
cmp edx, 5
ja 0x5a372c
cmp qword [rcx + 0x10], 0
je 0x5a3400
mov eax, dword [rcx + 8]
test eax, eax
je 0x5a2197
cmp qword [rcx], 0
je 0x5a3400
cmp edx, 4
setne byte [rsp + 0x2f]
je 0x5a21ae
cmp r8d, 0x29a
je 0x5a3400
mov r11d, dword [rcx + 0x18]
test r11d, r11d
je 0x5a33e7
mov r10d, dword [rbx + 0x28]
mov edi, edx
mov rsi, rcx
mov edx, dword [rbx + 0x40]
mov dword [rbx + 0x40], edi
test r10d, r10d
jne 0x5a25c0
test eax, eax
jne 0x5a2209
xor eax, eax
cmp edi, 5
lea r9d, [rdi + rdi]
sete al
lea ecx, [rdx + rdx]
lea eax, [rax + rax*8]
sub r9d, eax
xor eax, eax
cmp edx, 4
setg al
lea eax, [rax + rax*8]
sub ecx, eax
cmp r9d, ecx
jg 0x5a2209
cmp byte [rsp + 0x2f], 0
jne 0x5a25fd
cmp r8d, 0x29a
je 0x5a25f0
cmp r8d, 0x2a
je 0x5a2620
cmp r8d, 0x39
je 0x5a2c50
cmp r8d, 0x45
je 0x5a2660
cmp r8d, 0x49
je 0x5a31c0
cmp r8d, 0x5b
je 0x5a3435
cmp r8d, 0x67
je 0x5a343e
mov eax, dword [rsi + 8]
test eax, eax
jne 0x5a2274
mov eax, dword [rbx + 0x9c]
test eax, eax
jne 0x5a2274
test edi, edi
je 0x5a22d9
cmp dword [rbx + 8], 0x29a
je 0x5a2503
movsxd rax, dword [rbx + 0xac]
test eax, eax
je 0x5a2650
mov edx, dword [rbx + 0xb0]
cmp edx, 2
je 0x5a233e
cmp edx, 3
je 0x5a2e60
lea r8, [0x0066b140]
shl rax, 4
mov edx, edi
mov rcx, rbx
call qword [r8 + rax + 8]
lea edx, [rax - 2]
cmp edx, 1
jbe 0x5a2e00
mov edx, eax
and edx, 0xfffffffd
test edx, edx
jne 0x5a24b0
mov r11d, dword [rsi + 0x18]
test r11d, r11d
jne 0x5a22d9
mov dword [rbx + 0x40], 0xffffffff
xor eax, eax
jmp 0x5a2106
movsxd rax, dword [rbx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a22f7
add rax, qword [rbx + 0x50]
mov rdx, rax
xor r9d, r9d
mov rcx, rbx
call fcn.005aa0d0
mov r12, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r14, qword [r12 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r14
call fcn.005a9ec0
mov ebp, dword [r14 + 0x28]
mov eax, dword [r12 + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a32ed
mov rax, qword [rbx]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x5a22c9
mov eax, dword [rbx + 0x9c]
jmp 0x5a23f6
mov eax, dword [rbx + 0x94]
mov rdx, qword [rbx + 0x50]
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
add word [rbx + rax*4 + 0xbc], 1
mov ecx, dword [rbx + 0x94]
mov eax, dword [rbx + 0x9c]
lea r8d, [rcx + 1]
sub eax, 1
mov ecx, dword [rbx + 0x16f8]
cmp dword [rbx + 0x16f4], ecx
mov dword [rbx + 0x9c], eax
mov dword [rbx + 0x94], r8d
je 0x5a22e0
test eax, eax
jne 0x5a2350
mov rcx, rbx
call fcn.0059fe00
mov eax, dword [rbx + 0x9c]
test eax, eax
jne 0x5a2350
test edi, edi
je 0x5a22c9
cmp edi, 4
mov dword [rbx + 0x1708], 0
je 0x5a3698
mov r15d, dword [rbx + 0x16f4]
test r15d, r15d
je 0x5a24b5
movsxd rax, dword [rbx + 0x84]
mov r8d, dword [rbx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a2459
add rax, qword [rbx + 0x50]
mov rdx, rax
xor r9d, r9d
mov rcx, rbx
call fcn.005aa0d0
mov r12, qword [rbx]
mov eax, dword [rbx + 0x94]
mov rbp, qword [r12 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, rbp
call fcn.005a9ec0
mov r14d, dword [rbp + 0x28]
mov eax, dword [r12 + 0x18]
cmp eax, r14d
cmovbe r14d, eax
test r14d, r14d
jne 0x5a3801
mov rax, qword [rbx]
mov ebp, dword [rax + 0x18]
xor eax, eax
test ebp, ebp
setne al
mov edx, eax
jmp 0x5a22c1
cmp eax, 1
jne 0x5a2503
cmp edi, 1
je 0x5a329c
cmp edi, 5
je 0x5a24dc
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.005a9d20
cmp edi, 3
je 0x5a37b0
mov rbp, qword [rsi + 0x28]
mov rcx, rbp
call fcn.005a9ec0
mov edi, dword [rbp + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, edi
cmovbe edi, eax
test edi, edi
jne 0x5a3447
test eax, eax
je 0x5a2640
cmp byte [rsp + 0x2f], 0
jne 0x5a22d9
mov eax, dword [rbx + 0x2c]
test eax, eax
jle 0x5a352a
cmp eax, 2
je 0x5a3483
mov eax, dword [rbx + 0x28]
mov edx, dword [rsi + 0x4c]
mov r8, qword [rbx + 0x10]
mov ecx, edx
shr edx, 0x18
lea r9d, [rax + 1]
shr ecx, 0x10
mov dword [rbx + 0x28], r9d
mov byte [r8 + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov r8d, edx
shr r8d, 8
mov byte [rcx + rax], r8b
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 rbp, qword [rsi + 0x28]
mov rcx, rbp
call fcn.005a9ec0
mov edi, dword [rbp + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, edi
cmovbe edi, eax
test edi, edi
jne 0x5a321e
mov eax, dword [rbx + 0x2c]
test eax, eax
jle 0x5a25ad
neg eax
mov dword [rbx + 0x2c], eax
mov edx, dword [rbx + 0x28]
xor eax, eax
test edx, edx
sete al
jmp 0x5a2106
mov rcx, rbx
call fcn.005a9ec0
mov ebp, dword [rbx + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a2bf0
test eax, eax
je 0x5a2640
mov r8d, dword [rbx + 8]
cmp r8d, 0x29a
jne 0x5a2216
mov r9d, dword [rsi + 8]
test r9d, r9d
je 0x5a2252
mov rax, qword [0x00670ec0]
mov rax, qword [rax + 0x38]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffb
jmp 0x5a2106
mov r8d, dword [rbx + 0x2c]
test r8d, r8d
jne 0x5a2aa2
mov dword [rbx + 8], 0x71
jmp 0x5a2252
mov dword [rbx + 0x40], 0xffffffff
jmp 0x5a2106
mov edx, edi
mov rcx, rbx
call fcn.005a01c0
jmp 0x5a22b0
mov rcx, qword [rbx + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x5a27d7
movzx r14d, word [rcx + 0x18]
mov edx, dword [rbx + 0x38]
mov r12d, dword [rbx + 0x28]
mov eax, dword [rbx + 0x18]
sub r14d, edx
mov ebp, r12d
lea ecx, [r14 + r12]
cmp eax, ecx
jb 0x5a26bd
jmp 0x5a2780
mov r15d, dword [rbx + 0x28]
test r15d, r15d
jne 0x5a22d2
mov eax, dword [rbx + 0x18]
sub r14d, ebp
cmp eax, r14d
jae 0x5a2770
mov rdx, qword [rbx + 0x30]
xor r12d, r12d
mov r9, qword [rdx + 0x10]
mov edx, dword [rbx + 0x38]
mov r15d, r12d
sub eax, r12d
mov rcx, r15
add rcx, qword [rbx + 0x10]
mov r8d, eax
mov eax, edx
mov rbp, r8
lea rdx, [r9 + rax]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbx + 0x18]
cmp r12d, r8d
mov dword [rbx + 0x28], r8d
jae 0x5a26f3
mov rax, qword [rbx + 0x30]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x5a2753
mov r15, qword [rsi + 0x28]
add dword [rbx + 0x38], ebp
mov rcx, r15
call fcn.005a9ec0
mov r12d, dword [r15 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, r12d
cmovbe r12d, eax
test r12d, r12d
je 0x5a2693
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r15 + 0x20]
mov r13d, r12d
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r15 + 0x20], r13
add dword [rsi + 0x1c], r12d
sub dword [rsi + 0x18], r12d
sub dword [r15 + 0x28], r12d
jne 0x5a2693
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x20], rax
jmp 0x5a2693
mov rdx, r15
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r12d
call fcn.0059f870
mov dword [rsi + 0x4c], eax
jmp 0x5a26f3
mov rax, qword [rbx + 0x30]
mov edx, dword [rbx + 0x38]
xor ebp, ebp
xor r12d, r12d
mov r9, qword [rax + 0x10]
mov rcx, rbp
add rcx, qword [rbx + 0x10]
mov eax, edx
lea rdx, [r9 + rax]
mov r8d, r14d
call sub.msvcrt.dll_memcpy
add r14d, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x30]
cmp r14d, r12d
mov r8d, r14d
mov dword [rbx + 0x28], r14d
jbe 0x5a27d0
mov r13d, dword [rcx + 0x3c]
test r13d, r13d
je 0x5a27d0
mov rdx, rbp
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r12d
call fcn.0059f870
mov rcx, qword [rbx + 0x30]
mov dword [rsi + 0x4c], eax
nop dword [rax + rax]
mov dword [rbx + 0x38], 0
mov dword [rbx + 8], 0x49
cmp qword [rcx + 0x20], 0
je 0x5a28e7
mov r9d, dword [rbx + 0x28]
mov r8d, r9d
jmp 0x5a2822
mov eax, dword [rbx + 0x38]
mov rdx, qword [rcx + 0x20]
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 0x5a28b0
mov r8d, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x30]
cmp dword [rbx + 0x18], r8d
jne 0x5a27f2
cmp r9d, r8d
jae 0x5a2838
mov ebp, dword [rcx + 0x3c]
test ebp, ebp
jne 0x5a2bd0
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a2870
mov r8d, dword [rbx + 0x28]
test r8d, r8d
jne 0x5a22d2
mov rcx, qword [rbx + 0x30]
xor r9d, r9d
jmp 0x5a27f2
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2855
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2855
mov rcx, qword [rbx + 0x30]
mov r11d, dword [rcx + 0x3c]
test r11d, r11d
je 0x5a28e0
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x5a28e0
mov edx, r9d
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.0059f870
mov rcx, qword [rbx + 0x30]
mov dword [rsi + 0x4c], eax
nop
mov dword [rbx + 0x38], 0
mov dword [rbx + 8], 0x5b
cmp qword [rcx + 0x30], 0
je 0x5a29f0
mov r9d, dword [rbx + 0x28]
mov r8d, r9d
jmp 0x5a2932
mov eax, dword [rbx + 0x38]
mov rdx, qword [rcx + 0x30]
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 0x5a29c0
mov r8d, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x30]
cmp dword [rbx + 0x18], r8d
jne 0x5a2902
cmp r9d, r8d
jae 0x5a294a
mov r10d, dword [rcx + 0x3c]
test r10d, r10d
jne 0x5a2c30
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a2980
mov r8d, dword [rbx + 0x28]
test r8d, r8d
jne 0x5a22d2
mov rcx, qword [rbx + 0x30]
xor r9d, r9d
jmp 0x5a2902
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2967
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2967
mov rcx, qword [rbx + 0x30]
mov r8d, dword [rcx + 0x3c]
test r8d, r8d
je 0x5a29f0
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x5a29f0
mov edx, r9d
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.0059f870
mov rcx, qword [rbx + 0x30]
mov dword [rsi + 0x4c], eax
nop
mov dword [rbx + 8], 0x67
mov edx, dword [rcx + 0x3c]
test edx, edx
je 0x5a2a6a
mov eax, dword [rbx + 0x28]
lea edx, [rax + 2]
cmp edx, dword [rbx + 0x18]
jbe 0x5a2a35
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a3255
mov eax, dword [rbx + 0x28]
test eax, eax
jne 0x5a22d2
lea ecx, [rax + 1]
mov rdx, qword [rbx + 0x10]
xor r8d, r8d
mov dword [rbx + 0x28], ecx
mov ecx, dword [rsi + 0x4c]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
mov dword [rbx + 0x28], edx
mov edx, dword [rsi + 0x4c]
shr edx, 8
mov byte [rcx + rax], dl
xor edx, edx
xor ecx, ecx
call fcn.0059f870
mov dword [rsi + 0x4c], eax
mov r12, qword [rsi + 0x28]
mov dword [rbx + 8], 0x71
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a32b0
mov eax, dword [rbx + 0x28]
test eax, eax
je 0x5a2252
jmp 0x5a22d2
mov eax, dword [rbx + 0x48]
xor ecx, ecx
shl eax, 0xc
sub eax, 0x7800
cmp dword [rbx + 0xb0], 1
jle 0x5a3190
mov edx, dword [rbx + 0x94]
or ecx, eax
mov eax, ecx
or eax, 0x20
test edx, edx
mov edx, 0x8421085
cmovne ecx, eax
mov eax, ecx
mul edx
sub ecx, edx
shr ecx, 1
add edx, ecx
mov rcx, qword [rbx + 0x10]
shr edx, 4
mov eax, edx
shl eax, 5
sub eax, edx
mov edx, dword [rbx + 0x28]
add eax, 0x1f
lea r8d, [rdx + 1]
mov dword [rbx + 0x28], r8d
mov r8d, eax
shr r8d, 8
mov byte [rcx + rdx], r8b
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 ecx, dword [rbx + 0x94]
test ecx, ecx
je 0x5a2b80
mov eax, dword [rbx + 0x28]
mov edx, dword [rsi + 0x4c]
mov r8, qword [rbx + 0x10]
mov ecx, edx
shr edx, 0x18
lea r9d, [rax + 1]
shr ecx, 0x10
mov dword [rbx + 0x28], r9d
mov byte [r8 + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov r8d, edx
shr r8d, 8
mov byte [rcx + rax], r8b
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rcx + rax], dl
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.0059ef60
mov r12, qword [rsi + 0x28]
mov dword [rsi + 0x4c], eax
mov dword [rbx + 8], 0x71
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a2e20
mov eax, dword [rbx + 0x28]
test eax, eax
jne 0x5a22d2
mov r8d, dword [rbx + 8]
jmp 0x5a2220
mov edx, r9d
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.0059f870
mov dword [rsi + 0x4c], eax
jmp 0x5a2838
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rbx + 0x20]
mov r12d, ebp
mov r8, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r12
add qword [rbx + 0x20], r12
add dword [rsi + 0x1c], ebp
sub eax, ebp
mov dword [rsi + 0x18], eax
sub dword [rbx + 0x28], ebp
jne 0x5a25db
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x20], rdx
jmp 0x5a25db
mov edx, r9d
add rdx, qword [rbx + 0x10]
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
call fcn.0059f870
mov dword [rsi + 0x4c], eax
jmp 0x5a294a
xor edx, edx
xor ecx, ecx
xor r8b, r8b
call fcn.0059f870
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 rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x5a3534
mov r8d, dword [rbx + 0x28]
mov r9, qword [rbx + 0x10]
lea eax, [r8 + 1]
mov dword [rbx + 0x28], eax
mov eax, dword [rcx]
test eax, eax
setne dl
cmp dword [rcx + 0x3c], 1
sbb eax, eax
not eax
and eax, 2
add edx, eax
cmp qword [rcx + 0x10], 1
sbb eax, eax
not eax
and eax, 4
add edx, eax
cmp qword [rcx + 0x20], 1
sbb eax, eax
not eax
and eax, 8
add edx, eax
cmp qword [rcx + 0x30], 1
sbb eax, eax
not eax
and eax, 0x10
add eax, edx
mov byte [r9 + r8], al
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x30]
mov ecx, dword [rcx + 4]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
mov dword [rbx + 0x28], edx
mov rdx, qword [rbx + 0x30]
mov edx, dword [rdx + 4]
shr edx, 8
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, qword [rbx + 0x30]
movzx ecx, word [rcx + 6]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x30]
movzx ecx, byte [rcx + 7]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov ecx, dword [rbx + 0xac]
lea edx, [rax + 1]
add rax, qword [rbx + 0x10]
cmp ecx, 9
mov dword [rbx + 0x28], edx
mov edx, 2
je 0x5a2d86
cmp dword [rbx + 0xb0], 1
jg 0x5a3292
cmp ecx, 1
jle 0x5a3292
xor edx, edx
mov byte [rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x30]
mov ecx, dword [rcx + 0xc]
mov byte [rdx + rax], cl
mov rcx, qword [rbx + 0x30]
cmp qword [rcx + 0x10], 0
je 0x5a2ddd
mov eax, dword [rbx + 0x28]
mov ecx, dword [rcx + 0x18]
mov rdx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
mov dword [rbx + 0x28], edx
mov rdx, qword [rbx + 0x30]
mov edx, dword [rdx + 0x18]
shr edx, 8
mov byte [rcx + rax], dl
mov rcx, qword [rbx + 0x30]
mov eax, dword [rcx + 0x3c]
test eax, eax
jne 0x5a3419
mov dword [rbx + 0x38], 0
mov dword [rbx + 8], 0x45
jmp 0x5a2664
and eax, 0xfffffffd
test eax, eax
mov dword [rbx + 8], 0x29a
je 0x5a22c9
jmp 0x5a2503
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2bb7
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2bb7
mov r12, qword [0x00670950]
mov rbp, qword [0x00670910]
mov r13d, 0x102
mov eax, dword [rbx + 0x9c]
jmp 0x5a2f38
mov dword [rbx + 0x88], 0
mov edx, dword [rbx + 0x94]
mov r8, qword [rbx + 0x50]
test edx, edx
jne 0x5a2f90
xor edx, edx
movzx eax, byte [r8 + rdx]
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
xor edx, edx
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x16f8]
cmp dword [rbx + 0x16f4], eax
mov ecx, dword [rbx + 0x94]
mov eax, dword [rbx + 0x9c]
sete dl
lea r8d, [rcx + 1]
sub eax, 1
test edx, edx
mov dword [rbx + 0x9c], eax
mov dword [rbx + 0x94], r8d
jne 0x5a311f
cmp eax, 0x102
ja 0x5a2e80
mov rcx, rbx
call fcn.0059fe00
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
ja 0x5a2e80
test edi, edi
je 0x5a22c9
test eax, eax
je 0x5a332b
cmp eax, 2
mov dword [rbx + 0x88], 0
ja 0x5a2e8a
mov r8, qword [rbx + 0x50]
mov edx, dword [rbx + 0x94]
jmp 0x5a2e9e
lea rcx, [r8 + rdx - 1]
movzx r11d, byte [rcx]
movzx r9d, byte [rcx]
cmp byte [rcx + 1], r11b
jne 0x5a2e9e
movzx r10d, byte [rcx + 2]
cmp r9d, r10d
jne 0x5a2e9e
movzx r10d, byte [rcx + 3]
cmp r9d, r10d
jne 0x5a2e9e
add rcx, 3
lea r11, [r8 + rdx + 0x102]
jmp 0x5a3037
movzx r10d, byte [rcx + 2]
cmp r9d, r10d
jne 0x5a385b
movzx r10d, byte [rcx + 3]
cmp r9d, r10d
jne 0x5a3852
movzx r10d, byte [rcx + 4]
cmp r9d, r10d
jne 0x5a3849
movzx r10d, byte [rcx + 5]
cmp r9d, r10d
jne 0x5a3876
movzx r10d, byte [rcx + 6]
cmp r9d, r10d
jne 0x5a386d
movzx r10d, byte [rcx + 7]
cmp r9d, r10d
jne 0x5a3864
add rcx, 8
movzx r10d, byte [rcx]
cmp r9d, r10d
jne 0x5a3045
cmp rcx, r11
jae 0x5a3045
movzx r10d, byte [rcx + 1]
cmp r9d, r10d
je 0x5a2fd1
add rcx, 1
sub r11, rcx
mov ecx, r13d
sub ecx, r11d
cmp ecx, eax
mov dword [rbx + 0x88], ecx
jbe 0x5a360d
mov dword [rbx + 0x88], eax
mov ecx, eax
mov edx, dword [rbx + 0x16f4]
lea eax, [rcx - 3]
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 [r12 + rax]
xor edx, edx
add word [rbx + rax*4 + 0x4c0], 1
movzx eax, byte [rbp]
add word [rbx + rax*4 + 0x9b0], 1
mov eax, dword [rbx + 0x16f8]
cmp dword [rbx + 0x16f4], eax
mov r8d, dword [rbx + 0x88]
mov eax, dword [rbx + 0x9c]
mov dword [rbx + 0x88], 0
sete dl
sub eax, r8d
add r8d, dword [rbx + 0x94]
test edx, edx
mov dword [rbx + 0x9c], eax
mov dword [rbx + 0x94], r8d
je 0x5a2f38
movsxd rax, dword [rbx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a3136
add rax, qword [rbx + 0x50]
mov rdx, rax
xor r9d, r9d
mov rcx, rbx
call fcn.005aa0d0
mov r9, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r14, qword [r9 + 0x28]
mov dword [rbx + 0x84], eax
mov qword [rsp + 0x30], r9
mov rcx, r14
call fcn.005a9ec0
mov r9, qword [rsp + 0x30]
mov r15d, dword [r14 + 0x28]
mov eax, dword [r9 + 0x18]
cmp eax, r15d
cmovbe r15d, eax
test r15d, r15d
jne 0x5a31d0
mov rax, qword [rbx]
mov r14d, dword [rax + 0x18]
test r14d, r14d
jne 0x5a2e74
jmp 0x5a22c9
mov edx, dword [rbx + 0xac]
cmp edx, 1
jle 0x5a2abc
cmp edx, 5
mov ecx, 0x40
jle 0x5a2abc
cmp edx, 6
mov cl, 0xc0
mov edx, pe_nt_image_headers64
cmove ecx, edx
jmp 0x5a2abc
mov rcx, qword [rbx + 0x30]
jmp 0x5a27de
mov rcx, qword [r9 + 0x10]
mov rdx, qword [r14 + 0x20]
mov r11d, r15d
mov r8, r11
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r11
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x30]
add qword [r9 + 0x10], r11
add qword [r14 + 0x20], r11
add dword [r9 + 0x1c], r15d
sub dword [r9 + 0x18], r15d
sub dword [r14 + 0x28], r15d
jne 0x5a317a
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x20], rax
jmp 0x5a317a
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rbp + 0x20]
mov r12d, edi
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 0x5a25a1
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x5a25a1
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2a2a
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2a2a
mov edx, 4
jmp 0x5a2d86
mov rcx, rbx
call fcn.005a9f50
jmp 0x5a24dc
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2a92
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2a92
mov rcx, qword [r12 + 0x10]
mov rdx, qword [r14 + 0x20]
mov r15d, ebp
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r15
add qword [r14 + 0x20], r15
add dword [r12 + 0x1c], ebp
sub dword [r12 + 0x18], ebp
sub dword [r14 + 0x28], ebp
jne 0x5a2334
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x20], rax
jmp 0x5a2334
cmp edi, 4
mov dword [rbx + 0x1708], 0
je 0x5a3620
mov r12d, dword [rbx + 0x16f4]
test r12d, r12d
je 0x5a24b5
movsxd rax, dword [rbx + 0x84]
mov r8d, dword [rbx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a336c
add rax, qword [rbx + 0x50]
mov rdx, rax
xor r9d, r9d
mov rcx, rbx
call fcn.005aa0d0
mov r14, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r12, qword [r14 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r12
call fcn.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [r14 + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
je 0x5a2499
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r12 + 0x20]
mov r15d, ebp
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [r14 + 0x10], r15
add qword [r12 + 0x20], r15
add dword [r14 + 0x1c], ebp
sub dword [r14 + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a2499
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a2499
mov rax, qword [0x00670ec0]
mov rax, qword [rax + 0x38]
mov qword [rcx + 0x20], rax
mov eax, 0xfffffffb
jmp 0x5a2106
mov rax, qword [0x00670ec0]
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov eax, 0xfffffffe
jmp 0x5a2106
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rbx + 0x28]
call fcn.0059f870
mov rcx, qword [rbx + 0x30]
mov dword [rsi + 0x4c], eax
jmp 0x5a2de8
mov rcx, qword [rbx + 0x30]
jmp 0x5a28ee
mov rcx, qword [rbx + 0x30]
jmp 0x5a29f7
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rbp + 0x20]
mov r12d, edi
mov r8, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r12
add qword [rbp + 0x20], r12
add dword [rsi + 0x1c], edi
sub eax, edi
mov dword [rsi + 0x18], eax
sub dword [rbp + 0x28], edi
jne 0x5a24fb
mov rdx, qword [rbp + 0x10]
mov qword [rbp + 0x20], rdx
jmp 0x5a24fb
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov ecx, dword [rsi + 0x4c]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
mov dword [rbx + 0x28], edx
mov edx, dword [rsi + 0x4c]
shr edx, 8
mov byte [rcx + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
movzx ecx, word [rsi + 0x4e]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
movzx ecx, byte [rsi + 0x4f]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov ecx, dword [rsi + 0xc]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
mov dword [rbx + 0x28], edx
mov edx, dword [rsi + 0xc]
shr edx, 8
mov byte [rcx + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
movzx ecx, word [rsi + 0xe]
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
movzx ecx, byte [rsi + 0xf]
mov byte [rdx + rax], cl
jmp 0x5a2582
mov eax, 1
jmp 0x5a2106
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 + 0x28]
mov ecx, dword [rbx + 0xac]
lea edx, [rax + 1]
add rax, qword [rbx + 0x10]
cmp ecx, 9
mov dword [rbx + 0x28], edx
mov edx, 2
je 0x5a35be
cmp dword [rbx + 0xb0], 1
jg 0x5a383f
cmp ecx, 1
jle 0x5a383f
xor edx, edx
mov byte [rax], dl
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.005a9ec0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp eax, ebp
cmovbe ebp, eax
test ebp, ebp
jne 0x5a3736
mov eax, dword [rbx + 0x28]
test eax, eax
jne 0x5a22d2
mov r8d, dword [rbx + 8]
jmp 0x5a222a
cmp ecx, 2
ja 0x5a3064
jmp 0x5a2e9e
movsxd rax, dword [rbx + 0x84]
mov r8d, dword [rbx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a363e
add rax, qword [rbx + 0x50]
mov rdx, rax
mov r9d, 1
mov rcx, rbx
call fcn.005aa0d0
mov r12, qword [rbx]
mov eax, dword [rbx + 0x94]
mov rbp, qword [r12 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, rbp
call fcn.005a9ec0
mov edi, dword [rbp + 0x28]
mov eax, dword [r12 + 0x18]
cmp eax, edi
cmovbe edi, eax
test edi, edi
jne 0x5a3773
mov rax, qword [rbx]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x5a3691
mov eax, 1
jmp 0x5a2e03
xor eax, eax
jmp 0x5a2e03
movsxd rax, dword [rbx + 0x84]
mov r8d, dword [rbx + 0x94]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x5a36b6
add rax, qword [rbx + 0x50]
mov rdx, rax
mov r9d, 1
mov rcx, rbx
call fcn.005aa0d0
mov rbp, qword [rbx]
mov eax, dword [rbx + 0x94]
mov rdi, qword [rbp + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, rdi
call fcn.005a9ec0
mov r12d, dword [rdi + 0x28]
mov eax, dword [rbp + 0x18]
cmp eax, r12d
cmovbe r12d, eax
test r12d, r12d
je 0x5a367d
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rdi + 0x20]
mov r14d, r12d
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rbp + 0x10], r14
add qword [rdi + 0x20], r14
add dword [rbp + 0x1c], r12d
sub dword [rbp + 0x18], r12d
sub dword [rdi + 0x28], r12d
jne 0x5a367d
mov rax, qword [rdi + 0x10]
mov qword [rdi + 0x20], rax
jmp 0x5a367d
mov eax, 0xfffffffe
jmp 0x5a2106
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r12 + 0x20]
mov r14d, ebp
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r14
add qword [r12 + 0x20], r14
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x5a35f9
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x5a35f9
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rbp + 0x20]
mov r14d, edi
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r14
add qword [rbp + 0x20], r14
add dword [r12 + 0x1c], edi
sub dword [r12 + 0x18], edi
sub dword [rbp + 0x28], edi
jne 0x5a367d
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x5a367d
mov r8d, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
xor r9d, r9d
xor edx, edx
sub r8d, 1
mov word [rcx + r8*2], r9w
add r8, r8
call sub.msvcrt.dll_memset
mov r10d, dword [rbx + 0x9c]
test r10d, r10d
jne 0x5a24dc
mov dword [rbx + 0x94], 0
mov dword [rbx + 0x84], 0
mov dword [rbx + 0x1708], 0
jmp 0x5a24dc
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rbp + 0x20]
mov r15d, r14d
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r15
add qword [rbp + 0x20], r15
add dword [r12 + 0x1c], r14d
sub dword [r12 + 0x18], r14d
sub dword [rbp + 0x28], r14d
jne 0x5a2499
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x5a2499
mov edx, 4
jmp 0x5a35be
add rcx, 4
jmp 0x5a3045
add rcx, 3
jmp 0x5a3045
add rcx, 2
jmp 0x5a3045
add rcx, 7
jmp 0x5a3045
add rcx, 6
jmp 0x5a3045
add rcx, 5
jmp 0x5a3045