Function at 0x180055de0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x358
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x2c0], xmm6
mov qword [rbp + 0x2b8], 0xfffffffffffffffe
mov qword [rbp + 0x280], rcx
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x180057e2f
mov r13, qword [rdx + 8]
mov rax, qword [r13]
movzx ecx, byte [r13 + 0x26]
sub rax, rcx
mov rcx, rax
sub rcx, r8
neg rcx
sub rax, r8
cmovb rax, rcx
cmp rax, 0x7ffff000
jae 0x180055ebc
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], r8
lea rcx, [rbp + 0x190]
lea rdx, [rbp - 0x40]
call fcn.180055b60
mov rax, qword [rbp + 0x190]
movabs rsi, 0x8000000000000000
cmp rax, rsi
jne 0x1800577f2
mov rdx, qword [rbp + 0x198]
lea rax, [rdx*2]
test rax, rax
je 0x180055ea6
mov rcx, qword [rbp + 0x1a0]
mov r8d, 1
call fcn.180023d50
mov rax, qword [rbp + 0x280]
mov dword [rax + 8], 6
mov qword [rax], rsi
jmp 0x180057b74
mov qword [rbp + 0x188], r8
mov qword [rbp + 0x238], 0
mov qword [rbp + 0x240], 8
mov qword [rbp + 0x248], 0
movzx eax, byte [0x1801d1771]
mov ecx, 0x64
mov edx, 1
call fcn.180023d40
test rax, rax
je 0x1800580f8
mov qword [rbp + 0x298], 0x64
mov qword [rbp + 0x2a0], rax
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x2a8], xmm0
lea rax, [rsi + rsi*4]
lea r15, [rax*8]
add r15, r13
xor esi, esi
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0x260], r15
jmp 0x180055f8f
add r13, 0x28
mov rax, qword [rbp + 0x240]
lea rcx, [rsi + rsi*4]
mov qword [rax + rcx*8], r12
mov rdx, qword [rbp + 0x230]
mov qword [rax + rcx*8 + 8], rdx
mov rdx, qword [rbp + 0x88]
mov qword [rax + rcx*8 + 0x10], rdx
mov qword [rax + rcx*8 + 0x18], r14
mov byte [rax + rcx*8 + 0x20], dil
inc rsi
mov qword [rbp + 0x248], rsi
cmp r13, r15
je 0x180057892
mov r12, qword [rbp + 0x2b0]
lea rcx, [rbp + 0x190]
mov edx, 0x40
xor r8d, r8d
call fcn.18005e140
movabs rax, 0x8000000000000000
cmp qword [rbp + 0x190], rax
je 0x180057e3f
mov rax, qword [rbp + 0x188]
lea rbx, [r12 + rax]
mov r8d, 0x98
lea rcx, [rbp - 0x28]
lea rdx, [rbp + 0x190]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [r13 + 0x20]
mov rcx, qword [0x1801bba90]
mov ecx, dword [rcx + rax*8 + 4]
shr ecx, 0x14
and ecx, 0xf
dec ecx
cmp ecx, 5
mov qword [rbp + 0x290], r13
ja case.0x180056021.4
lea rdx, [0x180140550]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rdi, qword [rbp + 0x2b0]
mov rsi, rdi
add rsi, 6
mov r8, rsi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x18005607e
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x18005607e
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r15, qword [rbp + 0x260]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x1800567cc
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov word [rbx + rdi + 4], 0
mov dword [rbx + rdi], 0x25ff
cmp rsi, rdx
jbe 0x1800567ed
jmp 0x1800567e6
lea ecx, [rax - 0x9f]
cmp ecx, 0x30
jb 0x180056772
lea ecx, [rax - 0x73e]
cmp ecx, 0x30
jb 0x180056772
mov ecx, eax
add ecx, 0xfffffd6f
cmp ecx, 0x1c
jae case.0x180056021.4
mov qword [rbp + 0x258], r12
movdqu xmm0, xmmword [r13]
movdqu xmm1, xmmword [r13 + 0x10]
movdqa xmmword [rbp + 0x190], xmm0
mov rax, qword [r13 + 0x20]
mov qword [rbp + 0x1b0], rax
movdqa xmmword [rbp + 0x1a0], xmm1
lea rax, [rbx + 4]
mov qword [rbp + 0x198], rax
lea rcx, [rbp + 0xf0]
lea rdx, [rbp - 0x28]
lea r8, [rbp + 0x190]
mov r9, rbx
call fcn.18005e2f0
mov rdx, qword [rbp + 0xf0]
movabs rax, 0x8000000000000001
cmp rdx, rax
jne 0x1800578b1
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x288], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x278], rax
mov rbx, qword [rbp - 0x18]
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 1
mov r15, qword [rbp + 0x2b0]
mov rdi, r15
add rdi, rbx
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov qword [rbp - 0x18], 0
mov rax, qword [rbp + 0x298]
mov r12, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180057639
sub r8, r12
sub rax, r12
cmp rax, r8
mov r13, qword [rbp + 0x290]
jae 0x1800561ec
lea rcx, [rbp + 0x298]
mov rdx, r12
call fcn.180127740
mov r12, qword [rbp + 0x2a8]
mov r8, r15
sub r8, r12
jbe 0x18005764c
mov rsi, qword [rbp + 0x2a0]
add r12, rsi
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], r15
mov r12, r15
jmp 0x180057653
movzx r15d, byte [r13 + 0x23]
lea ecx, [r15 - 0x45]
cmp cl, 2
jae case.0x180056021.4
mov rsi, qword [rbp + 0x2b0]
mov rdi, rsi
add rdi, 7
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180056281
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056281
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rsi
sub r8, rdx
jbe 0x180056920
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rsi
mov rdx, rsi
mov dword [rbx + rsi + 3], 0xb848f024
mov dword [rbx + rsi], 0x24448948
cmp rdi, rdx
ja 0x18005693f
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056949
lea ecx, [rax - 0x2b3]
cmp ecx, 3
jb 0x1800562eb
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 0x138
jne case.0x180056021.4
mov rdi, qword [rbp + 0x2b0]
mov rsi, rdi
add rsi, 6
mov r8, rsi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180056346
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056346
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r15, qword [rbp + 0x260]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x1800569e9
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x1800569f0
movzx r15d, byte [r13 + 0x23]
lea ecx, [r15 - 0x45]
cmp cl, 2
jae case.0x180056021.4
mov rsi, qword [rbp + 0x2b0]
mov rdi, rsi
add rdi, 7
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x1800563db
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x1800563db
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov qword [rbp + 0x258], r12
mov r8, rsi
sub r8, rdx
jbe 0x180056a0c
mov r12, qword [rbp + 0x2a0]
add rdx, r12
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rsi
mov rdx, rsi
mov dword [r12 + rsi + 3], 0xb848e824
mov dword [r12 + rsi], 0x24448948
cmp rdi, rdx
ja 0x180056a2d
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056a37
movzx esi, byte [r13 + 0x23]
lea ecx, [rsi - 0x45]
cmp cl, 2
mov qword [rbp + 0x258], r12
jae 0x1800565d0
movzx r8d, byte [r13 + 0x1c]
cmp r8, 0x39
je 0x180057aa4
mov rcx, qword [0x1801bba98]
movzx ecx, word [rcx + rax*2]
cmp ecx, 0x176
jne 0x180056724
cmp sil, 0x46
mov rax, qword [r13 + 8]
mov r9d, eax
cmove r9, rax
lea rcx, [rbp + 0x190]
mov dx, 0x166
call fcn.1800629d0
movzx eax, word [rbp + 0x1b0]
cmp eax, 0x1348
je 0x1800580ad
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0xb0], rax
movdqu xmm0, xmmword [rbp + 0x190]
movdqu xmm1, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0xa0], xmm1
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x190]
mov edx, 0x40
xor r8d, r8d
call fcn.18005e140
movabs rax, 0x8000000000000000
cmp qword [rbp + 0x190], rax
je 0x180058062
mov r8d, 0x98
lea rsi, [rbp + 0xf0]
mov rcx, rsi
lea rdx, [rbp + 0x190]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0xc0]
mov rdx, rsi
lea r8, [rbp + 0x90]
mov r9, rbx
call fcn.18005e2f0
mov r13, qword [rbp + 0x290]
movabs rax, 0x8000000000000001
cmp qword [rbp + 0xc0], rax
jne 0x180058014
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x250], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x268], rax
mov rbx, qword [rbp + 0x100]
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 1
mov qword [rbp + 0x100], 0
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x18005753f
mov rcx, qword [rbp + 0x110]
mov r8d, 1
jmp 0x18005753a
mov r8, r13
lea rcx, [rbp + 0xf0]
lea rdx, [rbp - 0x28]
mov r9, rbx
call fcn.18005e2f0
movabs rax, 0x8000000000000001
cmp qword [rbp + 0xf0], rax
jne 0x180057e9e
mov rbx, r14
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x268], rax
mov r14, qword [rbp - 0x20]
mov r13, qword [rbp - 0x18]
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 1
mov r15, qword [rbp + 0x2b0]
mov rdi, r15
add rdi, r13
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov qword [rbp - 0x18], 0
mov rax, qword [rbp + 0x298]
mov r12, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180056688
sub r8, r12
sub rax, r12
cmp rax, r8
jae 0x180056688
mov qword [rbp + 0x250], r14
lea rcx, [rbp + 0x298]
mov rdx, r12
call fcn.180127740
mov r12, qword [rbp + 0x2a8]
mov r14, qword [rbp + 0x250]
mov r8, r15
sub r8, r12
jbe 0x1800566b0
mov rsi, qword [rbp + 0x2a0]
add r12, rsi
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], r15
mov r12, r15
jmp 0x1800566b7
mov rsi, qword [rbp + 0x2a0]
add rsi, r15
mov rcx, rsi
mov rsi, r14
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
cmp rdi, r12
jbe 0x1800566d7
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rdi
mov rdx, qword [rbp + 0x268]
test rdx, rdx
mov r15, qword [rbp + 0x260]
mov r12, qword [rbp + 0x258]
mov r14, rbx
je 0x180056709
mov r8d, 1
mov rcx, rsi
call fcn.180023d50
xor esi, esi
mov r13, qword [rbp + 0x290]
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
mov rcx, qword [0x1801bbaa0]
movzx eax, byte [rcx + rax]
mov r12b, 0x38
test rax, rax
je 0x18005725e
mov rcx, r8
add rcx, 0xfffffffffffffffc
rol rcx, 0x3e
cmp rcx, 0xa
jae 0x18005715f
mov edx, 0x223
bt edx, ecx
jb 0x180057165
mov ecx, 0
cmp r8b, 0x38
jne 0x18005716c
jmp 0x180057200
mov qword [rbp + 0x258], r12
movdqu xmm0, xmmword [r13]
movdqu xmm1, xmmword [r13 + 0x10]
movdqa xmmword [rbp + 0x1a0], xmm1
movdqa xmmword [rbp + 0x190], xmm0
mov rcx, qword [r13 + 0x20]
mov qword [rbp + 0x1b0], rcx
call fcn.1800661d0
lea rcx, [rbx + 8]
mov qword [rbp + 0x198], rcx
movzx ecx, ax
lea edx, [rcx - 0x73e]
cmp edx, 0x30
jae 0x180056cff
add eax, 0xfffff961
jmp 0x180056d0e
mov rbx, qword [rbp + 0x2a0]
mov word [rbx + rdi + 4], 0
mov dword [rbx + rdi], 0x25ff
cmp rsi, rdx
jbe 0x1800567ed
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b0], rsi
movzx eax, byte [r13 + 0x10]
mov sil, 1
mov ecx, 6
mov qword [rbp + 0x278], rcx
mov dword [rbp + 0x274], 2
cmp eax, 3
je 0x18005682e
cmp eax, 2
je 0x180056828
cmp eax, 1
jne 0x180056834
movzx eax, word [r13 + 8]
jmp 0x180056836
mov eax, dword [r13 + 8]
jmp 0x180056836
mov rax, qword [r13 + 8]
jmp 0x180056836
xor eax, eax
mov qword [rbp + 0x288], rax
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x180056855
mov rcx, qword [rbp - 0x20]
mov r8d, 1
call fcn.180023d50
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x18005686d
mov rcx, qword [rbp - 8]
mov r8d, 1
call fcn.180023d50
mov dil, 2
test sil, sil
je 0x1800568f6
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rcx]
movzx ecx, byte [rcx + 0x26]
sub rax, rcx
mov r8, qword [rbp + 0x288]
cmp r8, rax
jb 0x1800568d0
cmp r8, qword [r15 - 0x28]
jae 0x1800568d0
xor r14d, r14d
mov rax, qword [rbp + 0xe8]
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rax + 0x26]
sub rcx, rdx
cmp rcx, r8
je 0x18005691b
inc r14
add rax, 0x28
cmp rax, r15
jne 0x1800568b0
jmp 0x1800577df
xor edi, edi
mov r14, r8
mov eax, dword [rbp + 0x274]
add rax, r12
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x278]
add rax, r12
mov qword [rbp + 0x88], rax
mov rsi, qword [rbp + 0x248]
cmp rsi, qword [rbp + 0x238]
jne 0x180055f50
lea rcx, [rbp + 0x238]
call fcn.18001abd0
jmp 0x180055f50
mov dil, 1
jmp 0x1800568d5
mov rbx, qword [rbp + 0x2a0]
mov dword [rbx + rsi + 3], 0xb848f024
mov dword [rbx + rsi], 0x24448948
cmp rdi, rdx
jbe 0x1800562c3
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
cmp r15b, 0x46
mov rax, qword [r13 + 8]
mov ebx, eax
cmove rbx, rax
mov r8, rdi
add r8, 8
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x1800569a1
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x1800569a1
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056ad8
mov r15, qword [rbp + 0x2a0]
add rdx, r15
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [r15 + rsi + 7], rbx
lea rdi, [rsi + 0xf]
cmp rdi, rdx
ja 0x180056af1
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056afb
mov rbx, qword [rbp + 0x2a0]
mov word [rbx + rdi + 4], 0
mov dword [rbx + rdi], 0x15ff
cmp rsi, rdx
ja 0x1800567e6
jmp 0x1800567ed
mov r12, qword [rbp + 0x2a0]
mov dword [r12 + rsi + 3], 0xb848e824
mov dword [r12 + rsi], 0x24448948
cmp rdi, rdx
jbe 0x180056426
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
cmp r15b, 0x46
mov rax, qword [r13 + 8]
mov r15d, eax
cmove r15, rax
mov r8, rdi
add r8, 8
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056a90
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056a90
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056b74
mov r12, qword [rbp + 0x2a0]
add rdx, r12
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [r12 + rsi + 7], r15
lea rdi, [rsi + 0xf]
cmp rdi, rdx
ja 0x180056b8d
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056b97
mov r15, qword [rbp + 0x2a0]
mov qword [r15 + rsi + 7], rbx
lea rdi, [rsi + 0xf]
cmp rdi, rdx
jbe 0x1800569dd
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
add r8, 8
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056b45
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056b45
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056c1e
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056c25
mov r12, qword [rbp + 0x2a0]
mov qword [r12 + rsi + 7], r15
lea rdi, [rsi + 0xf]
cmp rdi, rdx
jbe 0x180056acc
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
inc r8
mov rax, 0xffffffffffffffff
cmove r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056be0
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056be0
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056c66
mov r15, qword [rbp + 0x2a0]
add rdx, r15
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov byte [r15 + rsi + 0xf], 0x68
lea rdi, [rsi + 0x10]
cmp rdi, rdx
ja 0x180056c7c
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056c86
mov rbx, qword [rbp + 0x2a0]
movabs rax, 0xc3f824448b4830ff
mov qword [rbx + rsi + 0xf], rax
add rsi, 0x17
cmp rsi, rdx
mov r15, qword [rbp + 0x260]
jbe 0x180056c4b
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b0], rsi
xor esi, esi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
mov r15, qword [rbp + 0x2a0]
mov byte [r15 + rsi + 0xf], 0x68
lea rdi, [rsi + 0x10]
cmp rdi, rdx
jbe 0x180056c15
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
add r8, 4
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056cd0
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056cd0
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056e04
mov r15, qword [rbp + 0x2a0]
add rdx, r15
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056e0b
lea edx, [rcx - 0x2b6]
lea eax, [rcx + 5]
cmp edx, 3
cmovae eax, ecx
mov word [rbp + 0x1b0], ax
lea rcx, [rbp + 0xf0]
lea rdx, [rbp - 0x28]
lea r8, [rbp + 0x190]
mov r9, rbx
call fcn.18005e2f0
mov rdx, qword [rbp + 0xf0]
movabs rax, 0x8000000000000001
cmp rdx, rax
jne 0x1800578b1
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x288], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x278], rax
mov rbx, qword [rbp - 0x18]
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 1
mov r15, qword [rbp + 0x2b0]
mov rdi, r15
add rdi, rbx
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov qword [rbp - 0x18], 0
mov rax, qword [rbp + 0x298]
mov r12, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180057024
sub r8, r12
sub rax, r12
cmp rax, r8
mov r13, qword [rbp + 0x290]
jae 0x180056dd5
lea rcx, [rbp + 0x298]
mov rdx, r12
call fcn.180127740
mov r12, qword [rbp + 0x2a8]
mov r8, r15
sub r8, r12
jbe 0x180057037
mov rsi, qword [rbp + 0x2a0]
add r12, rsi
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], r15
mov r12, r15
jmp 0x18005703e
mov r15, qword [rbp + 0x2a0]
add rbx, 0x24
mov dword [r15 + rsi + 0x10], ebx
lea rdi, [rsi + 0x14]
cmp rdi, rdx
jbe 0x180056e29
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056e30
mov rdx, qword [rbp + 0x2a8]
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
add r8, 4
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056e7a
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056e7a
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056ebb
mov r15, qword [rbp + 0x2a0]
add rdx, r15
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov dword [r15 + rsi + 0x14], 0x42444c7
lea rdi, [rsi + 0x18]
cmp rdi, rdx
ja 0x180056ed4
mov rdx, qword [rbp + 0x2a8]
jmp 0x180056ede
mov r15, qword [rbp + 0x2a0]
mov dword [r15 + rsi + 0x14], 0x42444c7
lea rdi, [rsi + 0x18]
cmp rdi, rdx
jbe 0x180056eb2
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
add r8, 4
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056f28
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056f28
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056f50
mov r15, qword [rbp + 0x2a0]
add rdx, r15
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056f57
mov r15, qword [rbp + 0x2a0]
shr rbx, 0x20
mov dword [r15 + rsi + 0x18], ebx
lea rdi, [rsi + 0x1c]
cmp rdi, rdx
jbe 0x180056f75
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056f7c
mov rdx, qword [rbp + 0x2a8]
mov qword [rbp + 0x2b0], rdi
mov r8, rdi
add r8, 8
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
cmp r8, rax
jbe 0x180056fc6
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180056fc6
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180056fee
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180056ff5
mov rbx, qword [rbp + 0x2a0]
movabs rax, 0xc3f824448b4830ff
mov qword [rbx + rsi + 0x1c], rax
add rsi, 0x24
cmp rsi, rdx
mov r15, qword [rbp + 0x260]
mov r12, qword [rbp + 0x258]
ja 0x180056c44
jmp 0x180056c4b
mov r13, qword [rbp + 0x290]
mov r8, r15
sub r8, r12
ja 0x180056de1
mov rsi, qword [rbp + 0x2a0]
add rsi, r15
mov rcx, rsi
mov rsi, qword [rbp + 0x278]
mov rdx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp rdi, r12
jbe 0x180057062
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rdi
mov rdx, qword [rbp + 0x288]
test rdx, rdx
je 0x18005708a
mov r8d, 1
mov rcx, rsi
call fcn.180023d50
mov rdi, qword [rbp + 0x2b0]
mov rsi, rdi
add rsi, 6
mov r8, rsi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x1800570d7
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x1800570d7
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x1800570ff
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x180057106
mov rbx, qword [rbp + 0x2a0]
mov word [rbx + rdi + 4], 0
mov dword [rbx + rdi], 0x25ff
cmp rsi, rdx
mov r15, qword [rbp + 0x260]
mov r12, qword [rbp + 0x258]
jbe 0x18005712e
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b0], rsi
movzx eax, byte [r13 + 0x10]
cmp eax, 3
je 0x180057765
cmp eax, 2
je 0x18005775f
cmp eax, 1
jne 0x18005776b
movzx eax, word [r13 + 8]
jmp 0x18005776d
cmp r8b, 0x38
jne 0x18005716c
xor ecx, ecx
jmp 0x180057200
mov ecx, 1
cmp al, 1
je 0x180057200
movzx edx, byte [r13 + 0x1d]
mov r9, rdx
add r9, 0xfffffffffffffffc
rol r9, 0x3e
cmp r9, 0xa
jae 0x18005719b
mov r10d, 0x223
bt r10d, r9d
jb 0x180057200
cmp dl, 0x38
je 0x180057200
mov ecx, 2
cmp al, 2
je 0x180057200
movzx edx, byte [r13 + 0x1e]
mov r9, rdx
add r9, 0xfffffffffffffffc
rol r9, 0x3e
cmp r9, 0xa
jae 0x1800571cb
mov r10d, 0x223
bt r10d, r9d
jb 0x180057200
cmp dl, 0x38
je 0x180057200
mov ecx, 3
cmp al, 3
je 0x180057200
movzx edx, byte [r13 + 0x1f]
mov r9, rdx
add r9, 0xfffffffffffffffc
rol r9, 0x3e
cmp r9, 0xa
jae 0x1800571fb
mov r10d, 0x223
bt r10d, r9d
jb 0x180057200
cmp dl, 0x38
jne 0x18005725e
cmp rcx, rax
jae 0x18005725e
lea ecx, [r8 - 0xd]
mov r12b, 0x3e
test cl, 0xcf
je 0x18005725e
cmp al, 1
je 0x18005725b
movzx ecx, byte [r13 + 0x1d]
add cl, 0xf3
test cl, 0xcf
je 0x18005725e
cmp al, 3
setae cl
cmp al, 2
je 0x180057257
movzx edx, byte [r13 + 0x1e]
add dl, 0xf3
test dl, 0xcf
je 0x180057257
cmp al, 4
setae cl
cmp al, 3
je 0x180057257
movzx edx, byte [r13 + 0x1f]
add dl, 0xf3
test dl, 0xcf
je 0x180057257
cmp al, 5
setae cl
cmp al, 4
jne 0x18005725b
test cl, cl
jne 0x18005725e
mov r12b, 0x3d
mov dword [rbp + 0x100], 0x3900
movabs rax, 0x100000001
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0xf0], 0xfffffffffffffff0
lea rcx, [rbp + 0x190]
mov dx, 0x11a
lea r8, [rbp + 0xf0]
mov r9d, r12d
call fcn.180062b30
movzx eax, word [rbp + 0x1b0]
cmp eax, 0x1348
je 0x180057fc8
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0xe0], rax
movups xmm0, xmmword [rbp + 0x190]
movups xmm1, xmmword [rbp + 0x1a0]
movaps xmmword [rbp + 0xd0], xmm1
movaps xmmword [rbp + 0xc0], xmm0
cmp sil, 0x46
mov rax, qword [rbp + 0x290]
mov rax, qword [rax + 8]
mov r9d, eax
cmove r9, rax
lea rcx, [rbp + 0x190]
mov dx, 0x166
mov r8d, r12d
call fcn.1800629d0
movzx eax, word [rbp + 0x1b0]
cmp eax, 0x1348
je 0x180057f7c
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0xb0], rax
movups xmm0, xmmword [rbp + 0x190]
movups xmm1, xmmword [rbp + 0x1a0]
movaps xmmword [rbp + 0xa0], xmm1
movaps xmmword [rbp + 0x90], xmm0
mov rcx, qword [rbp + 0x290]
mov r15, qword [rcx]
mov dil, byte [rcx + 0x24]
mov si, word [rcx + 0x26]
call fcn.180062870
cdqe
mov rcx, 0xfffffffffffffff0
sub rcx, rax
mov dword [rbp + 0x1a0], 0x3900
movabs rax, 0x100000001
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x190], rcx
lea rcx, [rbp + 0xf0]
mov dx, 0x11e
mov r8d, r12d
lea r9, [rbp + 0x190]
call fcn.180062a60
movzx eax, word [rbp + 0x110]
cmp eax, 0x1348
je 0x180057f30
mov rax, qword [rbp + 0x110]
lea rcx, [rbp + 0x208]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rbp + 0xf0]
movups xmm1, xmmword [rbp + 0x100]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rdx, qword [rbp + 0x290]
mov eax, dword [rdx + 0x1f]
mov dword [rcx - 9], eax
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rcx - 0x18], xmm0
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x1b0], rax
movaps xmm0, xmmword [rbp + 0xc0]
movaps xmm1, xmmword [rbp + 0xd0]
movaps xmmword [rbp + 0x1a0], xmm1
movaps xmmword [rbp + 0x190], xmm0
mov rax, qword [rbp + 0xb0]
mov qword [rcx - 0x30], rax
movdqa xmm0, xmmword [rbp + 0x90]
movdqa xmm1, xmmword [rbp + 0xa0]
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmmword [rcx - 0x50], xmm0
mov qword [rbp + 0x1e0], r15
mov qword [rbp + 0x1e8], 0
mov byte [rbp + 0x203], r12b
mov byte [rbp + 0x204], dil
mov byte [rbp + 0x205], 0
mov word [rbp + 0x206], si
lea rax, [rbp + 0x190]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 4
mov qword [rbp - 0x48], rbx
lea rcx, [rbp + 0xf0]
lea rdx, [rbp - 0x58]
call fcn.180055b60
mov rcx, qword [rbp + 0xf0]
movabs rax, 0x8000000000000000
mov qword [rbp + 0x250], rcx
cmp rcx, rax
je 0x180057eea
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x268], rax
mov rbx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x128]
mov r12, qword [rbp + 0x138]
mov r15, qword [rbp + 0x140]
test rdx, rdx
mov r13, qword [rbp + 0x290]
je 0x18005750b
mov rcx, qword [rbp + 0x110]
shl rdx, 3
mov r8d, 8
call fcn.180023d50
test rsi, rsi
je 0x180057525
shl rsi, 2
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call fcn.180023d50
test r12, r12
je 0x18005753f
shl r12, 3
mov r8d, 1
mov rcx, r15
mov rdx, r12
call fcn.180023d50
mov r15, qword [rbp + 0x2b0]
mov rdi, r15
add rdi, rbx
mov r8, rdi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov r12, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x18005758e
sub r8, r12
sub rax, r12
cmp rax, r8
jae 0x18005758e
lea rcx, [rbp + 0x298]
mov rdx, r12
call fcn.180127740
mov r12, qword [rbp + 0x2a8]
mov r8, r15
sub r8, r12
jbe 0x1800575b6
mov rsi, qword [rbp + 0x2a0]
add r12, rsi
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], r15
mov r12, r15
jmp 0x1800575bd
mov rsi, qword [rbp + 0x2a0]
add rsi, r15
mov rcx, rsi
mov rdx, qword [rbp + 0x268]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp rdi, r12
jbe 0x1800575de
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rdi
mov rdx, qword [rbp + 0x250]
test rdx, rdx
mov r15, qword [rbp + 0x260]
mov r12, qword [rbp + 0x258]
je 0x180057625
mov r8d, 1
mov rcx, qword [rbp + 0x268]
call fcn.180023d50
xor esi, esi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
xor esi, esi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
mov r13, qword [rbp + 0x290]
mov r8, r15
sub r8, r12
ja 0x1800561f8
mov rsi, qword [rbp + 0x2a0]
add rsi, r15
mov rcx, rsi
mov rsi, qword [rbp + 0x278]
mov rdx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp rdi, r12
jbe 0x180057677
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rdi
mov rdx, qword [rbp + 0x288]
test rdx, rdx
je 0x18005769f
mov r8d, 1
mov rcx, rsi
call fcn.180023d50
mov rdi, qword [rbp + 0x2b0]
mov rsi, rdi
add rsi, 8
mov r8, rsi
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x1800576ec
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x1800576ec
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r13, qword [rbp + 0x290]
mov r8, rdi
sub r8, rdx
jbe 0x180057714
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rdi
mov rdx, rdi
jmp 0x18005771b
mov rbx, qword [rbp + 0x2a0]
mov qword [rbx + rdi], 0x25ff06eb
cmp rsi, rdx
mov r15, qword [rbp + 0x260]
mov r12, qword [rbp + 0x258]
jbe 0x18005773d
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b0], rsi
movzx eax, byte [r13 + 0x10]
cmp eax, 3
je 0x1800577a5
cmp eax, 2
je 0x18005779f
cmp eax, 1
jne 0x1800577ab
movzx eax, word [r13 + 8]
jmp 0x1800577ad
mov eax, dword [r13 + 8]
jmp 0x18005776d
mov rax, qword [r13 + 8]
jmp 0x18005776d
xor eax, eax
mov qword [rbp + 0x288], rax
mov sil, 1
mov eax, 8
mov qword [rbp + 0x278], rax
mov dword [rbp + 0x274], 4
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
mov eax, dword [r13 + 8]
jmp 0x1800577ad
mov rax, qword [r13 + 8]
jmp 0x1800577ad
xor eax, eax
mov qword [rbp + 0x288], rax
mov sil, 1
mov eax, 0xa
mov qword [rbp + 0x278], rax
mov dword [rbp + 0x274], 6
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x180056846
jmp 0x180056855
mov rax, qword [rbp + 0x280]
mov dword [rax + 8], 7
jmp 0x180057b23
mov r8d, dword [rbp + 0x198]
mov ecx, dword [rbp + 0x1a4]
mov r9, qword [rbp + 0x280]
mov dword [r9 + 0x14], ecx
mov rcx, qword [rbp + 0x19c]
mov qword [r9 + 0xc], rcx
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b0]
mov r14, qword [rbp + 0x1c0]
mov rsi, qword [rbp + 0x1c8]
mov rdi, qword [rbp + 0x1d8]
mov rbx, qword [rbp + 0x1e0]
mov qword [r9], rax
mov dword [r9 + 8], r8d
test rdx, rdx
je 0x18005785a
shl rdx, 3
mov r8d, 8
call fcn.180023d50
test r14, r14
je 0x180057874
shl r14, 2
mov r8d, 4
mov rcx, rsi
mov rdx, r14
call fcn.180023d50
test rdi, rdi
je 0x180057b74
shl rdi, 3
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
jmp 0x180057b6f
test rsi, rsi
je 0x180057dfc
mov rax, qword [rbp + 0x240]
cmp rsi, 4
jae 0x180057927
xor edi, edi
xor ecx, ecx
jmp 0x1800579e9
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1800578d7
test rdx, rdx
je 0x1800578d7
mov rcx, qword [rbp + 0xf8]
mov r8d, 1
call fcn.180023d50
mov esi, 6
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1800578f4
mov rcx, qword [rbp - 0x20]
mov r8d, 1
call fcn.180023d50
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x18005790c
mov rcx, qword [rbp - 8]
mov r8d, 1
call fcn.180023d50
mov rax, qword [rbp + 0x280]
mov qword [rax + 8], rsi
mov rcx, qword [rbp + 0x278]
mov qword [rax + 0x10], rcx
jmp 0x180057b23
mov rcx, rsi
and rcx, 0xfffffffffffffffc
lea rdx, [rax + 0x98]
pxor xmm0, xmm0
movdqa xmm1, xmmword [0x180140270]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180140280]
mov r8, rcx
pxor xmm2, xmm2
nop word cs:[rax + rax]
movzx r9d, byte [rdx - 0x78]
mov r10d, dword [rdx - 0x50]
mov r11d, dword [rdx]
shl r10d, 8
or r10d, r9d
movd xmm5, r10d
movzx r9d, byte [rdx - 0x28]
shl r11d, 8
or r11d, r9d
movd xmm6, r11d
pcmpeqb xmm5, xmm1
pxor xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
pcmpeqb xmm6, xmm1
pxor xmm6, xmm3
punpcklbw xmm6, xmm6
pshuflw xmm5, xmm6, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm2, xmm5
add rdx, 0xa0
add r8, 0xfffffffffffffffc
jne 0x180057960
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
paddq xmm0, xmm2
movq rdi, xmm0
cmp rsi, rcx
je 0x180057a14
sub rsi, rcx
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*8]
add rax, 0x20
nop dword [rax + rax]
xor ecx, ecx
cmp byte [rax], 2
setne cl
add rdi, rcx
add rax, 0x28
dec rsi
jne 0x180057a00
test rdi, rdi
je 0x180057dfc
mov rbx, qword [rbp + 0x2b0]
mov rsi, rbx
inc rsi
mov r8, 0xffffffffffffffff
cmovne r8, rsi
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180057a66
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180057a66
lea rcx, [rbp + 0x298]
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x188]
lea r15, [rbx + rcx + 0xc]
and r15, 0xfffffffffffffff8
sub r15, rbx
sub r15, rcx
mov r8, rbx
sub r8, rdx
jbe 0x180057abb
mov r14, qword [rbp + 0x2a0]
add rdx, r14
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], rbx
mov rdx, rbx
jmp 0x180057ac2
mov esi, 7
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x1800578e5
jmp 0x1800578f4
mov r14, qword [rbp + 0x2a0]
lea rax, [r15 + rdi*8]
add rax, 0xfffffffffffffffb
mov byte [r14 + rbx], 0xe9
cmp rsi, rdx
jbe 0x180057adb
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b0], rsi
mov dword [rbp + 0x190], eax
lea rdx, [rbp + 0x298]
lea r8, [rbp + 0x190]
mov r9d, 4
lea rcx, [rbp + 0x2b0]
call fcn.180055a50
test rax, rax
je 0x180057b96
mov rax, qword [rbp + 0x280]
mov dword [rax + 8], 9
mov qword [rax + 0x10], rdx
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
mov rdx, qword [rbp + 0x298]
test rdx, rdx
je 0x180057b4e
mov rcx, qword [rbp + 0x2a0]
mov r8d, 1
call fcn.180023d50
mov rax, qword [rbp + 0x238]
test rax, rax
je 0x180057b74
mov rcx, qword [rbp + 0x240]
shl rax, 3
lea rdx, [rax + rax*4]
mov r8d, 8
call fcn.180023d50
mov rax, qword [rbp + 0x280]
movaps xmm6, xmmword [rbp + 0x2c0]
add rsp, 0x358
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add r15, 0xfffffffffffffffb
je 0x180057bc9
js 0x180058109
movzx eax, byte [0x1801d1771]
mov esi, 1
mov edx, 1
mov rcx, r15
call fcn.180023d40
test rax, rax
je 0x18005810b
mov rdi, rax
jmp 0x180057bce
mov edi, 1
mov rcx, rdi
mov dl, 0xcc
mov r8, r15
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x298]
lea rcx, [rbp + 0x2b0]
mov qword [rbp + 0x230], rdi
mov r8, rdi
mov qword [rbp + 0x290], r15
mov r9, r15
call fcn.180055a50
test rax, rax
je 0x180057c4d
mov rax, qword [rbp + 0x280]
mov dword [rax + 8], 9
mov qword [rax + 0x10], rdx
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
mov rdx, qword [rbp + 0x290]
test rdx, rdx
mov rcx, qword [rbp + 0x230]
je 0x180057b30
mov r8d, 1
call fcn.180023d50
jmp 0x180057b30
mov rdx, qword [rbp + 0x290]
test rdx, rdx
mov rcx, qword [rbp + 0x230]
je 0x180057c6b
mov r8d, 1
call fcn.180023d50
mov r12, qword [rbp + 0x240]
mov rax, qword [rbp + 0x248]
lea rax, [rax + rax*4]
lea rsi, [r12 + rax*8]
mov rdx, qword [rbp + 0x2b0]
mov rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x298]
mov rax, r12
nop dword [rax]
cmp rax, rsi
je 0x180057dfc
lea r12, [rax + 0x28]
cmp byte [rax + 0x20], 2
mov rax, r12
je 0x180057ca0
mov r13, qword [r12 - 0x20]
mov qword [rbp + 0x2b0], r13
mov eax, dword [r12 - 0x18]
mov qword [rbp + 0x290], rdx
mov r14d, edx
sub r14d, eax
mov r15, r13
add r15, 4
mov r8, r15
cmovb r8, rcx
mov rax, qword [rbp + 0x298]
mov rdx, qword [rbp + 0x2a8]
cmp r8, rax
jbe 0x180057d0f
sub r8, rdx
sub rax, rdx
cmp rax, r8
jae 0x180057d0f
mov rcx, rdi
call fcn.180127740
mov rdx, qword [rbp + 0x2a8]
mov r8, r13
sub r8, rdx
jbe 0x180057d37
mov rbx, qword [rbp + 0x2a0]
add rdx, rbx
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x2a8], r13
mov rdx, r13
jmp 0x180057d3e
mov rbx, qword [rbp + 0x2a0]
mov dword [rbx + r13], r14d
cmp r15, rdx
jbe 0x180057d4e
mov qword [rbp + 0x2a8], r15
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x2b0], rax
cmp byte [r12 - 8], 0
je 0x180057db4
mov rcx, qword [r12 - 0x10]
mov rdx, qword [rbp + 0x248]
cmp rcx, rdx
lea r8, [rbp + 0x190]
jae 0x180057e8d
mov rax, qword [rbp + 0x240]
lea rcx, [rcx + rcx*4]
mov rax, qword [rax + rcx*8]
add rax, qword [rbp + 0x188]
mov qword [rbp + 0x190], rax
mov r9d, 8
lea rcx, [rbp + 0x2b0]
mov rdx, rdi
call fcn.180055a50
jmp 0x180057ddc
mov rax, qword [r12 - 0x10]
mov qword [rbp + 0x190], rax
mov r9d, 8
lea rcx, [rbp + 0x2b0]
mov rdx, rdi
lea r8, [rbp + 0x190]
call fcn.180055a50
test rax, rax
jne 0x180057b11
mov rdx, qword [rbp + 0x290]
add rdx, 8
mov rcx, 0xffffffffffffffff
jmp 0x180057c96
mov rax, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x280]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rbp + 0x298]
movdqu xmmword [rcx], xmm0
mov rax, qword [rbp + 0x238]
test rax, rax
jne 0x180057b5a
jmp 0x180057b74
lea r8, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
xor ecx, ecx
xor edx, edx
call fcn.18012dc60
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x100], rax
movdqu xmm0, xmmword [rbp + 0x198]
movdqa xmmword [rbp + 0xf0], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001ficed_x86_1.21.0_srcencoder.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0xf0]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
lea r8, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
call fcn.18012dc60
jmp 0x180058116
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x1a0], rax
movups xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0x190], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0x190]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
lea rcx, [rbp + 0xf8]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x80], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x70], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0x70]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x1a0], rax
movups xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0x190], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0x190]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0x100], rax
movups xmm0, xmmword [rbp + 0x190]
movaps xmmword [rbp + 0xf0], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0xf0]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0x100], rax
movups xmm0, xmmword [rbp + 0x190]
movaps xmmword [rbp + 0xf0], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0xf0]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x1a0], rax
movdqu xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x190], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0x190]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x100], rax
movdqu xmm0, xmmword [rbp + 0x198]
movdqa xmmword [rbp + 0xf0], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001ficed_x86_1.21.0_srcencoder.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0xf0]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0x100], rax
movdqu xmm0, xmmword [rbp + 0x190]
movdqa xmmword [rbp + 0xf0], xmm0
lea rax, str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001filhook_2.1.0_srcx64move_inst.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180140290]
lea r9, [0x1801402c0]
lea r8, [rbp + 0xf0]
mov edx, 0x2b
call fcn.18012dec0
jmp 0x180058116
mov ecx, 1
mov edx, 0x64
call fcn.18012d940
jmp 0x180058116
xor esi, esi
mov rcx, rsi
mov rdx, r15
call fcn.18012d940
ud2