Function at 0x180054780
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov qword [rsp + 0x168], r8
mov qword [rsp + 0x160], rdx
mov rax, qword [0x1800cb028]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov eax, dword [r9]
cmp rax, 0x7e000000
ja 0x1800548ec
mov qword [rsp + 0x20], rcx
add qword [rcx + 0x40000], rax
mov eax, dword [rsp + 0x218]
mov esi, dword [rsp + 0x210]
cmp eax, 0xc
mov ecx, 0xc
cmovl ecx, eax
test eax, eax
mov r14d, 9
cmovg r14d, ecx
movsxd rax, r14d
lea rax, [rax + rax*2]
lea rcx, [0x1800b9270]
mov r12d, dword [rcx + rax*4 + 4]
cmp dword [rcx + rax*4], 0
mov dword [rsp + 0x2c], r12d
mov qword [rsp + 0x188], r9
jne 0x1800548f3
movsxd rax, dword [r9]
mov r11, qword [rsp + 0x160]
lea rdx, [r11 + rax]
mov qword [rsp + 0x178], rdx
movsxd rdx, esi
mov r13, qword [rsp + 0x168]
add rdx, r13
mov qword [rsp + 0xe8], rdx
mov dword [r9], 0
cmp rax, 0xd
jl 0x180058f6f
mov rcx, qword [rsp + 0x160]
lea rdx, [rcx + rax]
add rdx, 0xfffffffffffffff4
mov r11, rcx
mov r13, qword [rsp + 0x168]
mov qword [rsp + 0x48], rdx
cmp rdx, rcx
jb 0x180058f6f
mov rcx, qword [rsp + 0x160]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x178]
lea rdx, [rax - 8]
mov qword [rsp + 0xf0], rdx
add rax, 0xfffffffffffffffa
mov qword [rsp + 0x150], rax
xor eax, eax
mov qword [rsp + 0x108], rax
xor eax, eax
mov qword [rsp + 0x138], rax
xor r15d, r15d
xor r10d, r10d
xor r14d, r14d
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x58], rax
jmp 0x18005792a
xor ebp, ebp
jmp 0x1800578e9
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x20]
mov cl, byte [rcx + 0x40026]
xor ebp, ebp
mov byte [rsp + 0x118], cl
neg cl
mov ecx, 0
sbb ecx, ecx
mov dword [rsp + 0x138], ecx
mov edi, dword [rax + 8]
mov ecx, 0x10030
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x1800574f7
mov rdx, qword [rsp + 0x188]
movsxd rax, dword [rdx]
mov r8, qword [rsp + 0x160]
lea rcx, [r8 + rax]
mov qword [rsp + 0xf0], rcx
lea r10, [r8 + rax]
add r10, 0xfffffffffffffff4
movsxd r9, esi
mov rcx, qword [rsp + 0x168]
add r9, rcx
mov qword [rsp + 0xb8], r9
mov dword [rdx], 0
mov edx, 0xfff
cmp edi, edx
cmovb edx, edi
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xb0], r10
cmp r10, r8
jae 0x180054a99
mov rax, qword [rsp + 0xf0]
sub rax, qword [rsp + 0xd8]
mov rbx, rax
add rax, 0xf0
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x220], 0
je 0x180054a0b
shr rdx, 7
add rdx, rbx
mov rax, qword [rsp + 0x80]
add rax, rdx
inc rax
mov ebp, 0
cmp rax, qword [rsp + 0xb8]
ja 0x1800574f7
mov rax, rbx
mov rcx, qword [rsp + 0xd8]
lea rsi, [rcx + rbx]
cmp rbx, 0xf
jb 0x1800574a8
lea rax, [rbx - 0xf]
mov rcx, qword [rsp + 0x80]
mov byte [rcx], 0xf0
inc rcx
cmp rax, 0xff
jb 0x180054a8a
mov r14, rbx
lea rax, [rbx - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
shl rax, 8
mov rcx, qword [rsp + 0x80]
add rcx, rdi
add rcx, 2
sub rdi, rax
lea rax, [rbx + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov qword [rsp + 0x80], rcx
jmp 0x1800574b7
mov rcx, qword [rsp + 0x160]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + 0x4c]
mov qword [rsp + 0x178], rdx
lea rdx, [rax + 0x50]
mov qword [rsp + 0x190], rdx
add rax, 8
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rcx
mov rax, qword [rsp + 0x20]
mov r8, qword [rax + 0x40008]
mov r9d, dword [rax + 0x40018]
mov rcx, qword [rsp + 0xd0]
mov r10, rcx
mov rdx, r8
mov qword [rsp + 0x78], r8
sub r10, r8
lea r11d, [r9 + r10]
mov edx, dword [rax + 0x4001c]
lea r8d, [rdx + 0x10000]
mov dword [rsp + 0x170], r8d
cmp r8d, r11d
mov qword [rsp + 0x88], r10
lea r8d, [r9 + r10 - 0xffff]
mov qword [rsp + 0xe0], rdx
cmova r8d, edx
mov dword [rsp + 0x60], r8d
mov ebp, dword [rcx]
mov eax, dword [rax + 0x40020]
mov qword [rsp + 0x38], r9
neg r9
mov qword [rsp + 0xa8], r9
mov dword [rsp + 0xa0], r11d
cmp eax, r11d
jae 0x180054be2
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xa8]
add rcx, rdx
mov edx, dword [rsp + 0xa0]
imul r8d, dword [rcx + rax], 0x9e3779b1
shr r8d, 0x11
mov r9d, eax
mov r10, qword [rsp + 0x20]
sub r9d, dword [r10 + r8*4]
mov r10d, 0xffff
cmp r9d, r10d
jb 0x180054bc4
mov r9d, 0xffff
movzx r10d, ax
mov r11, qword [rsp + 0x20]
mov word [r11 + r10*2 + 0x20000], r9w
mov dword [r11 + r8*4], eax
inc rax
cmp rdx, rax
jne 0x180054b9b
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x40010]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x40020], eax
mov rax, qword [rsp + 0xd0]
imul eax, dword [rax], 0x9e3779b1
shr eax, 0x11
mov edx, dword [rcx + rax*4]
movzx eax, bp
mov ecx, ebp
shr ecx, 0x10
xor ecx, eax
movzx eax, bpl
mov r8d, ebp
shr r8d, 0x18
xor r8d, eax
or r8d, ecx
sete byte [rsp + 0x90]
cmp edx, dword [rsp + 0x60]
jb 0x1800555b4
cmp dword [rsp + 0x2c], 0
jle 0x1800555b4
mov rax, qword [rsp + 0xd0]
mov rcx, rax
sub rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x38]
mov r10, rcx
mov r8, qword [rsp + 0xe0]
sub r10, r8
mov r11, r8
neg r11
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x108], r10
lea r8, [r9 + r10]
mov qword [rsp + 0xe8], r8
add qword [rsp + 0x88], rcx
mov r8, qword [rsp + 0xa8]
add r8, qword [rsp + 0x78]
mov qword [rsp + 0xa8], r8
add rax, 4
mov qword [rsp + 0x68], rax
lea eax, [rcx - 4]
mov dword [rsp + 0xf8], eax
mov rbx, rbp
movabs rax, 0x100000001
imul rbx, rax
add r11, r9
mov qword [rsp + 0x128], r11
xor ecx, ecx
mov eax, 3
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x70], 0
xor r15d, r15d
xor r8d, r8d
mov qword [rsp + 0xc8], r8
cmp byte [rsp + 0x118], 0
je 0x180054ec1
mov r8d, dword [rsp + 0xa0]
sub r8d, edx
cmp r8d, 8
jae 0x180054ec1
xor esi, esi
cmp esi, dword [rsp + 0x40]
jne 0x180054ddb
mov r8, qword [rsp + 0x40]
add r8d, edx
cmp r8d, dword [rsp + 0xa0]
ja 0x180054ddb
cmp esi, 4
jl 0x180054ddb
lea r9d, [rsi - 3]
xor r11d, r11d
mov r13d, 0x10
mov r8d, 1
mov edi, r8d
lea r8d, [r11 + rdx]
movzx r8d, r8w
mov r12, qword [rsp + 0x20]
movzx r8d, word [r12 + r8*2 + 0x20000]
lea r12d, [r13 + 1]
sar r13d, 4
cmp edi, r8d
mov r10d, 0x10
cmovb r12d, r10d
cmova r8d, edi
cmovb ecx, r11d
mov edi, r13d
add edi, r11d
mov r11d, edi
mov r13d, r12d
cmp edi, r9d
jl 0x180054d69
cmp r8d, edx
mov r11d, r8d
mov r9d, 0
cmova r11d, r9d
cmp r8d, 2
cmovb r11d, r9d
mov r9d, edx
sub r9d, r11d
cmp r8d, 1
ja 0x180055106
mov edx, r9d
movzx r8d, dx
mov r9, qword [rsp + 0x20]
cmp word [r9 + r8*2 + 0x20000], 1
jne 0x1800550c7
test ecx, ecx
jne 0x1800550c7
cmp dword [rsp + 0x70], 0
je 0x180055071
mov r8, qword [rsp + 0x38]
sub r8d, edx
cmp r8d, 3
jb 0x1800550c7
cmp dword [rsp + 0x70], 2
jne 0x1800550c7
lea r9d, [rdx - 1]
cmp r9d, dword [rsp + 0x60]
jb 0x1800550c7
cmp r9d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x128]
cmovae rsi, qword [rsp + 0xa8]
mov r8d, r9d
mov dword [rsp + 0x70], 2
cmp dword [rsi + r8], ebp
jne 0x1800550c7
add rsi, r8
cmp r9d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0xe8]
cmovae rdx, qword [rsp + 0x58]
lea rcx, [rsi + 4]
lea r11, [rdx - 7]
mov rdi, rcx
mov r8, rdi
cmp rdi, r11
jae 0x1800573ba
lea rdi, [r8 + 8]
mov r12, qword [r8]
xor r12, rbx
je 0x180054e7f
tzcnt rdx, r12
shr edx, 3
add r8, rdx
sub r8, rcx
mov edx, r8d
add rdx, 4
cmp r9d, dword [rsp + 0x38]
jb 0x180055160
mov rcx, qword [rsp + 0x78]
jmp 0x180055177
mov r9, qword [rsp + 0x38]
sub r9d, edx
jbe 0x180054fd2
cmp edx, dword [rsp + 0xf8]
ja 0x180054d2b
mov esi, edx
sub esi, dword [rsp + 0xe0]
add rsi, qword [rsp + 0x48]
cmp dword [rsi], ebp
jne 0x180054d2b
add r9, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x58]
cmp r9, r11
mov r8, r9
cmova r8, r11
add rsi, 4
lea r11, [r8 - 7]
cmp r11, qword [rsp + 0x68]
jbe 0x180057899
mov r10, qword [rsp + 0x68]
mov r13, qword [r10]
xor r13, qword [rsi]
je 0x180055115
tzcnt rdi, r13
xor r12d, r12d
test r13, r13
sete r13b
je 0x18005511f
shr edi, 3
lea esi, [rdi + 4]
cmp r9, qword [rsp + 0x58]
jae 0x180054fa8
movsxd r9, edi
mov r10, qword [rsp + 0xd0]
add r9, r10
add r9, 4
cmp r9, r8
jne 0x180054fa8
mov r11, r8
mov r13, qword [rsp + 0x78]
cmp qword [rsp + 0xb0], r8
jbe 0x18005534e
mov r11, qword [r8]
mov r9, qword [rsp + 0x78]
xor r11, qword [r9]
je 0x180055333
tzcnt r9, r11
xor edi, edi
test r11, r11
sete r11b
je 0x18005533e
shr r9d, 3
add esi, r9d
cmp esi, dword [rsp + 0x40]
jle 0x180054d2d
mov r8d, edx
add r8, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], r8
mov r8d, esi
mov qword [rsp + 0x40], r8
jmp 0x180054d2d
mov r8d, edx
add r8, qword [rsp + 0xa8]
movsxd r9, dword [rsp + 0x40]
mov r10, qword [rsp + 0xd0]
movzx r11d, word [r10 + r9 - 1]
cmp r11w, word [r9 + r8 - 1]
jne 0x180054d2b
cmp dword [r8], ebp
jne 0x180054d2b
lea r9, [r8 + 4]
mov r10, qword [rsp + 0x68]
cmp qword [rsp + 0xb0], r10
jbe 0x1800578b0
mov r10, qword [rsp + 0x68]
mov r11, qword [r10]
xor r11, qword [r9]
je 0x1800552e3
tzcnt rsi, r11
xor edi, edi
test r11, r11
sete r11b
je 0x1800552ed
shr esi, 3
add esi, 4
mov r10, qword [rsp + 0x40]
cmp esi, r10d
mov r9, qword [rsp + 0xc8]
cmovg r9, r8
mov qword [rsp + 0xc8], r9
cmovg r10d, esi
mov qword [rsp + 0x40], r10
jmp 0x180054d2d
mov dword [rsp + 0x70], 1
cmp byte [rsp + 0x90], 0
je 0x1800550c7
mov r8, qword [rsp + 0x68]
mov r15, r8
cmp r8, qword [rsp + 0xb0]
jae 0x1800573d3
lea r8, [r15 + 8]
mov r9, qword [r15]
xor r9, rbx
je 0x180055088
tzcnt r8, r9
shr r8d, 3
add r15, r8
sub r15d, dword [rsp + 0x68]
add r15, 4
mov dword [rsp + 0x70], 2
jmp 0x180054e07
lea r8d, [rcx + rdx]
movzx r8d, r8w
mov r9, qword [rsp + 0x20]
movzx r8d, word [r9 + r8*2 + 0x20000]
sub edx, r8d
mov r9d, edx
cmp r9d, dword [rsp + 0x60]
jb 0x180055480
lea r8d, [rax - 1]
mov edx, r9d
cmp eax, 1
mov eax, r8d
jg 0x180054d08
jmp 0x180055480
mov qword [rsp + 0x40], rsi
cmp r8d, edx
jbe 0x1800550e3
jmp 0x180055480
mov edi, 0x40
jmp 0x180054f32
mov r12b, r13b
mov r10, qword [rsp + 0x68]
lea r13, [r10 + r12*8]
lea rsi, [rsi + r12*8]
mov rdi, r13
cmp r13, r11
jae 0x180057415
mov r12, qword [rdi]
lea r13, [rdi + 8]
xor r12, qword [rsi]
lea rsi, [rsi + 8]
je 0x18005512f
tzcnt r11, r12
shr r11d, 3
add edi, r11d
sub edi, dword [rsp + 0x68]
jmp 0x180054f45
lea rcx, [rsi + rdx]
cmp rcx, qword [rsp + 0xe8]
je 0x1800553eb
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x19c], ebp
lea r8, [rcx + 4]
mov rdi, rsi
mov r11, rdi
cmp rdi, r8
jb 0x180055197
lea rdi, [r11 - 4]
cmp dword [r11 - 4], ebp
je 0x180055185
cmp r11, rcx
jbe 0x1800551c5
xor r8d, r8d
mov dil, byte [r11 + r8 - 1]
cmp dil, byte [rsp + r8 + 0x19f]
jne 0x1800551c2
lea rdi, [r11 + r8]
dec rdi
dec r8
cmp rdi, rcx
ja 0x18005519f
jmp 0x1800573cb
add r11, r8
mov r8, rsi
sub r8, r11
cmp r9d, dword [rsp + 0x38]
jb 0x180055274
mov ecx, r8d
sub rsi, rcx
cmp rsi, qword [rsp + 0x78]
jne 0x180055274
mov rcx, qword [rsp + 0xe0]
cmp ecx, dword [rsp + 0x38]
jae 0x180055274
mov esi, r8d
neg esi
mov ecx, esi
shl ecx, 3
mov r11d, ebp
rol r11d, cl
test sil, 3
cmove r11d, ebp
mov dword [rsp + 0x19c], r11d
mov rcx, qword [rsp + 0x108]
mov rsi, rcx
cmp rcx, 4
jl 0x18005743d
lea rcx, [rsi - 4]
mov r10, qword [rsp + 0x48]
cmp dword [r10 + rsi - 4], r11d
je 0x18005521d
add rsi, qword [rsp + 0x48]
mov rcx, rsi
lea r11, [rsp + 0x19f]
mov sil, byte [rcx - 1]
cmp sil, byte [r11]
jne 0x180055260
dec rcx
dec r11
cmp rcx, qword [rsp + 0x48]
ja 0x18005524a
mov r10, qword [rsp + 0xe8]
mov r11d, r10d
sub r11d, ecx
add r11d, r8d
mov r8d, r11d
mov esi, r9d
sub esi, r8d
mov ecx, dword [rsp + 0x60]
cmp esi, ecx
cmovbe esi, ecx
mov r8d, r9d
sub r8d, esi
add r8, rdx
cmp rdx, r15
ja 0x1800552be
cmp r8, r15
jb 0x1800552be
sub r9d, r15d
add r9d, edx
mov ecx, r9d
not ecx
mov rdx, qword [rsp + 0x38]
add ecx, edx
cmp ecx, 3
cmovb r9d, edx
xor ecx, ecx
mov dword [rsp + 0x70], 2
jmp 0x1800550e3
mov edx, esi
not edx
add edx, dword [rsp + 0x38]
xor ecx, ecx
mov dword [rsp + 0x70], 2
cmp edx, 3
jae 0x180055384
mov rdx, qword [rsp + 0x38]
jmp 0x1800550e0
mov esi, 0x40
jmp 0x180055032
mov dil, r11b
mov r10, qword [rsp + 0x68]
lea r11, [r10 + rdi*8]
lea r9, [r9 + rdi*8]
mov rsi, r11
cmp r11, qword [rsp + 0xb0]
jae 0x18005753c
mov rdi, qword [rsi]
lea r11, [rsi + 8]
xor rdi, qword [r9]
lea r9, [r9 + 8]
je 0x1800552fd
tzcnt r9, rdi
shr r9d, 3
add esi, r9d
sub esi, dword [rsp + 0x68]
jmp 0x180055044
mov r9d, 0x40
jmp 0x180054f92
mov dil, r11b
lea r11, [r8 + rdi*8]
mov r9, qword [rsp + 0x78]
lea r13, [r9 + rdi*8]
mov r9, r11
cmp r11, qword [rsp + 0xb0]
jae 0x1800575a0
mov rdi, qword [r9]
lea r11, [r9 + 8]
xor rdi, qword [r13]
lea r13, [r13 + 8]
je 0x18005534e
tzcnt r11, rdi
shr r11d, 3
add r9d, r11d
sub r9d, r8d
jmp 0x180054fa5
cmp r8, r15
cmovae r8, r15
movsxd rcx, dword [rsp + 0x40]
cmp r8, rcx
jbe 0x1800553c4
mov ecx, esi
mov rdx, qword [rsp + 0x88]
sub rdx, rcx
cmp rdx, 0xffff
ja 0x180055480
add rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x40], r8
movzx ecx, si
mov rdx, qword [rsp + 0x20]
movzx edx, word [rdx + rcx*2 + 0x20000]
xor ecx, ecx
cmp esi, edx
cmovb edx, ecx
jb 0x180055480
sub esi, edx
mov r9d, esi
jmp 0x1800550e3
lea ecx, [r8*8]
mov r11d, ebp
rol r11d, cl
test r8b, 3
cmove r11d, ebp
movabs rcx, 0x100000001
imul r11, rcx
mov r8, qword [rsp + 0x78]
mov rcx, r8
cmp r8, qword [rsp + 0xb0]
jae 0x1800573a5
lea r8, [rcx + 8]
mov rdi, qword [rcx]
xor rdi, r11
je 0x180055414
tzcnt r8, rdi
shr r8d, 3
add rcx, r8
sub ecx, dword [rsp + 0x78]
add rdx, rcx
jmp 0x180055172
cmp byte [r8], r11b
jne 0x180054ea2
inc r8
shr r11, 8
cmp r8, rdx
jb 0x180055449
jmp 0x18005764e
cmp r15, qword [rsp + 0x58]
jae 0x1800550b1
cmp byte [r15], r8b
jne 0x1800550b1
inc r15
shr r8, 8
jmp 0x180055463
cmp dword [rsp + 0x40], 4
jl 0x1800555b4
mov rcx, qword [rsp + 0x40]
lea eax, [rcx - 0x13]
mov rsi, qword [rsp + 0xd0]
sub rsi, qword [rsp + 0xc8]
cmp eax, 0x12
mov eax, ecx
mov rdx, rax
mov ecx, 0x12
cmovb rdx, rcx
cmp byte [rsp + 0x118], 0
cmove rdx, rax
mov rax, rdx
mov qword [rsp + 0x90], rdx
cmp rdx, qword [rsp + 0x180]
jbe 0x1800555d7
mov rax, qword [rsp + 0x30]
movabs rcx, 0x8080808080808081
mul rcx
xor ebp, ebp
cmp dword [rsp + 0x220], 0
je 0x180055523
shr rdx, 7
mov rax, qword [rsp + 0x80]
add rax, rdx
inc rax
mov rcx, qword [rsp + 0x30]
add rax, rcx
add rax, 8
cmp rax, qword [rsp + 0xb8]
ja 0x1800574f7
mov rax, qword [rsp + 0x80]
lea r15, [rax + 1]
cmp qword [rsp + 0x30], 0xf
jb 0x180057217
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffff1
mov rcx, qword [rsp + 0x80]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x1800555a9
mov rdi, qword [rsp + 0x30]
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, r15
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0x80]
lea r15, [rcx + rbx]
add r15, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov byte [r15], al
inc r15
jmp 0x180057229
inc qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xb0]
jbe 0x180054af9
jmp 0x1800549b3
cmp dword [rsp + 0x30], 0xe
jle 0x1800555fc
mov rdx, qword [rsp + 0x30]
lea ecx, [rdx - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
lea eax, [rdx + 1]
add ecx, edx
inc ecx
jmp 0x180055604
mov rcx, qword [rsp + 0x30]
lea eax, [rcx + 1]
mov rdx, qword [rsp + 0xc0]
movabs r8, 0x100000000
mov qword [rdx + 4], r8
mov r8, qword [rsp + 0x30]
mov dword [rdx + 0xc], r8d
mov dword [rdx], ecx
mov ecx, eax
cmp eax, 0xf
jl 0x180055640
lea ecx, [rax - 0xf]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add ecx, eax
inc ecx
mov rdx, qword [rsp + 0xc0]
movabs r8, 0x100000000
mov qword [rdx + 0x14], r8
mov dword [rdx + 0x1c], eax
mov dword [rdx + 0x10], ecx
mov rcx, qword [rsp + 0x30]
lea edx, [rcx + 2]
cmp ecx, 0xd
jl 0x180056e27
mov r9, qword [rsp + 0x30]
lea r8d, [r9 - 0xd]
mov ecx, 0x80808081
imul r8, rcx
shr r8, 0x27
lea ecx, [r9 + 3]
add r8d, r9d
add r8d, 3
mov r9, qword [rsp + 0xc0]
movabs r10, 0x100000000
mov qword [r9 + 0x24], r10
mov dword [r9 + 0x2c], edx
mov dword [r9 + 0x20], r8d
mov r9, qword [rsp + 0x30]
lea edx, [r9 - 0xc]
mov r8d, 0x80808081
imul rdx, r8
shr rdx, 0x27
add edx, r9d
add edx, 4
mov r10, qword [rsp + 0x30]
lea r8d, [r10 - 0xf]
mov r9d, 0x80808081
imul r8, r9
shr r8, 0x27
add eax, r8d
cmp r10d, 0xf
mov r8, qword [rsp + 0xc0]
movabs r9, 0x100000000
mov qword [r8 + 0x34], r9
mov dword [r8 + 0x3c], ecx
mov dword [r8 + 0x30], edx
cmovl eax, r10d
add eax, 3
mov ecx, 3
sub rcx, qword [rsp + 0x90]
mov edx, 4
mov r8d, 0xfffffff1
mov r9, qword [rsp + 0x178]
mov r10d, eax
cmp rdx, 0x13
jb 0x18005574c
mov r10d, r8d
mov r11d, 0x80808081
imul r10, r11
shr r10, 0x27
add r10d, eax
inc r10d
mov dword [r9 - 4], edx
mov dword [r9 - 8], esi
mov r11, qword [rsp + 0x30]
mov dword [r9], r11d
mov dword [r9 - 0xc], r10d
inc r8d
lea r10, [rcx + rdx]
inc r10
inc rdx
add r9, 0x10
cmp r10, 4
jne 0x18005572c
mov rax, qword [rsp + 0x90]
shl rax, 4
mov r8, qword [rsp + 0xc0]
movabs r9, 0x100000000
mov qword [r8 + rax + 0x14], r9
mov dword [r8 + rax + 0x1c], 1
mov ecx, dword [r8 + rax]
lea edx, [rcx + 1]
mov dword [r8 + rax + 0x10], edx
mov qword [r8 + rax + 0x24], r9
mov dword [r8 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r8 + rax + 0x20], edx
mov qword [r8 + rax + 0x34], r9
mov dword [r8 + rax + 0x3c], 3
add ecx, 3
mov dword [r8 + rax + 0x30], ecx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x38]
add eax, ecx
sub eax, dword [rsp + 0x78]
inc eax
mov qword [rsp + 0xa0], rax
mov eax, 1
mov qword [rsp + 0x140], rax
mov eax, 5
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x158], rax
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rcx
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rcx
cmp rcx, qword [rsp + 0xb0]
ja 0x180056e58
mov rax, qword [rsp + 0xa0]
mov eax, eax
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + 1]
mov qword [rsp + 0x140], rax
mov r8, rax
shl r8, 4
mov rdx, rcx
shl rdx, 4
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x100], r8
mov ecx, dword [rax + r8]
mov qword [rsp + 0x130], rdx
mov eax, dword [rax + rdx]
cmp r14d, 0xc
jne 0x18005617f
cmp ecx, eax
jg 0x1800558cb
add eax, 3
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x130]
cmp dword [rdx + rcx + 0x40], eax
jl 0x18005626d
mov rcx, qword [rsp + 0x60]
mov rdx, rcx
sub rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x38]
lea r8d, [rax + rdx]
cmp dword [rsp + 0x170], r8d
mov qword [rsp + 0x50], rdx
lea eax, [rax + rdx - 0xffff]
cmova eax, dword [rsp + 0xe0]
mov dword [rsp + 0x30], eax
mov r10d, dword [rcx]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x40020]
mov dword [rsp + 0x70], r8d
cmp eax, r8d
jae 0x180055969
mov rcx, qword [rsp + 0xa8]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov r8, qword [rsp + 0x20]
sub edx, dword [r8 + rcx*4]
mov r8d, 0xffff
cmp edx, r8d
jb 0x180055946
mov edx, 0xffff
movzx r8d, ax
mov r9, qword [rsp + 0x20]
mov word [r9 + r8*2 + 0x20000], dx
mov dword [r9 + rcx*4], eax
inc rax
cmp qword [rsp + 0xa0], rax
jne 0x180055919
mov rcx, qword [rsp + 0x20]
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x40020], eax
mov rax, qword [rsp + 0x60]
imul eax, dword [rax], 0x9e3779b1
shr eax, 0x11
mov ebx, dword [rcx + rax*4]
movzx eax, r10w
mov ecx, r10d
shr ecx, 0x10
xor ecx, eax
movzx eax, r10b
mov edx, r10d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x120]
cmp ebx, dword [rsp + 0x30]
jb 0x18005626d
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
add rax, 4
mov qword [rsp + 0x88], rax
mov r9, r10
movabs rax, 0x100000001
imul r9, rax
xor ecx, ecx
mov eax, 3
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x2c]
mov r13d, eax
mov dword [rsp + 0xc8], 0
xor edx, edx
xor eax, eax
mov qword [rsp + 0x110], rax
cmp byte [rsp + 0x118], 0
je 0x180055bb1
mov eax, dword [rsp + 0x70]
sub eax, ebx
cmp eax, 8
jae 0x180055bb1
xor esi, esi
cmp esi, dword [rsp + 0x40]
jne 0x180055ac4
mov rax, qword [rsp + 0x40]
add eax, ebx
cmp eax, dword [rsp + 0x70]
ja 0x180055ac4
cmp esi, 4
jl 0x180055ac4
lea r11d, [rsi - 3]
xor r15d, r15d
mov ebp, 0x10
mov eax, 1
mov edi, eax
lea eax, [r15 + rbx]
movzx eax, ax
mov r12, qword [rsp + 0x20]
movzx eax, word [r12 + rax*2 + 0x20000]
lea r12d, [rbp + 1]
sar ebp, 4
cmp edi, eax
mov r8d, 0x10
cmovb r12d, r8d
cmova eax, edi
cmovb ecx, r15d
mov edi, ebp
add edi, r15d
mov r15d, edi
mov ebp, r12d
cmp edi, r11d
jl 0x180055a5c
cmp eax, ebx
mov r11d, eax
mov edi, 0
cmova r11d, edi
cmp eax, 2
cmovb r11d, edi
mov r15d, ebx
sub r15d, r11d
cmp eax, 1
ja 0x180055dfc
mov ebx, r15d
movzx eax, bx
mov r11, qword [rsp + 0x20]
cmp word [r11 + rax*2 + 0x20000], 1
jne 0x180055dbf
test ecx, ecx
jne 0x180055dbf
cmp dword [rsp + 0xc8], 0
je 0x180055d5f
mov rax, qword [rsp + 0x38]
sub eax, ebx
cmp eax, 3
jb 0x180055dbf
cmp dword [rsp + 0xc8], 2
jne 0x180055dbf
lea r15d, [rbx - 1]
cmp r15d, dword [rsp + 0x30]
jb 0x180055dbf
cmp r15d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x128]
cmovae rbp, qword [rsp + 0xa8]
mov eax, r15d
mov dword [rsp + 0xc8], 2
cmp dword [rbp + rax], r10d
jne 0x180055dbf
add rbp, rax
cmp r15d, dword [rsp + 0x38]
mov r11, qword [rsp + 0xe8]
cmovae r11, qword [rsp + 0x58]
lea rcx, [rbp + 4]
lea rsi, [r11 - 7]
mov rdi, rcx
mov rax, rdi
cmp rdi, rsi
jae 0x1800573f7
lea rdi, [rax + 8]
mov rbx, qword [rax]
xor rbx, r9
je 0x180055b6f
tzcnt r11, rbx
shr r11d, 3
add rax, r11
sub rax, rcx
mov esi, eax
add rsi, 4
cmp r15d, dword [rsp + 0x38]
jb 0x180055e5b
mov rax, qword [rsp + 0x78]
jmp 0x180055e72
mov rbp, qword [rsp + 0x38]
sub ebp, ebx
jbe 0x180055cbd
cmp ebx, dword [rsp + 0xf8]
ja 0x180055a2d
mov esi, ebx
sub esi, dword [rsp + 0xe0]
add rsi, qword [rsp + 0x48]
cmp dword [rsi], r10d
jne 0x180055a2d
add rbp, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
cmp rbp, rax
mov r15, rbp
cmova r15, rax
add rsi, 4
lea r11, [r15 - 7]
cmp r11, qword [rsp + 0x88]
jbe 0x1800578a3
mov rax, qword [rsp + 0x88]
mov rdi, qword [rax]
xor rdi, qword [rsi]
je 0x180055e0a
tzcnt rax, rdi
xor r12d, r12d
test rdi, rdi
sete dil
je 0x180055e14
shr eax, 3
lea esi, [rax + 4]
cmp rbp, qword [rsp + 0x58]
jae 0x180055c95
cdqe
mov r8, qword [rsp + 0x60]
add rax, r8
add rax, 4
cmp rax, r15
jne 0x180055c95
mov r11, r15
mov rbp, qword [rsp + 0x78]
cmp qword [rsp + 0xb0], r15
jbe 0x180056055
mov r11, qword [r15]
mov rax, qword [rsp + 0x78]
xor r11, qword [rax]
je 0x18005603b
tzcnt rax, r11
xor edi, edi
test r11, r11
sete r11b
je 0x180056045
shr eax, 3
add esi, eax
cmp esi, dword [rsp + 0x40]
jle 0x180055a2f
mov eax, ebx
add rax, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rax
mov eax, esi
mov qword [rsp + 0x40], rax
jmp 0x180055a2f
mov r15d, ebx
add r15, qword [rsp + 0xa8]
movsxd rax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x60]
movzx r11d, word [r8 + rax - 1]
cmp r11w, word [rax + r15 - 1]
jne 0x180055a2d
cmp dword [r15], r10d
jne 0x180055a2d
lea rax, [r15 + 4]
mov r8, qword [rsp + 0x88]
cmp qword [rsp + 0xb0], r8
jbe 0x1800578c7
mov r8, qword [rsp + 0x88]
mov r11, qword [r8]
xor r11, qword [rax]
je 0x180055fe7
tzcnt rsi, r11
xor edi, edi
test r11, r11
sete r11b
je 0x180055ff1
shr esi, 3
add esi, 4
mov r8, qword [rsp + 0x40]
cmp esi, r8d
mov rax, qword [rsp + 0x110]
cmovg rax, r15
mov qword [rsp + 0x110], rax
cmovg r8d, esi
mov qword [rsp + 0x40], r8
jmp 0x180055a2f
mov dword [rsp + 0xc8], 1
cmp byte [rsp + 0x120], 0
je 0x180055dbf
mov rax, qword [rsp + 0x88]
mov rdx, rax
cmp rax, qword [rsp + 0xb0]
jae 0x18005740d
lea rax, [rdx + 8]
mov r11, qword [rdx]
xor r11, r9
je 0x180055d7c
tzcnt rax, r11
shr eax, 3
add rdx, rax
sub edx, dword [rsp + 0x88]
add rdx, 4
mov dword [rsp + 0xc8], 2
jmp 0x180055af2
lea eax, [rcx + rbx]
movzx eax, ax
mov r11, qword [rsp + 0x20]
movzx eax, word [r11 + rax*2 + 0x20000]
sub ebx, eax
mov r15d, ebx
cmp r15d, dword [rsp + 0x30]
jb 0x1800562ab
lea eax, [r13 - 1]
mov ebx, r15d
cmp r13d, 1
mov r13d, eax
jg 0x180055a10
jmp 0x1800562ab
mov qword [rsp + 0x40], rsi
cmp eax, ebx
jbe 0x180055dd8
jmp 0x1800562ab
mov eax, 0x40
jmp 0x180055c25
mov r12b, dil
mov rax, qword [rsp + 0x88]
lea rdi, [rax + r12*8]
lea rsi, [rsi + r12*8]
mov rax, rdi
cmp rdi, r11
jae 0x180057471
mov r12, qword [rax]
lea rdi, [rax + 8]
xor r12, qword [rsi]
lea rsi, [rsi + 8]
je 0x180055e27
tzcnt r11, r12
shr r11d, 3
add eax, r11d
sub eax, dword [rsp + 0x88]
jmp 0x180055c38
lea rcx, [rsi + rbp]
cmp rcx, qword [rsp + 0xe8]
je 0x1800560ef
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x19c], r10d
lea r11, [rax + 4]
mov rdi, rbp
mov rcx, rdi
cmp rdi, r11
jb 0x180055e93
lea rdi, [rcx - 4]
cmp dword [rcx - 4], r10d
je 0x180055e81
cmp rcx, rax
jbe 0x180055ec1
xor r11d, r11d
mov bl, byte [rcx + r11 - 1]
cmp bl, byte [rsp + r11 + 0x19f]
jne 0x180055ebe
lea rdi, [rcx + r11]
dec rdi
dec r11
cmp rdi, rax
ja 0x180055e9b
jmp 0x180057405
add rcx, r11
mov rax, rbp
sub rax, rcx
cmp r15d, dword [rsp + 0x38]
jb 0x180055f6d
mov ecx, eax
sub rbp, rcx
cmp rbp, qword [rsp + 0x78]
jne 0x180055f6d
mov rcx, qword [rsp + 0xe0]
cmp ecx, dword [rsp + 0x38]
jae 0x180055f6d
mov edi, eax
neg edi
mov ecx, edi
shl ecx, 3
mov r11d, r10d
rol r11d, cl
test dil, 3
cmove r11d, r10d
mov dword [rsp + 0x19c], r11d
mov rcx, qword [rsp + 0x108]
mov rdi, rcx
cmp rcx, 4
jl 0x18005750a
lea rcx, [rdi - 4]
mov r8, qword [rsp + 0x48]
cmp dword [r8 + rdi - 4], r11d
je 0x180055f17
add rdi, qword [rsp + 0x48]
mov rcx, rdi
lea r11, [rsp + 0x19f]
mov bl, byte [rcx - 1]
cmp bl, byte [r11]
jne 0x180055f59
dec rcx
dec r11
cmp rcx, qword [rsp + 0x48]
ja 0x180055f44
mov r8, qword [rsp + 0xe8]
mov r11d, r8d
sub r11d, ecx
add r11d, eax
mov eax, r11d
mov ebx, r15d
sub ebx, eax
mov eax, dword [rsp + 0x30]
cmp ebx, eax
cmovbe ebx, eax
mov eax, r15d
sub eax, ebx
add rax, rsi
cmp rsi, rdx
ja 0x180055fb8
cmp rax, rdx
jb 0x180055fb8
sub r15d, edx
add r15d, esi
mov eax, r15d
not eax
mov rcx, qword [rsp + 0x38]
add eax, ecx
cmp eax, 3
cmovb r15d, ecx
xor ecx, ecx
mov dword [rsp + 0xc8], 2
jmp 0x180055dd8
mov r11d, ebx
not r11d
add r11d, dword [rsp + 0x38]
xor ecx, ecx
mov dword [rsp + 0xc8], 2
cmp r11d, 3
jae 0x18005608b
mov rax, qword [rsp + 0x38]
mov r15d, eax
jmp 0x180055dd8
mov esi, 0x40
jmp 0x180055d20
mov dil, r11b
mov r8, qword [rsp + 0x88]
lea r11, [r8 + rdi*8]
lea rax, [rax + rdi*8]
mov rsi, r11
cmp r11, qword [rsp + 0xb0]
jae 0x1800576c5
mov rdi, qword [rsi]
lea r11, [rsi + 8]
xor rdi, qword [rax]
lea rax, [rax + 8]
je 0x180056004
tzcnt rax, rdi
shr eax, 3
add esi, eax
sub esi, dword [rsp + 0x88]
jmp 0x180055d32
mov eax, 0x40
jmp 0x180055c81
mov dil, r11b
lea r11, [r15 + rdi*8]
mov rax, qword [rsp + 0x78]
lea rbp, [rax + rdi*8]
mov rax, r11
cmp r11, qword [rsp + 0xb0]
jae 0x180057727
mov rdi, qword [rax]
lea r11, [rax + 8]
xor rdi, qword [rbp]
lea rbp, [rbp + 8]
je 0x180056055
tzcnt r11, rdi
shr r11d, 3
add eax, r11d
sub eax, r15d
jmp 0x180055c93
cmp rax, rdx
cmovae rax, rdx
movsxd rcx, dword [rsp + 0x40]
cmp rax, rcx
jbe 0x1800560c8
mov ecx, ebx
mov r11, qword [rsp + 0x50]
sub r11, rcx
cmp r11, 0xffff
ja 0x1800562ab
add rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x40], rax
movzx eax, bx
mov rcx, qword [rsp + 0x20]
movzx eax, word [rcx + rax*2 + 0x20000]
xor ecx, ecx
cmp ebx, eax
cmovb eax, ecx
jb 0x1800562ab
sub ebx, eax
mov r15d, ebx
jmp 0x180055dd8
lea ecx, [rax*8]
mov r11d, r10d
rol r11d, cl
test al, 3
cmove r11d, r10d
movabs rax, 0x100000001
imul r11, rax
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rcx, qword [rsp + 0xb0]
jae 0x180056e12
lea rcx, [rax + 8]
mov rdi, qword [rax]
xor rdi, r11
je 0x180056115
tzcnt rcx, rdi
shr ecx, 3
add rax, rcx
sub eax, dword [rsp + 0x78]
add rsi, rax
jmp 0x180055e6d
cmp byte [rax], sil
jne 0x180055b93
inc rax
shr rsi, 8
cmp rax, r11
jb 0x180056149
jmp 0x1800577c1
cmp rdx, qword [rsp + 0x58]
jae 0x180055da4
cmp byte [rdx], al
jne 0x180055da4
inc rdx
shr rax, 8
jmp 0x180056163
cmp ecx, eax
jle 0x18005626d
mov rcx, qword [rsp + 0x60]
mov rdx, rcx
sub rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x38]
lea r8d, [rax + rdx]
cmp dword [rsp + 0x170], r8d
mov qword [rsp + 0x50], rdx
lea eax, [rax + rdx - 0xffff]
cmova eax, dword [rsp + 0xe0]
mov dword [rsp + 0x30], eax
mov r10d, dword [rcx]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x40020]
mov dword [rsp + 0x70], r8d
cmp eax, r8d
jae 0x180056225
mov rcx, qword [rsp + 0xa8]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov r8, qword [rsp + 0x20]
sub edx, dword [r8 + rcx*4]
mov r8d, 0xffff
cmp edx, r8d
jb 0x180056202
mov edx, 0xffff
movzx r8d, ax
mov r9, qword [rsp + 0x20]
mov word [r9 + r8*2 + 0x20000], dx
mov dword [r9 + rcx*4], eax
inc rax
cmp qword [rsp + 0xa0], rax
jne 0x1800561d5
mov rcx, qword [rsp + 0x20]
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x40020], eax
mov rax, qword [rsp + 0x60]
imul eax, dword [rax], 0x9e3779b1
shr eax, 0x11
mov ebx, dword [rcx + rax*4]
movzx eax, r10w
mov ecx, r10d
shr ecx, 0x10
xor ecx, eax
movzx eax, r10b
mov edx, r10d
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x120]
cmp ebx, dword [rsp + 0x30]
jae 0x1800562b7
movsxd rax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
inc ecx
mov qword [rsp + 0xa0], rcx
add qword [rsp + 0x158], 0x10
inc qword [rsp + 0x98]
cmp qword [rsp + 0x140], rax
jl 0x180055822
jmp 0x180056e60
cmp dword [rsp + 0x40], 3
jle 0x18005626d
jmp 0x180056aa4
mov rax, qword [rsp + 0x90]
mov edx, eax
sub edx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
add rax, 4
mov qword [rsp + 0x88], rax
mov r9, r10
movabs rax, 0x100000001
imul r9, rax
xor ecx, ecx
mov dword [rsp + 0x148], edx
mov eax, edx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x2c]
mov r13d, eax
mov dword [rsp + 0xc8], 0
xor edx, edx
xor eax, eax
mov qword [rsp + 0x110], rax
cmp byte [rsp + 0x118], 0
je 0x1800564c5
mov eax, dword [rsp + 0x70]
sub eax, ebx
cmp eax, 8
jae 0x1800564c5
xor esi, esi
cmp esi, dword [rsp + 0x40]
jne 0x1800563d8
mov rax, qword [rsp + 0x40]
add eax, ebx
cmp eax, dword [rsp + 0x70]
ja 0x1800563d8
cmp esi, 4
jl 0x1800563d8
lea r11d, [rsi - 3]
xor r15d, r15d
mov ebp, 0x10
mov eax, 1
mov edi, eax
lea eax, [r15 + rbx]
movzx eax, ax
mov r12, qword [rsp + 0x20]
movzx eax, word [r12 + rax*2 + 0x20000]
lea r12d, [rbp + 1]
sar ebp, 4
cmp edi, eax
mov r8d, 0x10
cmovb r12d, r8d
cmova eax, edi
cmovb ecx, r15d
mov edi, ebp
add edi, r15d
mov r15d, edi
mov ebp, r12d
cmp edi, r11d
jl 0x180056370
cmp eax, ebx
mov r11d, eax
mov edi, 0
cmova r11d, edi
cmp eax, 2
cmovb r11d, edi
mov r15d, ebx
sub r15d, r11d
cmp eax, 1
ja 0x180056710
mov ebx, r15d
movzx eax, bx
mov r11, qword [rsp + 0x20]
cmp word [r11 + rax*2 + 0x20000], 1
jne 0x1800566d3
test ecx, ecx
jne 0x1800566d3
cmp dword [rsp + 0xc8], 0
je 0x180056673
mov rax, qword [rsp + 0x38]
sub eax, ebx
cmp eax, 3
jb 0x1800566d3
cmp dword [rsp + 0xc8], 2
jne 0x1800566d3
lea r15d, [rbx - 1]
cmp r15d, dword [rsp + 0x30]
jb 0x1800566d3
cmp r15d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x128]
cmovae rbp, qword [rsp + 0xa8]
mov eax, r15d
mov dword [rsp + 0xc8], 2
cmp dword [rbp + rax], r10d
jne 0x1800566d3
add rbp, rax
cmp r15d, dword [rsp + 0x38]
mov r11, qword [rsp + 0xe8]
cmovae r11, qword [rsp + 0x58]
lea rcx, [rbp + 4]
lea rsi, [r11 - 7]
mov rdi, rcx
mov rax, rdi
cmp rdi, rsi
jae 0x180057453
lea rdi, [rax + 8]
mov rbx, qword [rax]
xor rbx, r9
je 0x180056483
tzcnt r11, rbx
shr r11d, 3
add rax, r11
sub rax, rcx
mov esi, eax
add rsi, 4
cmp r15d, dword [rsp + 0x38]
jb 0x18005676f
mov rax, qword [rsp + 0x78]
jmp 0x180056786
mov rbp, qword [rsp + 0x38]
sub ebp, ebx
jbe 0x1800565d1
cmp ebx, dword [rsp + 0xf8]
ja 0x180056341
mov esi, ebx
sub esi, dword [rsp + 0xe0]
add rsi, qword [rsp + 0x48]
cmp dword [rsi], r10d
jne 0x180056341
add rbp, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
cmp rbp, rax
mov r15, rbp
cmova r15, rax
add rsi, 4
lea r11, [r15 - 7]
cmp r11, qword [rsp + 0x88]
jbe 0x1800578ba
mov rax, qword [rsp + 0x88]
mov rdi, qword [rax]
xor rdi, qword [rsi]
je 0x18005671e
tzcnt rax, rdi
xor r12d, r12d
test rdi, rdi
sete dil
je 0x180056728
shr eax, 3
lea esi, [rax + 4]
cmp rbp, qword [rsp + 0x58]
jae 0x1800565a9
cdqe
mov r8, qword [rsp + 0x60]
add rax, r8
add rax, 4
cmp rax, r15
jne 0x1800565a9
mov r11, r15
mov rbp, qword [rsp + 0x78]
cmp qword [rsp + 0xb0], r15
jbe 0x180056969
mov r11, qword [r15]
mov rax, qword [rsp + 0x78]
xor r11, qword [rax]
je 0x18005694f
tzcnt rax, r11
xor edi, edi
test r11, r11
sete r11b
je 0x180056959
shr eax, 3
add esi, eax
cmp esi, dword [rsp + 0x40]
jle 0x180056343
mov eax, ebx
add rax, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rax
mov eax, esi
mov qword [rsp + 0x40], rax
jmp 0x180056343
mov r15d, ebx
add r15, qword [rsp + 0xa8]
movsxd rax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x60]
movzx r11d, word [r8 + rax - 1]
cmp r11w, word [rax + r15 - 1]
jne 0x180056341
cmp dword [r15], r10d
jne 0x180056341
lea rax, [r15 + 4]
mov r8, qword [rsp + 0x88]
cmp qword [rsp + 0xb0], r8
jbe 0x1800578d4
mov r8, qword [rsp + 0x88]
mov r11, qword [r8]
xor r11, qword [rax]
je 0x1800568fb
tzcnt rsi, r11
xor edi, edi
test r11, r11
sete r11b
je 0x180056905
shr esi, 3
add esi, 4
mov r8, qword [rsp + 0x40]
cmp esi, r8d
mov rax, qword [rsp + 0x110]
cmovg rax, r15
mov qword [rsp + 0x110], rax
cmovg r8d, esi
mov qword [rsp + 0x40], r8
jmp 0x180056343
mov dword [rsp + 0xc8], 1
cmp byte [rsp + 0x120], 0
je 0x1800566d3
mov rax, qword [rsp + 0x88]
mov rdx, rax
cmp rax, qword [rsp + 0xb0]
jae 0x180057469
lea rax, [rdx + 8]
mov r11, qword [rdx]
xor r11, r9
je 0x180056690
tzcnt rax, r11
shr eax, 3
add rdx, rax
sub edx, dword [rsp + 0x88]
add rdx, 4
mov dword [rsp + 0xc8], 2
jmp 0x180056406
lea eax, [rcx + rbx]
movzx eax, ax
mov r11, qword [rsp + 0x20]
movzx eax, word [r11 + rax*2 + 0x20000]
sub ebx, eax
mov r15d, ebx
cmp r15d, dword [rsp + 0x30]
jb 0x180056a93
lea eax, [r13 - 1]
mov ebx, r15d
cmp r13d, 1
mov r13d, eax
jg 0x180056324
jmp 0x180056a93
mov qword [rsp + 0x40], rsi
cmp eax, ebx
jbe 0x1800566ec
jmp 0x180056a93
mov eax, 0x40
jmp 0x180056539
mov r12b, dil
mov rax, qword [rsp + 0x88]
lea rdi, [rax + r12*8]
lea rsi, [rsi + r12*8]
mov rax, rdi
cmp rdi, r11
jae 0x180057656
mov r12, qword [rax]
lea rdi, [rax + 8]
xor r12, qword [rsi]
lea rsi, [rsi + 8]
je 0x18005673b
tzcnt r11, r12
shr r11d, 3
add eax, r11d
sub eax, dword [rsp + 0x88]
jmp 0x18005654c
lea rcx, [rsi + rbp]
cmp rcx, qword [rsp + 0xe8]
je 0x180056a03
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x19c], r10d
lea r11, [rax + 4]
mov rdi, rbp
mov rcx, rdi
cmp rdi, r11
jb 0x1800567a7
lea rdi, [rcx - 4]
cmp dword [rcx - 4], r10d
je 0x180056795
cmp rcx, rax
jbe 0x1800567d5
xor r11d, r11d
mov bl, byte [rcx + r11 - 1]
cmp bl, byte [rsp + r11 + 0x19f]
jne 0x1800567d2
lea rdi, [rcx + r11]
dec rdi
dec r11
cmp rdi, rax
ja 0x1800567af
jmp 0x180057461
add rcx, r11
mov rax, rbp
sub rax, rcx
cmp r15d, dword [rsp + 0x38]
jb 0x180056881
mov ecx, eax
sub rbp, rcx
cmp rbp, qword [rsp + 0x78]
jne 0x180056881
mov rcx, qword [rsp + 0xe0]
cmp ecx, dword [rsp + 0x38]
jae 0x180056881
mov edi, eax
neg edi
mov ecx, edi
shl ecx, 3
mov r11d, r10d
rol r11d, cl
test dil, 3
cmove r11d, r10d
mov dword [rsp + 0x19c], r11d
mov rcx, qword [rsp + 0x108]
mov rdi, rcx
cmp rcx, 4
jl 0x1800576a7
lea rcx, [rdi - 4]
mov r8, qword [rsp + 0x48]
cmp dword [r8 + rdi - 4], r11d
je 0x18005682b
add rdi, qword [rsp + 0x48]
mov rcx, rdi
lea r11, [rsp + 0x19f]
mov bl, byte [rcx - 1]
cmp bl, byte [r11]
jne 0x18005686d
dec rcx
dec r11
cmp rcx, qword [rsp + 0x48]
ja 0x180056858
mov r8, qword [rsp + 0xe8]
mov r11d, r8d
sub r11d, ecx
add r11d, eax
mov eax, r11d
mov ebx, r15d
sub ebx, eax
mov eax, dword [rsp + 0x30]
cmp ebx, eax
cmovbe ebx, eax
mov eax, r15d
sub eax, ebx
add rax, rsi
cmp rsi, rdx
ja 0x1800568cc
cmp rax, rdx
jb 0x1800568cc
sub r15d, edx
add r15d, esi
mov eax, r15d
not eax
mov rcx, qword [rsp + 0x38]
add eax, ecx
cmp eax, 3
cmovb r15d, ecx
xor ecx, ecx
mov dword [rsp + 0xc8], 2
jmp 0x1800566ec
mov r11d, ebx
not r11d
add r11d, dword [rsp + 0x38]
xor ecx, ecx
mov dword [rsp + 0xc8], 2
cmp r11d, 3
jae 0x18005699f
mov rax, qword [rsp + 0x38]
mov r15d, eax
jmp 0x1800566ec
mov esi, 0x40
jmp 0x180056634
mov dil, r11b
mov r8, qword [rsp + 0x88]
lea r11, [r8 + rdi*8]
lea rax, [rax + rdi*8]
mov rsi, r11
cmp r11, qword [rsp + 0xb0]
jae 0x1800577c9
mov rdi, qword [rsi]
lea r11, [rsi + 8]
xor rdi, qword [rax]
lea rax, [rax + 8]
je 0x180056918
tzcnt rax, rdi
shr eax, 3
add esi, eax
sub esi, dword [rsp + 0x88]
jmp 0x180056646
mov eax, 0x40
jmp 0x180056595
mov dil, r11b
lea r11, [r15 + rdi*8]
mov rax, qword [rsp + 0x78]
lea rbp, [rax + rdi*8]
mov rax, r11
cmp r11, qword [rsp + 0xb0]
jae 0x18005782b
mov rdi, qword [rax]
lea r11, [rax + 8]
xor rdi, qword [rbp]
lea rbp, [rbp + 8]
je 0x180056969
tzcnt r11, rdi
shr r11d, 3
add eax, r11d
sub eax, r15d
jmp 0x1800565a7
cmp rax, rdx
cmovae rax, rdx
movsxd rcx, dword [rsp + 0x40]
cmp rax, rcx
jbe 0x1800569dc
mov ecx, ebx
mov r11, qword [rsp + 0x50]
sub r11, rcx
cmp r11, 0xffff
ja 0x180056a93
add rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x40], rax
movzx eax, bx
mov rcx, qword [rsp + 0x20]
movzx eax, word [rcx + rax*2 + 0x20000]
xor ecx, ecx
cmp ebx, eax
cmovb eax, ecx
jb 0x180056a93
sub ebx, eax
mov r15d, ebx
jmp 0x1800566ec
lea ecx, [rax*8]
mov r11d, r10d
rol r11d, cl
test al, 3
cmove r11d, r10d
movabs rax, 0x100000001
imul r11, rax
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rcx, qword [rsp + 0xb0]
jae 0x1800573e2
lea rcx, [rax + 8]
mov rdi, qword [rax]
xor rdi, r11
je 0x180056a29
tzcnt rcx, rdi
shr ecx, 3
add rax, rcx
sub eax, dword [rsp + 0x78]
add rsi, rax
jmp 0x180056781
cmp byte [rax], sil
jne 0x1800564a7
inc rax
shr rsi, 8
cmp rax, r11
jb 0x180056a5d
jmp 0x180057891
cmp rdx, qword [rsp + 0x58]
jae 0x1800566b8
cmp byte [rdx], al
jne 0x1800566b8
inc rdx
shr rax, 8
jmp 0x180056a77
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x40], eax
jle 0x18005626d
mov rdx, qword [rsp + 0x40]
mov eax, edx
add eax, 0xffffffed
shl rdx, 0x20
cmp eax, 0x12
mov rax, rdx
movabs rcx, 0x1200000000
cmovb rax, rcx
cmp byte [rsp + 0x118], 0
cmove rax, rdx
mov rcx, rax
shr rcx, 0x20
je 0x18005626d
mov rdx, qword [rsp + 0x60]
sub edx, dword [rsp + 0x110]
mov qword [rsp + 0x60], rdx
sar rax, 0x20
cmp rax, qword [rsp + 0x180]
ja 0x180057528
mov rax, qword [rsp + 0x68]
add eax, ecx
cmp eax, 0xfff
jg 0x180057528
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x130]
movsxd rdx, dword [rax + rdx + 0xc]
lea eax, [rdx - 0xf]
mov r8d, 0x80808081
imul rax, r8
shr rax, 0x27
lea r10d, [rdx + 1]
cmp rdx, 0xf
lea r8d, [rdx + rax + 1]
cmovl r8d, edx
mov r11d, r10d
cmp rdx, 0xd
jle 0x180056b6d
lea eax, [rdx - 0xe]
mov r9d, 0x80808081
imul rax, r9
shr rax, 0x27
lea r11d, [rdx + rax]
add r11d, 2
mov rax, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
lea rsi, [rax + r9]
mov r9, qword [rsp + 0x130]
add rax, r9
mov r9d, dword [rax]
mov eax, r9d
sub eax, r8d
add r11d, eax
cmp r11d, dword [rsi]
jge 0x180056bc4
mov rdi, qword [rsp + 0xc0]
movabs rbx, 0x100000000
mov r15, qword [rsp + 0x100]
mov qword [rdi + r15 + 4], rbx
mov dword [rdi + r15 + 0xc], r10d
mov dword [rsi], r11d
lea r10d, [rdx + 2]
mov r11d, r10d
cmp edx, 0xd
jl 0x180056be8
lea r11d, [rdx - 0xd]
mov esi, 0x80808081
imul r11, rsi
shr r11, 0x27
add r11d, edx
add r11d, 3
add r11d, eax
mov rsi, qword [rsp + 0x68]
add rsi, 2
shl rsi, 4
mov rdi, qword [rsp + 0xc0]
cmp r11d, dword [rdi + rsi]
jge 0x180056c29
mov rbx, qword [rsp + 0xc0]
lea rdi, [rbx + rsi]
movabs r15, 0x100000000
mov qword [rbx + rsi + 4], r15
mov dword [rbx + rsi + 0xc], r10d
mov dword [rdi], r11d
lea r10d, [rdx + 3]
mov r11d, r10d
cmp edx, 0xc
jl 0x180056c4d
lea r11d, [rdx - 0xc]
mov esi, 0x80808081
imul r11, rsi
shr r11, 0x27
add r11d, edx
add r11d, 4
add r11d, eax
mov rax, qword [rsp + 0x68]
add rax, 3
shl rax, 4
mov rsi, qword [rsp + 0xc0]
cmp r11d, dword [rsi + rax]
jge 0x180056c8e
mov rdi, qword [rsp + 0xc0]
lea rsi, [rdi + rax]
movabs rbx, 0x100000000
mov qword [rdi + rax + 4], rbx
mov dword [rdi + rax + 0xc], r10d
mov dword [rsi], r11d
cmp ecx, 3
jle 0x180056da2
lea r10d, [rcx + 1]
mov r11, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x130]
mov esi, dword [r11 + rax + 8]
mov rax, qword [rsp + 0x68]
sub eax, edx
movsxd rbx, eax
shl rbx, 4
add rbx, r11
add r8d, 3
mov eax, 4
mov r15, qword [rsp + 0x158]
cmp esi, 1
jne 0x180056d0d
xor r11d, r11d
cmp qword [rsp + 0x68], rdx
jle 0x180056ce4
mov r11d, dword [rbx]
mov r13d, r8d
cmp rax, 0x13
jb 0x180056d05
lea edi, [rax - 0x13]
mov r12d, 0x80808081
imul rdi, r12
shr rdi, 0x27
lea r13d, [rdi + r8]
inc r13d
add r13d, r11d
mov r11d, edx
jmp 0x180056d35
mov r13d, 3
cmp rax, 0x13
jb 0x180056d2f
lea r13d, [rax - 0x13]
mov r11d, 0x80808081
imul r13, r11
shr r13, 0x27
add r13d, 4
add r13d, r9d
xor r11d, r11d
mov rdi, qword [rsp + 0x90]
add edi, 3
mov r12, qword [rsp + 0x98]
lea rbp, [r12 + rax]
add rbp, 0xfffffffffffffffc
cmp edi, ebp
jl 0x180056d63
mov edi, dword [r15]
add edi, dword [rsp + 0x138]
cmp r13d, edi
jg 0x180056d92
mov rdi, qword [rsp + 0x90]
cmp edi, ebp
cmovge ebp, edi
cmp rcx, rax
cmovne ebp, edi
mov dword [r15 + 8], eax
mov rdi, qword [rsp + 0x60]
mov dword [r15 + 4], edi
mov dword [r15 + 0xc], r11d
mov dword [r15], r13d
mov qword [rsp + 0x90], rbp
inc rax
add r15, 0x10
cmp r10, rax
jne 0x180056cd2
movsxd rax, dword [rsp + 0x90]
shl rax, 4
mov r8, qword [rsp + 0xc0]
movabs r9, 0x100000000
mov qword [r8 + rax + 0x14], r9
mov dword [r8 + rax + 0x1c], 1
mov ecx, dword [r8 + rax]
lea edx, [rcx + 1]
mov dword [r8 + rax + 0x10], edx
mov qword [r8 + rax + 0x24], r9
mov dword [r8 + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [r8 + rax + 0x20], edx
mov qword [r8 + rax + 0x34], r9
mov dword [r8 + rax + 0x3c], 3
add ecx, 3
mov dword [r8 + rax + 0x30], ecx
jmp 0x18005626d
inc rax
shr r11, 8
cmp rax, qword [rsp + 0x58]
jae 0x18005613d
cmp byte [rax], r11b
je 0x180056e0b
jmp 0x18005613d
mov rcx, qword [rsp + 0xc0]
mov qword [rcx + 0x24], r8
mov dword [rcx + 0x2c], edx
mov dword [rcx + 0x20], edx
mov ecx, 0xf
cmp dword [rsp + 0x30], 0xc
je 0x1800556ac
mov rcx, qword [rsp + 0x30]
add ecx, 3
mov edx, ecx
jmp 0x1800556c9
movsxd rax, dword [rsp + 0x90]
shl rax, 4
mov rcx, qword [rsp + 0xc0]
mov edx, dword [rcx + rax + 4]
mov qword [rsp + 0x60], rdx
mov ecx, dword [rcx + rax + 8]
mov rax, qword [rsp + 0x90]
sub eax, ecx
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsp + 0x68]
mov rdx, rax
shl rdx, 4
mov r11, qword [rsp + 0xc0]
mov r8d, dword [r11 + rdx + 8]
cmp r8d, eax
mov r9d, r8d
mov r10d, 0
cmovg r9d, r10d
mov r10d, dword [r11 + rdx + 4]
mov esi, eax
sub esi, r9d
mov qword [rsp + 0x68], rsi
mov dword [r11 + rdx + 8], ecx
mov rcx, qword [rsp + 0x60]
mov dword [r11 + rdx + 4], ecx
mov ecx, r8d
mov edx, r10d
mov qword [rsp + 0x60], rdx
cmp r8d, eax
jle 0x180056e88
cmp dword [rsp + 0x90], 0
jle 0x1800555bc
mov esi, dword [rsp + 0x90]
xor r15d, r15d
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
movsxd r15, r15d
mov rbx, qword [rsp + 0xd0]
sub rbx, qword [rsp + 0xd8]
lea r8, [rbx - 0x10e]
add rbx, 4
mov rax, r15
shl rax, 4
add rax, qword [rsp + 0x150]
xor ecx, ecx
movsxd r13, dword [rax]
cmp r13, 1
jne 0x180056f57
inc rbx
lea rdx, [r15 + rcx]
inc rdx
inc rcx
add rax, 0x10
cmp rdx, rsi
jl 0x180056f33
jmp 0x180057205
add r15, rcx
mov rax, qword [rsp + 0xd0]
add rax, rcx
mov r9, r15
shl r9, 4
mov qword [rsp + 0xd0], rax
sub rax, qword [rsp + 0xd8]
mov rdx, rax
mov qword [rsp + 0x80], rax
movabs rdx, 0x8080808080808081
mul rdx
xor ebp, ebp
mov rax, qword [rsp + 0xc0]
mov eax, dword [rax + r9 + 4]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x220], 0
je 0x180056fdd
shr rdx, 7
mov rax, qword [rsp + 0x48]
add rax, rdx
inc rax
mov rdx, qword [rsp + 0x80]
add rax, rdx
add rax, 8
cmp rax, qword [rsp + 0xb8]
ja 0x1800574f7
mov rax, qword [rsp + 0x48]
lea r12, [rax + 1]
cmp qword [rsp + 0x80], 0xf
jb 0x180057075
mov rax, qword [rsp + 0x80]
lea rdx, [rax - 0xf]
mov rax, qword [rsp + 0x48]
mov byte [rax], 0xf0
cmp rdx, 0xff
jb 0x18005706c
add rcx, r8
mov rax, rcx
movabs rcx, 0x8080808080808081
mul rcx
lea rdi, [rbx - 0x112]
shr rdx, 7
lea r8, [rdx + 1]
mov rcx, r12
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
mov rax, rdx
shl rax, 8
mov rcx, qword [rsp + 0x48]
lea r12, [rcx + rdx]
add r12, 2
sub rdx, rax
add rdx, rdi
mov byte [r12], dl
inc r12
jmp 0x180057087
mov rax, qword [rsp + 0x80]
shl al, 4
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
add r15d, r13d
mov rax, r12
add qword [rsp + 0x80], r12
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rdx]
mov qword [rax], rcx
add rax, 8
add rdx, 8
mov qword [rsp + 0xd8], rdx
cmp rax, qword [rsp + 0x80]
jb 0x180057095
lea rcx, [r13 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
mov rax, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x38]
mov word [rax], r8w
cmp dword [rsp + 0x220], 0
je 0x18005710d
shr rdx, 7
mov rax, qword [rsp + 0x80]
add rax, rdx
add rax, 8
cmp rax, qword [rsp + 0xb8]
ja 0x1800574f7
add qword [rsp + 0x80], 2
cmp rcx, 0xf
jb 0x1800571c0
mov rax, qword [rsp + 0x48]
add byte [rax], 0xf
lea rax, [r13 - 0x13]
cmp rax, 0x1fe
jb 0x180057185
lea rax, [r13 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp*2 + 2]
mov rcx, qword [rsp + 0x80]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
lea rax, [rbx + rbp*2]
add r12, rax
imul rax, rbp, 0xfffffffffffffe02
add rax, r13
add rax, 0xfffffffffffffdef
mov qword [rsp + 0x80], r12
cmp rax, 0xff
jb 0x1800571a9
add rax, 0xffffffffffffff01
mov rcx, qword [rsp + 0x80]
mov byte [rcx], 0xff
inc rcx
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
inc rcx
mov qword [rsp + 0x80], rcx
jmp 0x1800571c7
mov rax, qword [rsp + 0x48]
add byte [rax], cl
mov r12, qword [rsp + 0xd0]
add r12, r13
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov rax, r12
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], r12
cmp r15d, dword [rsp + 0x90]
jl 0x180056f04
jmp 0x1800555bc
add qword [rsp + 0xd0], rcx
mov rax, qword [rsp + 0x48]
jmp 0x180057391
mov rax, qword [rsp + 0x30]
shl al, 4
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
add qword [rsp + 0x30], r15
mov rax, qword [rsp + 0xd8]
mov rcx, r15
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, qword [rsp + 0x30]
jb 0x180057239
mov rax, qword [rsp + 0x90]
lea rcx, [rax - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
mov rax, qword [rsp + 0x30]
mov word [rax], si
cmp dword [rsp + 0x220], 0
je 0x18005729a
shr rdx, 7
mov rax, qword [rsp + 0x30]
add rax, rdx
add rax, 8
cmp rax, qword [rsp + 0xb8]
ja 0x1800574f7
add qword [rsp + 0x30], 2
cmp rcx, 0xf
jb 0x18005735f
mov rax, qword [rsp + 0x80]
add byte [rax], 0xf
mov rax, qword [rsp + 0x90]
add rax, 0xffffffffffffffed
cmp rax, 0x1fe
jb 0x180057330
mov rsi, qword [rsp + 0x90]
lea rax, [rsi - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0xd0]
lea rax, [rax + rbx*2]
sub rax, qword [rsp + 0xd8]
add rax, r15
add rax, 4
mov qword [rsp + 0x30], rax
imul rax, rbx, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x18005734e
add rax, 0xffffffffffffff01
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0xff
inc rcx
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
mov byte [rcx], al
inc rcx
mov qword [rsp + 0x30], rcx
jmp 0x180057369
mov rax, qword [rsp + 0x80]
add byte [rax], cl
mov rcx, qword [rsp + 0xd0]
add rcx, qword [rsp + 0x90]
mov rax, rcx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rcx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
jmp 0x1800555bc
inc rcx
shr r11, 8
cmp rcx, qword [rsp + 0x58]
jae 0x18005543d
cmp byte [rcx], r11b
je 0x18005739e
jmp 0x18005543d
cmp r8, rdx
jae 0x180054ea2
mov r11, rbx
jmp 0x180055449
mov r11, rcx
jmp 0x1800551c5
mov r8, rbx
jmp 0x180055463
inc rax
shr r11, 8
cmp rax, qword [rsp + 0x58]
jae 0x180056a51
cmp byte [rax], r11b
je 0x1800573db
jmp 0x180056a51
cmp rax, r11
jae 0x180055b93
jmp 0x180057520
mov rcx, rax
jmp 0x180055ec1
mov rax, r9
jmp 0x180056163
lea r11, [r8 - 3]
cmp rdi, r11
jb 0x180057606
lea r11, [r8 - 1]
cmp rdi, r11
jb 0x18005761f
cmp rdi, r8
jae 0x180055157
jmp 0x18005763a
mov rcx, qword [rsp + 0x48]
add rcx, rsi
test rsi, rsi
jg 0x180055242
jmp 0x180055260
cmp rax, r11
jae 0x1800564a7
jmp 0x1800576bd
mov rcx, rax
jmp 0x1800567d5
mov rax, r9
jmp 0x180056a77
lea r11, [r15 - 3]
cmp rax, r11
jb 0x18005778d
lea r11, [r15 - 1]
cmp rax, r11
jb 0x1800577a6
cmp rax, r15
jae 0x180055e4f
mov r11b, byte [rsi]
xor esi, esi
cmp r11b, byte [rax]
sete sil
add rax, rsi
jmp 0x180055e4f
mov eax, ebx
shl al, 4
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
mov r14, qword [rsp + 0x80]
inc r14
mov rcx, r14
mov rdx, qword [rsp + 0xd8]
mov rdi, rbx
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add r14d, edi
sub esi, dword [rsp + 0x160]
mov rax, qword [rsp + 0x188]
mov dword [rax], esi
sub r14d, dword [rsp + 0x168]
mov ebp, r14d
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1800578e1
mov rcx, qword [rsp + 0x48]
add rcx, rdi
test rdi, rdi
jg 0x180055f3c
jmp 0x180055f59
mov rsi, r9
jmp 0x180056149
mov rax, qword [rsp + 0x68]
inc eax
mov qword [rsp + 0x90], rax
jmp 0x180056e88
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp rsi, r11
jae 0x18005755d
mov r11d, dword [r9]
cmp r11d, dword [rsi]
jne 0x18005755d
add rsi, 4
add r9, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp rsi, r11
jae 0x180057580
movzx r11d, word [r9]
cmp r11w, word [rsi]
jne 0x180057580
add rsi, 2
add r9, 2
cmp rsi, qword [rsp + 0x58]
jae 0x18005532a
mov r9b, byte [r9]
xor r11d, r11d
cmp r9b, byte [rsi]
sete r11b
add rsi, r11
jmp 0x18005532a
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp r9, r11
jae 0x1800575c2
mov r11d, dword [r13]
cmp r11d, dword [r9]
jne 0x1800575c2
add r9, 4
add r13, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp r9, r11
jae 0x1800575e6
movzx r11d, word [r13]
cmp r11w, word [r9]
jne 0x1800575e6
add r9, 2
add r13, 2
cmp r9, qword [rsp + 0x58]
jae 0x18005537c
mov r11b, byte [r13]
xor edi, edi
cmp r11b, byte [r9]
sete dil
add r9, rdi
jmp 0x18005537c
mov r11d, dword [rsi]
cmp r11d, dword [rdi]
jne 0x180057422
add rdi, 4
add rsi, 4
jmp 0x180057422
movzx r11d, word [rsi]
cmp r11w, word [rdi]
jne 0x18005742f
add rdi, 2
add rsi, 2
jmp 0x18005742f
mov r11b, byte [rsi]
xor esi, esi
cmp r11b, byte [rdi]
sete sil
add rdi, rsi
jmp 0x180055157
mov r8, rdx
jmp 0x180054ea2
lea r11, [r15 - 3]
cmp rax, r11
jae 0x18005766f
mov r11d, dword [rsi]
cmp r11d, dword [rax]
jne 0x18005766f
add rax, 4
add rsi, 4
lea r11, [r15 - 1]
cmp rax, r11
jae 0x18005768a
movzx r11d, word [rsi]
cmp r11w, word [rax]
jne 0x18005768a
add rax, 2
add rsi, 2
cmp rax, r15
jae 0x180056763
mov r11b, byte [rsi]
xor esi, esi
cmp r11b, byte [rax]
sete sil
add rax, rsi
jmp 0x180056763
mov rcx, qword [rsp + 0x48]
add rcx, rdi
test rdi, rdi
jg 0x180056850
jmp 0x18005686d
mov rsi, r9
jmp 0x180056a5d
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp rsi, r11
jae 0x1800576e6
mov r11d, dword [rax]
cmp r11d, dword [rsi]
jne 0x1800576e6
add rsi, 4
add rax, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp rsi, r11
jae 0x180057709
movzx r11d, word [rax]
cmp r11w, word [rsi]
jne 0x180057709
add rsi, 2
add rax, 2
cmp rsi, qword [rsp + 0x58]
jae 0x18005602f
mov al, byte [rax]
xor r11d, r11d
cmp al, byte [rsi]
sete r11b
add rsi, r11
jmp 0x18005602f
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp rax, r11
jae 0x180057749
mov r11d, dword [rbp]
cmp r11d, dword [rax]
jne 0x180057749
add rax, 4
add rbp, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp rax, r11
jae 0x18005776d
movzx r11d, word [rbp]
cmp r11w, word [rax]
jne 0x18005776d
add rax, 2
add rbp, 2
cmp rax, qword [rsp + 0x58]
jae 0x180056083
mov r11b, byte [rbp]
xor edi, edi
cmp r11b, byte [rax]
sete dil
add rax, rdi
jmp 0x180056083
mov r11d, dword [rsi]
cmp r11d, dword [rax]
jne 0x18005747e
add rax, 4
add rsi, 4
jmp 0x18005747e
movzx r11d, word [rsi]
cmp r11w, word [rax]
jne 0x18005748b
add rax, 2
add rsi, 2
jmp 0x18005748b
mov rax, r11
jmp 0x180055b93
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp rsi, r11
jae 0x1800577ea
mov r11d, dword [rax]
cmp r11d, dword [rsi]
jne 0x1800577ea
add rsi, 4
add rax, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp rsi, r11
jae 0x18005780d
movzx r11d, word [rax]
cmp r11w, word [rsi]
jne 0x18005780d
add rsi, 2
add rax, 2
cmp rsi, qword [rsp + 0x58]
jae 0x180056943
mov al, byte [rax]
xor r11d, r11d
cmp al, byte [rsi]
sete r11b
add rsi, r11
jmp 0x180056943
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff8
cmp rax, r11
jae 0x18005784d
mov r11d, dword [rbp]
cmp r11d, dword [rax]
jne 0x18005784d
add rax, 4
add rbp, 4
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffffa
cmp rax, r11
jae 0x180057871
movzx r11d, word [rbp]
cmp r11w, word [rax]
jne 0x180057871
add rax, 2
add rbp, 2
cmp rax, qword [rsp + 0x58]
jae 0x180056997
mov r11b, byte [rbp]
xor edi, edi
cmp r11b, byte [rax]
sete dil
add rax, rdi
jmp 0x180056997
mov rax, r11
jmp 0x1800564a7
mov r13, qword [rsp + 0x68]
jmp 0x18005512f
mov rdi, qword [rsp + 0x88]
jmp 0x180055e27
mov r11, qword [rsp + 0x68]
jmp 0x1800552fd
mov rdi, qword [rsp + 0x88]
jmp 0x18005673b
mov r11, qword [rsp + 0x88]
jmp 0x180056004
mov r11, qword [rsp + 0x88]
jmp 0x180056918
test ebp, ebp
jle 0x18005abc6
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180062020
mov eax, ebp
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x58]
add byte [rax], cl
mov qword [rsp + 0x58], r13
mov rcx, r11
cmp r11, qword [rsp + 0x48]
ja 0x180058f6f
mov qword [rsp + 0x60], r10
mov qword [rsp + 0xd0], r15
mov r13, qword [rsp + 0x20]
mov rax, qword [r13 + 0x40008]
mov rdx, qword [r13 + 0x40010]
mov qword [rsp + 0x78], rdx
mov r10d, dword [r13 + 0x40018]
mov edx, dword [r13 + 0x4001c]
mov qword [rsp + 0x118], rdx
add edx, 0x10000
mov dword [rsp + 0xa0], edx
mov rdx, rax
sub rdx, r10
mov qword [rsp + 0xb0], rdx
mov edx, dword [r13 + 0x40020]
mov dword [rsp + 0x38], edx
lea edi, [rcx + r10]
mov qword [rsp + 0xa8], rax
sub edi, eax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0xc0], rcx
mov rbx, rcx
mov eax, dword [rsp + 0x38]
mov r11, rbx
sub r11, qword [rsp + 0xa8]
lea r9d, [r10 + r11]
cmp dword [rsp + 0xa0], r9d
lea r15d, [r10 + r11 - 0xffff]
cmova r15d, dword [rsp + 0x118]
mov edi, edi
mov ecx, dword [rbx]
mov qword [rsp + 0x40], rcx
cmp eax, r9d
jae 0x180057a25
mov eax, eax
mov rcx, qword [rsp + 0xb0]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
sub edx, dword [r13 + rcx*4]
cmp edx, 0xffff
jb 0x180057a0b
mov edx, 0xffff
movzx r8d, ax
mov word [r13 + r8*2 + 0x20000], dx
mov dword [r13 + rcx*4], eax
inc rax
cmp rdi, rax
jne 0x1800579e5
mov dword [r13 + 0x40020], r9d
imul eax, dword [rbx], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
cmp ecx, r15d
mov dword [rsp + 0x38], r9d
jb 0x180057b56
test r12d, r12d
jle 0x180057b56
add r11, r10
xor eax, eax
mov qword [rsp + 0x68], rax
mov r14d, 3
mov edx, r12d
xor eax, eax
mov qword [rsp + 0x70], rax
mov r8d, r10d
sub r8d, ecx
ja 0x18005915a
mov esi, ecx
add rsi, qword [rsp + 0xb0]
movsxd rax, r14d
movzx r9d, word [rbx + rax - 1]
cmp r9w, word [rax + rsi - 1]
je 0x180057ad1
movzx eax, cx
movzx esi, word [r13 + rax*2 + 0x20000]
cmp esi, 1
sete al
cmp r12d, 0x80
jg 0x180057aaf
xor eax, eax
test al, al
jne 0x18005929a
sub ecx, esi
cmp ecx, r15d
jb 0x180057b50
lea eax, [rdx - 1]
cmp edx, 1
mov edx, eax
jg 0x180057a6b
jmp 0x180057b50
mov rax, qword [rsp + 0x40]
cmp dword [rsi], eax
jne 0x180057a92
lea r12, [rbx + 4]
lea rax, [rsi + 4]
cmp qword [rsp + 0x48], r12
jbe 0x180058e41
mov r13, qword [r12]
xor r13, qword [rax]
je 0x180057b3c
mov rbp, rbx
tzcnt r9, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x180058962
shr r9d, 3
mov r13, qword [rsp + 0x20]
mov rbx, rbp
add r9d, 4
cmp r9d, r14d
mov rax, qword [rsp + 0x30]
cmovg rax, rsi
mov qword [rsp + 0x30], rax
cmovg r14d, r9d
mov r12d, dword [rsp + 0x2c]
jmp 0x180057a92
mov rbp, rbx
mov r9d, 0x40
jmp 0x180057afe
cmp r14d, 4
jge 0x180057b70
inc rbx
inc edi
cmp rbx, qword [rsp + 0x48]
jbe 0x1800579a9
jmp 0x180058f62
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x158], r9
mov qword [rsp + 0x140], rbx
mov r11d, r14d
mov r15, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x60]
mov r8, rbx
mov rbx, r10
mov qword [rsp + 0xd8], r11
mov eax, r14d
mov r14, r9
movsxd rcx, eax
mov qword [rsp + 0x78], rcx
lea r11, [r8 + rcx]
cmp r11, qword [rsp + 0x48]
mov qword [rsp + 0xe0], r11
ja 0x180058ec6
mov qword [rsp + 0x38], r8
mov dword [rsp + 0xc8], eax
lea rcx, [r11 - 2]
mov rdx, qword [r13 + 0x40008]
mov esi, dword [r13 + 0x40018]
mov rax, rcx
mov qword [rsp + 0x90], rcx
mov r8, rcx
mov rax, rdx
mov qword [rsp + 0xa0], rdx
sub r8, rdx
lea ecx, [rsi + r8]
mov edx, dword [r13 + 0x4001c]
lea eax, [rdx + 0x10000]
cmp eax, ecx
mov qword [rsp + 0xf8], r8
lea eax, [rsi + r8 - 0xffff]
mov qword [rsp + 0x88], rdx
cmova eax, edx
mov dword [rsp + 0x40], eax
mov eax, dword [r11 - 2]
mov qword [rsp + 0x70], rax
mov r8d, dword [r13 + 0x40020]
cmp r8d, ecx
jae 0x180057d4a
mov edx, ecx
sub edx, r8d
mov rax, r8
test dl, 1
je 0x180057c9e
mov rax, qword [rsp + 0xa0]
sub rax, rsi
imul eax, dword [rax + r8], 0x9e3779b1
shr eax, 0x11
mov edx, r8d
sub edx, dword [r13 + rax*4]
cmp edx, 0xffff
mov r9d, 0xffff
cmovae edx, r9d
movzx r9d, r8w
mov word [r13 + r9*2 + 0x20000], dx
mov dword [r13 + rax*4], r8d
lea rax, [r8 + 1]
mov edx, ecx
not r8
add r8, rdx
je 0x180057d4a
mov r8, rsi
neg r8
mov r9, qword [rsp + 0xa0]
add r8, r9
inc r8
imul r9d, dword [r8 + rax - 1], 0x9e3779b1
shr r9d, 0x11
mov r10d, eax
sub r10d, dword [r13 + r9*4]
cmp r10d, 0xffff
jb 0x180057ce4
mov r10d, 0xffff
movzx r11d, ax
mov word [r13 + r11*2 + 0x20000], r10w
mov dword [r13 + r9*4], eax
imul r9d, dword [r8 + rax], 0x9e3779b1
shr r9d, 0x11
mov r11d, dword [r13 + r9*4]
mov r10d, eax
sub r10d, r11d
inc r10d
cmp r10d, 0xffff
jb 0x180057d1f
mov r10d, 0xffff
lea r11, [rax + 1]
movzx edi, r11w
mov word [r13 + rdi*2 + 0x20000], r10w
mov dword [r13 + r9*4], r11d
add rax, 2
cmp rax, rdx
mov r11, qword [rsp + 0xe0]
jb 0x180057cc0
mov r9, qword [r13 + 0x40010]
mov dword [r13 + 0x40020], ecx
mov r8, qword [rsp + 0x90]
imul eax, dword [r8], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
cmp ecx, dword [rsp + 0x40]
jb 0x180058733
mov qword [rsp + 0x128], r14
mov rdx, rsi
mov rax, qword [rsp + 0x88]
sub rdx, rax
neg rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x110], rdx
lea rax, [r9 + rdx]
mov qword [rsp + 0x130], rax
mov rax, r8
mov rdx, qword [rsp + 0x38]
sub rax, rdx
add qword [rsp + 0xf8], rsi
mov r10, qword [rsp + 0xa0]
sub r10, rsi
mov qword [rsp + 0x68], rax
cdqe
neg rax
mov qword [rsp + 0x118], rax
mov rdi, rdx
sub rdi, r8
mov eax, r12d
lea r8, [r11 + 2]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0xa8], r10
lea r8, [r10 - 1]
mov qword [rsp + 0xd0], r8
mov r8, qword [rsp + 0x78]
lea rdx, [rdx + r8 - 3]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x98], r9
lea rdx, [r9 - 1]
mov qword [rsp + 0x170], rdx
xor edx, edx
mov qword [rsp + 0x120], rdx
mov r14d, dword [rsp + 0xc8]
mov r11d, eax
mov qword [rsp + 0x30], r15
xor eax, eax
mov qword [rsp + 0x100], rax
nop
mov edx, r14d
mov r12, rbx
mov r10d, esi
sub r10d, ecx
ja 0x180059392
mov eax, ecx
mov r8, qword [rsp + 0xa8]
lea rbp, [r8 + rax]
movsxd r8, edx
mov r9, qword [rsp + 0x38]
movzx ebx, word [r9 + r8 - 1]
mov r9, qword [rsp + 0x118]
lea r15, [r9 + rbp]
cmp bx, word [r8 + r15 - 1]
jne 0x180057fa0
mov r8, qword [rsp + 0x70]
cmp dword [rbp], r8d
jne 0x180057fa0
cmp dword [rsp + 0x68], 0
je 0x1800595ea
mov r8, qword [rsp + 0xa0]
sub r8, rbp
cmp rdi, r8
cmovg r8, rdi
movsxd r15, r8d
mov r8d, r15d
sar r8d, 0x1f
and r8d, r15d
add rax, qword [rsp + 0xd0]
xor ebx, ebx
cmp rbx, r15
jle 0x180057efa
mov r13, rbx
dec rbx
mov r9, qword [rsp + 0xb0]
movzx r9d, byte [r9 + r13]
cmp r9b, byte [rax + r13]
je 0x180057ed9
mov r8d, r13d
lea rax, [rbp + 4]
mov r13, qword [rsp + 0x60]
cmp qword [rsp + 0x48], r13
jbe 0x180057fe6
mov r13, qword [r13]
xor r13, qword [rax]
je 0x180057fb0
tzcnt r15, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x180057fd6
shr r15d, 3
mov r13, qword [rsp + 0x20]
mov rbx, r12
sub r15d, r8d
add r15d, 4
cmp r15d, edx
jg 0x180057fbb
movzx eax, cx
movzx r8d, word [r13 + rax*2 + 0x20000]
cmp r8d, 1
sete al
cmp dword [rsp + 0x2c], 0x80
jg 0x180057f66
xor eax, eax
test al, al
jne 0x1800594f2
mov r14d, edx
sub ecx, r8d
cmp ecx, dword [rsp + 0x40]
jb 0x180058020
lea eax, [r11 - 1]
cmp r11d, 1
mov r11d, eax
jg 0x180057e50
jmp 0x180058020
mov rbx, r12
jmp 0x180057f47
mov r15d, 0x40
jmp 0x180057f20
movsxd rbx, r8d
add rbp, rbx
add rbx, qword [rsp + 0x90]
mov qword [rsp + 0x30], rbp
mov edx, r15d
jmp 0x180057f47
mov bl, r13b
mov r9, qword [rsp + 0x60]
lea r13, [r9 + rbx*8]
lea rax, [rax + rbx*8]
mov r15, r13
cmp r13, qword [rsp + 0x48]
jae 0x180058c84
mov rbx, qword [r15]
lea r13, [r15 + 8]
xor rbx, qword [rax]
lea rax, [rax + 8]
je 0x180057fe6
tzcnt rax, rbx
shr eax, 3
add r15d, eax
sub r15d, dword [rsp + 0x60]
jmp 0x180057f33
mov edx, dword [rsp + 0xc8]
cmp r14d, edx
mov rdi, qword [rsp + 0x58]
je 0x180058600
mov r11, qword [rsp + 0xd8]
movsxd rax, r11d
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x140]
cmp r8, r10
setb cl
add rax, r10
cmp rbx, rax
setb al
and al, cl
cmovne r10, r8
mov rcx, rbx
sub rcx, r10
mov r8, rbx
mov r9, qword [rsp + 0x30]
mov r15, r9
cmp rcx, 3
mov r12d, dword [rsp + 0x2c]
jl 0x180057ba3
jmp 0x180058740
cmp edx, 0x12
mov eax, 0x12
cmovl eax, edx
mov dword [rsp + 0x88], eax
cdqe
add rax, r10
mov qword [rsp + 0x140], rax
mov dword [rsp + 0xc8], edx
movsxd rax, edx
mov qword [rsp + 0x130], rax
lea r8, [r10 + rax]
mov rsi, r10
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x90], r10
mov rax, rbx
sub rax, rsi
cmp rax, 0x11
jg 0x18005810f
movsxd rcx, r14d
lea rdx, [rbx + rcx]
add rdx, 0xfffffffffffffffc
cmp qword [rsp + 0x140], rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x88]
mov eax, esi
sub eax, ebx
add eax, ecx
test eax, eax
jle 0x18005810f
mov ecx, eax
add rbx, rcx
add r9, rcx
sub r14d, eax
mov r10, rbx
mov eax, r14d
mov qword [rsp + 0xd8], rax
movsxd rbx, eax
lea r11, [r10 + rbx]
cmp r11, qword [rsp + 0x48]
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xe0], r11
mov qword [rsp + 0x110], rbx
ja 0x180058ee8
mov qword [rsp + 0x60], r10
lea r14, [r11 - 3]
mov rcx, qword [r13 + 0x40008]
mov edx, dword [r13 + 0x40018]
mov r15, r14
mov rax, rcx
mov qword [rsp + 0xa0], rcx
sub r15, rcx
lea eax, [rdx + r15]
mov r8d, dword [r13 + 0x4001c]
lea ecx, [r8 + 0x10000]
cmp ecx, eax
mov qword [rsp + 0x38], rdx
lea ecx, [rdx + r15 - 0xffff]
mov qword [rsp + 0x98], r8
cmova ecx, r8d
mov dword [rsp + 0x40], ecx
mov ecx, dword [r11 - 3]
mov qword [rsp + 0x70], rcx
mov r8d, dword [r13 + 0x40020]
cmp r8d, eax
jae 0x180058213
mov edx, eax
sub edx, r8d
mov rcx, r8
test dl, 1
je 0x180058205
mov rcx, qword [rsp + 0xa0]
sub rcx, qword [rsp + 0x38]
imul ecx, dword [rcx + r8], 0x9e3779b1
shr ecx, 0x11
mov edx, r8d
sub edx, dword [r13 + rcx*4]
mov r10d, 0xffff
cmp edx, r10d
cmovae edx, r10d
movzx r10d, r8w
mov word [r13 + r10*2 + 0x20000], dx
mov dword [r13 + rcx*4], r8d
lea rcx, [r8 + 1]
mov edx, eax
not r8
add r8, rdx
jne 0x180058549
mov r8, qword [r13 + 0x40010]
mov dword [r13 + 0x40020], eax
imul eax, dword [r14], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r13 + rax*4]
cmp ecx, dword [rsp + 0x40]
jb 0x180058c5a
mov rdx, qword [rsp + 0x38]
mov r9, rdx
mov rax, qword [rsp + 0x98]
sub r9, rax
neg rax
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x120], r9
lea rax, [r8 + r9]
mov qword [rsp + 0x50], rax
mov r9, r14
mov rax, qword [rsp + 0x60]
sub r9, rax
add r15, rdx
mov qword [rsp + 0x170], r15
mov rsi, qword [rsp + 0xa0]
sub rsi, rdx
mov qword [rsp + 0x68], r9
movsxd rdx, r9d
neg rdx
mov qword [rsp + 0x118], rdx
mov r11, rax
mov rdx, r14
mov qword [rsp + 0x80], r14
sub r11, r14
mov rdx, qword [rsp + 0xe0]
lea r10, [rdx + 1]
mov qword [rsp + 0xa8], rsi
lea rdx, [rsi - 1]
mov qword [rsp + 0x78], rdx
lea rax, [rax + rbx - 4]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x100], r8
lea rax, [r8 - 1]
mov qword [rsp + 0x180], rax
xor eax, eax
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0xd8]
mov r14d, eax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x30], rax
mov rbx, qword [rsp + 0x138]
mov r15d, r12d
xor eax, eax
mov qword [rsp + 0x108], rax
nop word cs:[rax + rax]
mov r9d, r14d
mov r8, rbx
mov rsi, qword [rsp + 0x38]
sub esi, ecx
ja 0x180059861
mov edx, ecx
mov rax, qword [rsp + 0xa8]
lea rbp, [rax + rdx]
movsxd rax, r9d
mov rdi, qword [rsp + 0x60]
movzx edi, word [rdi + rax - 1]
mov rbx, qword [rsp + 0x118]
add rbx, rbp
cmp di, word [rax + rbx - 1]
jne 0x180058470
mov rax, qword [rsp + 0x70]
cmp dword [rbp], eax
jne 0x180058470
cmp dword [rsp + 0x68], 0
je 0x180059c85
mov rax, qword [rsp + 0xa0]
sub rax, rbp
cmp r11, rax
cmovg rax, r11
movsxd rdi, eax
mov eax, edi
sar eax, 0x1f
and eax, edi
add rdx, qword [rsp + 0x78]
xor ebx, ebx
cmp rbx, rdi
jle 0x1800583d6
mov r13, rbx
dec rbx
mov r14, qword [rsp + 0xb0]
movzx r12d, byte [r14 + r13]
cmp r12b, byte [rdx + r13]
mov r12d, dword [rsp + 0x2c]
je 0x1800583b0
mov eax, r13d
lea rdi, [rbp + 4]
cmp qword [rsp + 0x48], r10
jbe 0x180058ee0
mov r13, qword [r10]
xor r13, qword [rdi]
je 0x180058480
tzcnt rdx, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x1800584a5
shr edx, 3
mov r13, qword [rsp + 0x20]
mov rbx, r8
sub edx, eax
add edx, 4
cmp edx, r9d
jg 0x18005848a
movzx eax, cx
movzx eax, word [r13 + rax*2 + 0x20000]
cmp eax, 1
sete dl
cmp r12d, 0x80
jg 0x180058437
xor edx, edx
test dl, dl
jne 0x1800599b2
mov r14d, r9d
sub ecx, eax
cmp ecx, dword [rsp + 0x40]
jb 0x1800584e0
lea eax, [r15 - 1]
cmp r15d, 1
mov r15d, eax
jg 0x180058330
jmp 0x1800584e0
mov rbx, r8
jmp 0x18005841a
mov edx, 0x40
jmp 0x1800583f6
movsxd rbx, eax
add rbp, rbx
add rbx, qword [rsp + 0x80]
mov qword [rsp + 0x30], rbp
mov r9d, edx
jmp 0x18005841a
mov bl, r13b
lea r13, [r10 + rbx*8]
lea rdi, [rdi + rbx*8]
mov rdx, r13
cmp r13, qword [rsp + 0x48]
jae 0x180058e69
mov rbx, qword [rdx]
lea r13, [rdx + 8]
xor rbx, qword [rdi]
lea rdi, [rdi + 8]
je 0x1800584b0
tzcnt rdi, rbx
shr edi, 3
add edx, edi
sub edx, r10d
jmp 0x180058408
mov r11, qword [rsp + 0xd8]
cmp r14d, r11d
mov r9, qword [rsp + 0xf8]
je 0x180058774
mov r8, qword [rsp + 0xc0]
lea rax, [r8 + 3]
cmp rbx, rax
mov r9, qword [rsp + 0x30]
mov r15, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x60]
jae 0x180058b15
mov qword [rsp + 0x138], rbx
mov rax, r9
mov qword [rsp + 0x108], r9
cmp rbx, r8
mov rsi, qword [rsp + 0x90]
jae 0x18005899e
jmp 0x1800580cf
mov r8, qword [rsp + 0x38]
neg r8
mov r10, qword [rsp + 0xa0]
add r8, r10
inc r8
jmp 0x180058592
lea rsi, [rcx + 1]
movzx edi, si
mov word [r13 + rdi*2 + 0x20000], r11w
mov dword [r13 + r10*4], esi
add rcx, 2
cmp rcx, rdx
jae 0x180058213
imul r10d, dword [r8 + rcx - 1], 0x9e3779b1
shr r10d, 0x11
mov r11d, ecx
sub r11d, dword [r13 + r10*4]
cmp r11d, 0xffff
jb 0x1800585b6
mov r11d, 0xffff
movzx esi, cx
mov word [r13 + rsi*2 + 0x20000], r11w
mov dword [r13 + r10*4], ecx
imul r10d, dword [r8 + rcx], 0x9e3779b1
shr r10d, 0x11
mov esi, dword [r13 + r10*4]
mov r11d, ecx
sub r11d, esi
inc r11d
cmp r11d, 0xffff
jb 0x180058570
mov r11d, 0xffff
jmp 0x180058570
mov r15, qword [rsp + 0x30]
mov r10, rbx
mov r14, qword [rsp + 0x128]
mov r11, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x38]
mov r13, r8
sub r13, qword [rsp + 0xc0]
mov rax, r13
movabs rsi, 0x8080808080808081
mul rsi
shr rdx, 7
lea rax, [rdi + rdx]
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0xe8]
seta al
cmp dword [rsp + 0x220], 0
je 0x180059e43
xor ebp, ebp
test al, al
jne 0x18005abc6
lea rbx, [rdi + 1]
cmp r13, 0xf
jae 0x180058ad8
mov eax, r13d
shl al, 4
mov byte [rdi], al
add r13, rbx
mov rax, qword [rsp + 0xc0]
mov rcx, rbx
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r13
jb 0x180058691
mov rdi, r8
sub r8d, r14d
mov rax, qword [rsp + 0x78]
lea rcx, [rax - 4]
mov rax, rcx
mul rsi
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0xe8]
seta al
mov word [r13], r8w
cmp dword [rsp + 0x220], 0
je 0x180059e4a
test al, al
jne 0x18005abc6
add r13, 2
cmp rcx, 0xf
mov r12d, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x78]
jb 0x180057910
mov rax, qword [rsp + 0x58]
add byte [rax], 0xf
lea rax, [rdx - 0x13]
cmp rax, 0x1fe
jae 0x180059083
cmp rax, 0xff
jae 0x180058f0a
mov byte [r13], al
inc r13
jmp 0x180057917
mov r10, rbx
mov rdi, qword [rsp + 0x58]
jmp 0x180058618
test al, al
mov rax, qword [rsp + 0x128]
cmovne rax, qword [rsp + 0x158]
mov qword [rsp + 0x128], rax
cmovne edx, r11d
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xf8], rax
jmp 0x180058087
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x138], rbx
mov r8, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0xe0]
mov eax, r10d
sub eax, esi
cmp r10, r8
mov r8d, dword [rsp + 0xc8]
cmovb r8d, eax
mov r13, rsi
sub r13, r9
mov rax, r13
movabs r15, 0x8080808080808081
mul r15
xor ebp, ebp
cmp dword [rsp + 0x220], 0
mov r12, qword [rsp + 0x58]
je 0x180058801
shr rdx, 7
lea rax, [r12 + rdx]
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
lea rdi, [r12 + 1]
cmp r13, 0xf
jae 0x180058d14
mov eax, r13d
shl al, 4
mov byte [r12], al
lea rbx, [rdi + r13]
mov rax, rdi
mov rcx, qword [r9]
mov qword [rax], rcx
add rax, 8
add r9, 8
cmp rax, rbx
jb 0x180058821
movsxd r14, r8d
lea rcx, [r14 - 4]
mov rax, rcx
mul r15
sub esi, dword [rsp + 0x128]
mov word [rbx], si
cmp dword [rsp + 0x220], 0
je 0x18005886f
shr rdx, 7
lea rax, [rbx + rdx]
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
add rbx, 2
cmp rcx, 0xf
jae 0x180058ce9
add byte [r12], cl
mov rax, qword [rsp + 0x90]
add rax, r14
mov r13, r10
mov rsi, rax
sub r13, rax
mov rax, r13
mul r15
cmp dword [rsp + 0x220], 0
je 0x1800588c5
shr rdx, 7
lea rax, [rbx + rdx]
inc rax
add rax, r13
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
lea rdi, [rbx + 1]
cmp r13, 0xf
mov r14, qword [rsp + 0x128]
jae 0x18005a3e0
mov eax, r13d
shl al, 4
mov byte [rbx], al
add r13, rdi
mov rax, rsi
mov rcx, rdi
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, r13
jb 0x1800588ec
mov r8d, r10d
mov rax, qword [rsp + 0x110]
lea rcx, [rax - 4]
mov rax, rcx
mul r15
mov r15, qword [rsp + 0xd0]
sub r8d, r15d
mov word [r13], r8w
cmp dword [rsp + 0x220], 0
je 0x180058948
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
add r13, 2
cmp rcx, 0xf
mov r12d, dword [rsp + 0x2c]
jae 0x180058af5
add byte [rbx], cl
jmp 0x180057917
mov bl, r13b
lea r13, [r12 + rbx*8]
lea rax, [rax + rbx*8]
mov r9, r13
cmp r13, qword [rsp + 0x48]
jae 0x180058d33
mov rbx, qword [r9]
lea r13, [r9 + 8]
xor rbx, qword [rax]
lea rax, [rax + 8]
je 0x18005896d
tzcnt rax, rbx
shr eax, 3
add r9d, eax
sub r9d, r12d
jmp 0x180057b11
cmp r10, r8
mov dword [rsp + 0x98], r14d
jb 0x180058d7f
movabs rcx, 0x8080808080808081
mov r8, qword [rsp + 0x58]
mov r13, qword [rsp + 0x130]
mov rdi, rsi
sub rdi, qword [rsp + 0xf8]
mov rax, rdi
mul rcx
xor ebp, ebp
cmp dword [rsp + 0x220], 0
mov r14, qword [rsp + 0x128]
je 0x180058a0b
shr rdx, 7
lea rax, [r8 + rdx]
inc rax
add rax, rdi
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
lea r12, [r8 + 1]
cmp rdi, 0xf
jae 0x180058e21
mov eax, edi
shl al, 4
mov byte [r8], al
add rdi, r12
mov rax, qword [rsp + 0xf8]
mov rcx, r12
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, rdi
jb 0x180058a2f
mov r8d, esi
lea rcx, [r13 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, r14d
mov word [rdi], r8w
cmp dword [rsp + 0x220], 0
je 0x180058a84
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
add rdi, 2
cmp rcx, 0xf
jae 0x180058db6
mov rax, qword [rsp + 0x58]
add byte [rax], cl
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x138], rbx
mov rax, r9
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x140], r10
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x98]
jmp 0x180057b95
lea rax, [r13 - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jae 0x18005902a
mov byte [rbx], al
inc rbx
jmp 0x180058683
add byte [rbx], 0xf
mov rbp, qword [rsp + 0x110]
lea rax, [rbp - 0x13]
cmp rax, 0x1fe
jb 0x18005871b
jmp 0x1800590ec
cmp r10, r8
movabs rcx, 0x8080808080808081
mov r8, qword [rsp + 0x58]
jb 0x180058e4c
mov r13d, dword [rsp + 0xc8]
mov rdi, qword [rsp + 0x90]
sub rdi, qword [rsp + 0xf8]
mov rax, rdi
mul rcx
xor ebp, ebp
cmp dword [rsp + 0x220], 0
je 0x180058b77
shr rdx, 7
lea rax, [r8 + rdx]
inc rax
add rax, rdi
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
lea r12, [r8 + 1]
cmp rdi, 0xf
jae 0x18005900a
mov eax, edi
shl al, 4
mov byte [r8], al
add rdi, r12
mov rax, qword [rsp + 0xf8]
mov rcx, r12
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, rdi
jb 0x180058b9b
mov rax, qword [rsp + 0x90]
mov r8d, eax
movsxd rsi, r13d
lea rcx, [rsi - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub r8d, dword [rsp + 0x128]
mov word [rdi], r8w
cmp dword [rsp + 0x220], 0
je 0x180058c00
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc6
add rdi, 2
cmp rcx, 0xf
jae 0x180058f2a
mov rax, qword [rsp + 0x58]
add byte [rax], cl
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x138], rbx
mov rax, r9
mov qword [rsp + 0x108], r9
mov edx, r11d
jmp 0x180058087
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xf8]
jmp 0x1800587a6
cmp r15, qword [rsp + 0xf0]
jae 0x180058ed3
mov r9d, dword [rax]
cmp r9d, dword [r15]
mov r13, qword [rsp + 0x20]
mov rbx, r12
jne 0x180058caa
add r15, 4
add rax, 4
cmp r15, qword [rsp + 0x150]
jae 0x180058cc6
movzx r9d, word [rax]
cmp r9w, word [r15]
jne 0x180058cc6
add r15, 2
add rax, 2
cmp r15, qword [rsp + 0xb8]
jae 0x180058cdf
mov al, byte [rax]
xor r9d, r9d
cmp al, byte [r15]
sete r9b
add r15, r9
sub r15d, dword [rsp + 0x60]
jmp 0x180057f3b
add byte [r12], 0xf
lea rax, [r14 - 0x13]
cmp rax, 0x1fe
jae 0x18005a91e
cmp rax, 0xff
jae 0x18005a96e
mov byte [rbx], al
inc rbx
jmp 0x180058881
lea rax, [r13 - 0xf]
mov byte [r12], 0xf0
cmp rax, 0xff
jae 0x18005a97f
mov byte [rdi], al
inc rdi
jmp 0x18005881a
cmp r9, qword [rsp + 0xf0]
jb 0x180058ef5
mov r13, qword [rsp + 0x20]
cmp r9, qword [rsp + 0x150]
jae 0x180058d5d
movzx ebx, word [rax]
cmp bx, word [r9]
je 0x180058f1d
cmp r9, qword [rsp + 0xb8]
jae 0x180058d74
mov al, byte [rax]
xor ebx, ebx
cmp al, byte [r9]
sete bl
add r9, rbx
mov rbx, rbp
sub r9d, r12d
jmp 0x180057b19
mov rax, r8
sub rax, r10
sub r11d, eax
cmp r11d, 3
movabs rcx, 0x8080808080808081
mov r8, qword [rsp + 0x58]
mov r13, qword [rsp + 0x130]
jle 0x18005a9e3
cdqe
add r10, rax
add r15, rax
jmp 0x1800589c6
mov rax, qword [rsp + 0x58]
add byte [rax], 0xf
lea rax, [r13 - 0x13]
cmp rax, 0x1fe
mov rbp, r13
mov r13, qword [rsp + 0x20]
mov r14d, dword [rsp + 0x98]
jae 0x18005a9f1
cmp rax, 0xff
mov r12d, dword [rsp + 0x2c]
jae 0x18005aa6a
mov byte [rdi], al
inc rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x138], rbx
mov rax, r9
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x140], r10
jmp 0x180057b95
lea rax, [rdi - 0xf]
mov byte [r8], 0xf0
cmp rax, 0xff
jae 0x18005aa7b
mov byte [r12], al
inc r12
jmp 0x180058a21
mov rbp, rbx
mov r13, r12
jmp 0x18005896d
mov rax, r10
sub rax, qword [rsp + 0x90]
cmp rax, 0x11
jle 0x18005ab4c
mov r13d, eax
jmp 0x180058b35
cmp rdx, qword [rsp + 0xf0]
jae 0x180059000
mov ebx, dword [rdi]
cmp ebx, dword [rdx]
mov r13, qword [rsp + 0x20]
jne 0x180058e8a
add rdx, 4
add rdi, 4
cmp rdx, qword [rsp + 0x150]
jae 0x180058ea4
movzx ebx, word [rdi]
cmp bx, word [rdx]
jne 0x180058ea4
add rdx, 2
add rdi, 2
cmp rdx, qword [rsp + 0xb8]
jae 0x180058ebb
mov bl, byte [rdi]
xor edi, edi
cmp bl, byte [rdx]
sete dil
add rdx, rdi
mov rbx, r8
sub edx, r10d
jmp 0x180058410
mov r10, rbx
mov rdi, qword [rsp + 0x58]
jmp 0x18005861d
mov r13, qword [rsp + 0x20]
mov rbx, r12
jmp 0x180058caa
mov r13, r10
jmp 0x1800584b0
mov rsi, qword [rsp + 0x90]
jmp 0x180058c77
mov ebx, dword [rax]
cmp ebx, dword [r9]
mov r13, qword [rsp + 0x20]
jne 0x180058d46
jmp 0x18005914d
add rax, 0xffffffffffffff01
mov byte [r13], 0xff
inc r13
jmp 0x180058727
add r9, 2
add rax, 2
jmp 0x180058d5d
mov rax, qword [rsp + 0x58]
add byte [rax], 0xf
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
mov r13, qword [rsp + 0x20]
jae 0x18005ac05
cmp rax, 0xff
mov r12d, dword [rsp + 0x2c]
jae 0x18005ac7e
mov byte [rdi], al
inc rdi
jmp 0x180058c1f
mov r11, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x178]
sub rdi, r11
lea rax, [rdi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
cmp dword [rsp + 0x220], 0
je 0x180058fb4
shr rdx, 7
add rdx, rdi
lea rax, [rdx + r13]
inc rax
cmp rax, qword [rsp + 0xe8]
ja 0x18005abc4
lea rsi, [r11 + rdi]
cmp rdi, 0xf
jae 0x18005aae6
mov eax, edi
shl al, 4
mov byte [r13], al
inc r13
mov rcx, r13
mov rdx, r11
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r13d, edi
sub esi, dword [rsp + 0x160]
mov rax, qword [rsp + 0x188]
mov dword [rax], esi
sub r13d, dword [rsp + 0x168]
mov ebp, r13d
jmp 0x1800578e1
mov r13, qword [rsp + 0x20]
jmp 0x180058e8a
lea rax, [rdi - 0xf]
mov byte [r8], 0xf0
cmp rax, 0xff
jae 0x18005ac8f
mov byte [r12], al
inc r12
jmp 0x180058b8d
lea rax, [r13 - 0x10e]
mul rsi
mov r12, rdx
shr r12, 7
mov qword [rsp + 0x38], r8
lea r8, [r12 + 1]
mov rcx, rbx
mov dl, 0xff
mov rbx, r10
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rsp + 0x38]
mov r11, qword [rsp + 0xe0]
mov r10, rbx
mov rax, r12
shl rax, 8
lea rbx, [rdi + r12]
add rbx, 2
sub r12, rax
lea rax, [r12 + r13]
add rax, 0xfffffffffffffef2
jmp 0x180058aeb
lea rax, [rdx - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp*2 + 2]
mov rcx, r13
mov dl, 0xff
mov rsi, r10
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xe0]
mov r10, rsi
sub rbx, qword [rsp + 0xc0]
lea rax, [rdi + rbp*2]
lea r13, [rbx + rax]
add r13, 4
imul rax, rbp, 0xfffffffffffffe02
mov rcx, qword [rsp + 0x78]
add rax, rcx
add rax, 0xfffffffffffffdef
jmp 0x18005871b
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx*2 + 2]
mov rcx, r13
mov dl, 0xff
mov qword [rsp + 0x60], r10
mov r13, r11
call sub.VCRUNTIME140.dll_memset
mov r11, r13
mov r10, qword [rsp + 0x60]
sub rdi, rsi
lea rax, [r10 + rbx*2]
lea r13, [rdi + rax]
add r13, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rbp
add rax, 0xfffffffffffffdef
jmp 0x18005871b
add r9, 4
add rax, 4
jmp 0x180058d46
mov dword [rsp + 0x98], r14d
mov qword [rsp + 0x50], rbx
lea eax, [r10 - 4]
cmp ecx, eax
ja 0x1800595f2
mov r9d, ecx
sub r9d, dword [rsp + 0x118]
add r9, qword [rsp + 0x78]
mov rax, qword [rsp + 0x40]
cmp dword [r9], eax
jne 0x1800595f2
mov rsi, qword [rsp + 0x50]
lea rbp, [r8 + rsi]
mov rax, qword [rsp + 0xb8]
cmp rbp, rax
mov r14, rbp
cmova rbp, rax
add rsi, 4
add r9, 4
lea rax, [rbp - 7]
cmp rax, rsi
jbe 0x18005a8a1
mov r13, qword [rsi]
xor r13, qword [r9]
je 0x180059793
tzcnt r12, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x18005979e
shr r12d, 3
lea eax, [r12 + 4]
mov dword [rsp + 0xe0], eax
cmp r14, qword [rsp + 0xb8]
jae 0x180059259
movsxd rax, r12d
mov r9, qword [rsp + 0x50]
add rax, r9
add rax, 4
cmp rax, rbp
jne 0x180059259
mov rsi, rbp
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x48], rbp
jbe 0x180059c54
mov rax, qword [rbp]
mov r9, qword [rsp + 0xa8]
xor rax, qword [r9]
je 0x180059c30
tzcnt r9, rax
xor ebx, ebx
test rax, rax
sete al
je 0x180059c3b
shr r9d, 3
add dword [rsp + 0xe0], r9d
mov r14d, dword [rsp + 0x98]
cmp dword [rsp + 0xe0], r14d
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
jle 0x180057a92
mov eax, ecx
add rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov r14d, dword [rsp + 0xe0]
jmp 0x180057a92
mov dword [rsp + 0x98], r14d
mov qword [rsp + 0x50], rbx
cmp dword [rsp + 0x68], 0
je 0x180059618
cmp r8d, 3
jb 0x1800596c1
cmp dword [rsp + 0x68], 2
jne 0x1800596c1
lea eax, [rcx - 1]
cmp eax, r15d
jb 0x1800596c1
mov ebp, eax
mov r8, qword [rsp + 0x78]
sub r8, qword [rsp + 0x118]
cmp ebp, r10d
cmovae r8, qword [rsp + 0xb0]
mov eax, ebp
mov r9d, 2
mov qword [rsp + 0x68], r9
mov r9, qword [rsp + 0x40]
cmp dword [r8 + rax], r9d
jne 0x1800596c1
add r8, rax
mov rsi, r10
sub rsi, qword [rsp + 0x118]
mov rax, qword [rsp + 0x78]
lea rcx, [rax + rsi]
mov rax, qword [rsp + 0x40]
mov r12, rax
shl r12, 0x20
or r12, rax
cmp ebp, r10d
mov qword [rsp + 0x68], rcx
mov rax, rcx
cmovae rax, qword [rsp + 0xb8]
lea rbx, [r8 + 4]
lea r13, [rax - 7]
mov r14, rbx
mov r9, rbx
cmp rbx, r13
jae 0x18005a595
lea rbx, [r9 + 8]
mov rcx, qword [r9]
xor rcx, r12
je 0x18005934f
tzcnt rax, rcx
shr eax, 3
add r9, rax
sub r9, r14
mov r13d, r9d
add r13, 4
cmp ebp, r10d
jb 0x180059a9d
mov rax, qword [rsp + 0xa8]
jmp 0x180059ab1
lea eax, [rsi - 4]
cmp ecx, eax
ja 0x18005960e
mov r14d, ecx
sub r14d, dword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
lea rbp, [rax + r14]
mov rax, qword [rsp + 0x70]
cmp dword [rbp], eax
jne 0x18005960e
mov rax, qword [rsp + 0x90]
lea r8, [rax + r10]
mov rax, qword [rsp + 0xb8]
cmp r8, rax
mov r9, r8
cmova r9, rax
add rbp, 4
mov rax, r9
mov qword [rsp + 0x50], r9
lea rax, [r9 - 7]
cmp rax, qword [rsp + 0x60]
jbe 0x18005a8c2
mov r9, qword [rsp + 0x60]
mov r13, qword [r9]
xor r13, qword [rbp]
je 0x180059813
tzcnt r15, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x18005981e
shr r15d, 3
lea ebp, [r15 + 4]
cmp r8, qword [rsp + 0xb8]
jae 0x18005949a
movsxd rax, r15d
mov r8, qword [rsp + 0x90]
add rax, r8
add rax, 4
cmp rax, qword [rsp + 0x50]
jne 0x18005949a
mov r8, qword [rsp + 0x50]
mov r15, r8
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x48], r8
jbe 0x180059e73
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov r8, qword [rsp + 0xa0]
xor rax, qword [r8]
je 0x180059e51
tzcnt r8, rax
xor ebx, ebx
test rax, rax
sete al
je 0x180059e5c
shr r8d, 3
add ebp, r8d
cmp dword [rsp + 0x68], 0
je 0x1800597da
mov rax, qword [rsp + 0x170]
lea r8, [rax + r14]
neg r14
cmp rdi, r14
cmovg r14, rdi
movsxd r15, r14d
mov eax, r15d
sar eax, 0x1f
and eax, r15d
xor ebx, ebx
cmp rbx, r15
jle 0x1800597dc
mov r13, rbx
dec rbx
mov r9, qword [rsp + 0xb0]
mov r9b, byte [r9 + r13]
cmp r9b, byte [r8 + r13]
je 0x1800594c9
mov eax, r13d
jmp 0x1800597dc
mov qword [rsp + 0x50], rbx
cmp dword [rsp + 0x120], 0
je 0x1800596dd
cmp r10d, 3
jb 0x180059784
cmp dword [rsp + 0x120], 2
jne 0x180059784
lea r14d, [rcx - 1]
cmp r14d, dword [rsp + 0x40]
jb 0x180059784
mov rax, qword [rsp + 0x98]
mov r9, qword [rsp + 0x80]
lea r10, [rax + r9]
cmp r14d, esi
cmovae r10, qword [rsp + 0xa8]
mov eax, r14d
mov r9d, 2
mov qword [rsp + 0x120], r9
mov r9, qword [rsp + 0x70]
cmp dword [r10 + rax], r9d
jne 0x180059784
add r10, rax
mov rax, qword [rsp + 0x70]
mov r15, rax
shl r15, 0x20
or r15, rax
cmp r14d, esi
mov rbp, qword [rsp + 0x130]
cmovae rbp, qword [rsp + 0xb8]
movabs r9, 0x100000001
lea rcx, [r10 + 4]
lea r13, [rbp - 7]
mov rbx, rcx
mov r8, rbx
cmp rbx, r13
jae 0x18005a647
lea rbx, [r8 + 8]
mov rax, qword [r8]
xor rax, r15
je 0x1800595a7
tzcnt rax, rax
shr eax, 3
add r8, rax
sub r8, rcx
mov r12d, r8d
add r12, 4
cmp r14d, esi
jb 0x180059c8c
mov rax, qword [rsp + 0xa0]
jmp 0x180059ca6
xor r8d, r8d
jmp 0x180057efa
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
jmp 0x180057a92
mov r13, qword [rsp + 0x20]
jmp 0x180057fa0
mov r9, qword [rsp + 0x40]
movzx eax, r9w
shr r9d, 0x10
mov ebx, 1
mov qword [rsp + 0x68], rbx
cmp eax, r9d
jne 0x1800596c1
mov r9, qword [rsp + 0x40]
mov eax, r9d
shr eax, 0x18
movzx r9d, r9b
cmp r9d, eax
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
jne 0x180057ab7
lea rax, [rbx + 4]
mov rbx, qword [rsp + 0x40]
mov r9, rbx
shl r9, 0x20
or r9, rbx
mov rbx, rax
mov r14, rbx
cmp rbx, qword [rsp + 0x48]
jae 0x18005a610
lea rbx, [r14 + 8]
mov r12, qword [r14]
xor r12, r9
je 0x18005967d
mov r13, r14
tzcnt r9, r12
shr r9d, 3
add r13, r9
sub r13d, eax
add r13, 4
mov qword [rsp + 0x70], r13
mov eax, 2
mov qword [rsp + 0x68], rax
jmp 0x1800592b2
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
jmp 0x180057ab7
mov r9, qword [rsp + 0x70]
movzx eax, r9w
shr r9d, 0x10
mov ebx, 1
mov qword [rsp + 0x120], rbx
cmp eax, r9d
jne 0x180059784
mov r9, qword [rsp + 0x70]
mov eax, r9d
shr eax, 0x18
movzx r9d, r9b
cmp r9d, eax
mov r13, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
mov r14d, edx
jne 0x180057f71
mov r9, qword [rsp + 0x70]
mov rax, r9
shl rax, 0x20
or rax, r9
mov rbx, qword [rsp + 0x60]
mov r9, rbx
cmp rbx, qword [rsp + 0x48]
jae 0x18005a6ca
mov r14, r9
lea rbx, [r9 + 8]
mov r15, qword [r9]
xor r15, rax
je 0x180059739
tzcnt rax, r15
shr eax, 3
add r9, rax
sub r9d, dword [rsp + 0x60]
add r9, 4
mov qword [rsp + 0x100], r9
mov eax, 2
mov qword [rsp + 0x120], rax
jmp 0x180059505
mov r13, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
jmp 0x180057f6e
mov r12d, 0x40
jmp 0x1800591d2
mov bl, r13b
lea r13, [rsi + rbx*8]
lea r9, [r9 + rbx*8]
mov r12, r13
cmp r13, rax
jae 0x18005a5bb
mov rbx, qword [r12]
lea r13, [r12 + 8]
xor rbx, qword [r9]
lea r9, [r9 + 8]
je 0x1800597a9
tzcnt rax, rbx
shr eax, 3
add r12d, eax
sub r12d, esi
jmp 0x1800591e5
xor eax, eax
sub ebp, eax
cmp ebp, edx
mov r13, qword [rsp + 0x20]
mov rbx, r12
jle 0x180057f47
mov r8d, ecx
add r8, qword [rsp + 0xa8]
movsxd rbx, eax
add r8, rbx
mov qword [rsp + 0x30], r8
add rbx, qword [rsp + 0x90]
mov edx, ebp
jmp 0x180057f47
mov r15d, 0x40
jmp 0x180059412
mov bl, r13b
mov r9, qword [rsp + 0x60]
lea r13, [r9 + rbx*8]
lea rbp, [rbp + rbx*8]
mov r15, r13
cmp r13, rax
jae 0x18005a66d
mov rbx, qword [r15]
lea r13, [r15 + 8]
xor rbx, qword [rbp]
lea rbp, [rbp + 8]
je 0x18005982f
tzcnt rax, rbx
shr eax, 3
add r15d, eax
sub r15d, dword [rsp + 0x60]
jmp 0x180059425
mov rax, qword [rsp + 0x38]
add eax, 0xfffffffc
cmp ecx, eax
ja 0x180059ea6
mov r14d, ecx
sub r14d, dword [rsp + 0x98]
mov rax, qword [rsp + 0x100]
lea rbp, [rax + r14]
mov rax, qword [rsp + 0x70]
cmp dword [rbp], eax
jne 0x180059ea6
mov rax, qword [rsp + 0x80]
add rax, rsi
mov rdx, qword [rsp + 0xb8]
cmp rax, rdx
mov r12, rax
cmova r12, rdx
add rbp, 4
lea rdi, [r12 - 7]
cmp rdi, r10
jbe 0x18005abbc
mov r13, qword [r10]
xor r13, qword [rbp]
je 0x18005a1a4
tzcnt rdx, r13
xor ebx, ebx
test r13, r13
sete r13b
je 0x18005a1ae
shr edx, 3
lea edi, [rdx + 4]
mov dword [rsp + 0x138], edi
cmp rax, qword [rsp + 0xb8]
jae 0x18005995c
movsxd rax, edx
mov rdx, qword [rsp + 0x80]
add rax, rdx
add rax, 4
cmp rax, r12
jne 0x18005995c
mov rdi, r12
mov rdx, qword [rsp + 0xa0]
cmp qword [rsp + 0x48], r12
jbe 0x18005a3b0
mov rdx, qword [r12]
mov rax, qword [rsp + 0xa0]
xor rdx, qword [rax]
je 0x18005a394
tzcnt rax, rdx
xor ebx, ebx
test rdx, rdx
sete dl
je 0x18005a39e
shr eax, 3
add dword [rsp + 0x138], eax
cmp dword [rsp + 0x68], 0
je 0x18005a15c
mov rax, qword [rsp + 0x180]
lea rdx, [rax + r14]
neg r14
cmp r11, r14
cmovg r14, r11
movsxd rdi, r14d
mov eax, edi
sar eax, 0x1f
and eax, edi
xor ebx, ebx
cmp rbx, rdi
jle 0x18005a15e
mov r13, rbx
dec rbx
mov r14, qword [rsp + 0xb0]
mov bpl, byte [r14 + r13]
cmp bpl, byte [rdx + r13]
je 0x180059989
mov eax, r13d
jmp 0x18005a15e
mov r8, rbx
cmp dword [rsp + 0x148], 0
je 0x180059f4e
cmp esi, 3
jb 0x180059fef
cmp dword [rsp + 0x148], 2
jne 0x180059fef
lea r14d, [rcx - 1]
cmp r14d, dword [rsp + 0x40]
jb 0x180059fef
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x158]
add rsi, rdx
cmp r14d, dword [rsp + 0x38]
cmovae rsi, qword [rsp + 0xa8]
mov edx, r14d
mov edi, 2
mov qword [rsp + 0x148], rdi
mov rdi, qword [rsp + 0x70]
cmp dword [rsi + rdx], edi
jne 0x180059fef
add rsi, rdx
mov rax, qword [rsp + 0x70]
mov rdi, rax
shl rdi, 0x20
or rdi, rax
cmp r14d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
cmovae rbp, qword [rsp + 0xb8]
lea rcx, [rsi + 4]
lea r13, [rbp - 7]
mov rbx, rcx
mov rdx, rbx
cmp rbx, r13
jae 0x18005a7f8
lea rbx, [rdx + 8]
mov rax, qword [rdx]
xor rax, rdi
je 0x180059a58
tzcnt rax, rax
shr eax, 3
add rdx, rax
sub rdx, rcx
mov r12d, edx
add r12, 4
cmp r14d, dword [rsp + 0x38]
jb 0x18005a1e9
mov rax, qword [rsp + 0xa0]
jmp 0x18005a200
lea rax, [r8 + r13]
cmp rax, qword [rsp + 0x68]
je 0x18005a09c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x19c], ecx
lea r9, [rax + 4]
mov rbx, r8
mov rcx, rbx
cmp rbx, r9
jb 0x180059adb
lea rbx, [rcx - 4]
mov r14, qword [rsp + 0x40]
cmp dword [rcx - 4], r14d
je 0x180059ac4
cmp rcx, rax
jbe 0x180059b09
xor r9d, r9d
mov bl, byte [rcx + r9 - 1]
cmp bl, byte [rsp + r9 + 0x19f]
jne 0x180059b06
lea rbx, [rcx + r9]
dec rbx
dec r9
cmp rbx, rax
ja 0x180059ae3
mov rcx, rax
jmp 0x180059b09
add rcx, r9
mov rax, r8
sub rax, rcx
cmp ebp, r10d
jb 0x180059bad
mov ecx, eax
sub r8, rcx
cmp r8, qword [rsp + 0xa8]
jne 0x180059bad
cmp dword [rsp + 0x118], r10d
jae 0x180059bad
mov r9d, eax
neg r9d
mov ecx, r9d
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov r8d, ebx
rol r8d, cl
test r9b, 3
cmove r8d, ebx
mov dword [rsp + 0x19c], r8d
mov r9, rsi
cmp rsi, 4
jl 0x18005a6fd
lea rsi, [r9 - 4]
mov rcx, qword [rsp + 0x78]
cmp dword [rcx + r9 - 4], r8d
je 0x180059b5c
add r9, qword [rsp + 0x78]
mov rcx, r9
lea r8, [rsp + 0x19f]
mov r9b, byte [rcx - 1]
cmp r9b, byte [r8]
jne 0x180059b9f
dec rcx
dec r8
cmp rcx, qword [rsp + 0x78]
ja 0x180059b89
mov r8, qword [rsp + 0x68]
sub r8d, ecx
add r8d, eax
mov eax, r8d
mov r8d, ebp
mov ecx, ebp
sub ecx, eax
cmp ecx, r15d
cmovbe ecx, r15d
mov eax, ebp
sub eax, ecx
add rax, r13
cmp r13, qword [rsp + 0x70]
ja 0x180059c0d
cmp rax, qword [rsp + 0x70]
jb 0x180059c0d
sub ebp, dword [rsp + 0x70]
add ebp, r13d
mov eax, ebp
not eax
add eax, r10d
cmp eax, 3
cmovb ebp, r10d
mov eax, 2
mov qword [rsp + 0x68], rax
mov ecx, ebp
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
jmp 0x180057ab9
mov r8d, ecx
not r8d
add r8d, r10d
mov r9d, 2
mov qword [rsp + 0x68], r9
cmp r8d, 3
jae 0x180059eb5
mov ecx, r10d
jmp 0x180059bf1
mov r9d, 0x40
jmp 0x18005923f
mov bl, al
lea rsi, [rbx*8]
add rsi, rbp
mov rax, qword [rsp + 0xa8]
lea rax, [rax + rbx*8]
mov r9, rsi
cmp rsi, qword [rsp + 0x48]
jae 0x18005a713
mov rbx, qword [r9]
lea rsi, [r9 + 8]
xor rbx, qword [rax]
lea rax, [rax + 8]
je 0x180059c54
tzcnt rax, rbx
shr eax, 3
add r9d, eax
sub r9d, ebp
jmp 0x180059251
xor eax, eax
jmp 0x1800583d6
lea rax, [r10 + r12]
cmp rax, qword [rsp + 0x130]
je 0x18005a101
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x19c], ecx
lea r8, [rax + 4]
mov rbx, r10
mov rcx, rbx
cmp rbx, r8
jb 0x180059cd0
lea rbx, [rcx - 4]
mov r9, qword [rsp + 0x70]
cmp dword [rcx - 4], r9d
je 0x180059cb9
cmp rcx, rax
jbe 0x180059cfe
xor r8d, r8d
mov r9b, byte [rcx + r8 - 1]
cmp r9b, byte [rsp + r8 + 0x19f]
jne 0x180059cfb
lea r9, [rcx + r8]
dec r9
dec r8
cmp r9, rax
ja 0x180059cd8
mov rcx, rax
jmp 0x180059cfe
add rcx, r8
mov rax, r10
sub rax, rcx
cmp r14d, esi
jb 0x180059db9
mov ecx, eax
sub r10, rcx
cmp r10, qword [rsp + 0xa0]
jne 0x180059db9
cmp dword [rsp + 0x88], esi
jae 0x180059db9
mov r9d, eax
neg r9d
mov ecx, r9d
shl ecx, 3
mov r10, qword [rsp + 0x70]
mov r8d, r10d
rol r8d, cl
test r9b, 3
cmove r8d, r10d
mov dword [rsp + 0x19c], r8d
mov rcx, qword [rsp + 0x110]
mov r10, rcx
cmp rcx, 4
jl 0x18005a768
lea rcx, [r10 - 4]
mov r9, qword [rsp + 0x98]
cmp dword [r9 + r10 - 4], r8d
je 0x180059d5c
add r10, qword [rsp + 0x98]
mov rcx, r10
lea r8, [rsp + 0x19f]
mov r9b, byte [rcx - 1]
cmp r9b, byte [r8]
jne 0x180059da8
dec rcx
dec r8
cmp rcx, qword [rsp + 0x98]
ja 0x180059d8f
mov r8, qword [rsp + 0x130]
sub r8d, ecx
add r8d, eax
mov eax, r8d
mov ecx, r14d
sub ecx, eax
mov eax, dword [rsp + 0x40]
cmp ecx, eax
cmovbe ecx, eax
mov eax, r14d
sub eax, ecx
add rax, r12
cmp r12, qword [rsp + 0x100]
ja 0x180059e1e
cmp rax, qword [rsp + 0x100]
jb 0x180059e1e
sub r14d, dword [rsp + 0x100]
add r14d, r12d
mov eax, r14d
not eax
add eax, esi
cmp eax, 3
cmovb r14d, esi
mov eax, 2
mov qword [rsp + 0x120], rax
mov ecx, r14d
mov r13, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
mov r14d, edx
jmp 0x180057f74
mov r8d, ecx
not r8d
add r8d, esi
mov r9d, 2
mov qword [rsp + 0x120], r9
cmp r8d, 3
jae 0x18005a001
mov ecx, esi
jmp 0x180059e0c
xor eax, eax
jmp 0x180058663
xor eax, eax
jmp 0x1800586e3
mov r8d, 0x40
jmp 0x180059485
mov bl, al
mov rax, qword [rsp + 0x50]
lea r15, [rax + rbx*8]
mov rax, qword [rsp + 0xa0]
lea rax, [rax + rbx*8]
mov r8, r15
cmp r15, qword [rsp + 0x48]
jae 0x18005a781
mov rbx, qword [r8]
lea r15, [r8 + 8]
xor rbx, qword [rax]
lea rax, [rax + 8]
je 0x180059e73
tzcnt rax, rbx
shr eax, 3
add r8d, eax
sub r8d, dword [rsp + 0x50]
jmp 0x180059497
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
jmp 0x180058470
mov r8, qword [rsp + 0x70]
cmp rax, r8
cmovae rax, r8
movsxd r8, dword [rsp + 0x98]
cmp rax, r8
jbe 0x180059f0f
mov r8d, ecx
mov r9, r11
sub r9, r8
cmp r9, 0xffff
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
ja 0x180057b50
add r8, qword [rsp + 0xb0]
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x98], eax
movzx eax, cx
mov r8, qword [rsp + 0x20]
movzx r8d, word [r8 + rax*2 + 0x20000]
xor eax, eax
cmp ecx, r8d
cmovae eax, r8d
jb 0x180059f32
sub ecx, eax
jmp 0x180059bf1
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x98]
jmp 0x180057b50
mov rdi, qword [rsp + 0x70]
movzx edx, di
shr edi, 0x10
mov ebx, 1
mov qword [rsp + 0x148], rbx
cmp edx, edi
jne 0x180059fef
mov rdi, qword [rsp + 0x70]
mov edx, edi
shr edx, 0x18
movzx edi, dil
cmp edi, edx
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
mov r14d, r9d
jne 0x180058442
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
shl rdx, 0x20
or rdx, rdi
mov rdi, r10
mov r14, rdi
cmp rdi, qword [rsp + 0x48]
jae 0x18005a86e
mov rbx, r14
lea rdi, [r14 + 8]
mov rbx, qword [r14]
xor rbx, rdx
je 0x180059fa6
tzcnt rdx, rbx
shr edx, 3
add r14, rdx
sub r14d, r10d
add r14, 4
mov qword [rsp + 0x108], r14
mov edx, 2
mov qword [rsp + 0x148], rdx
jmp 0x1800599c3
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
jmp 0x18005843f
cmp dword [rsp + 0x68], 0
jne 0x180059e0c
mov r8, qword [rsp + 0x100]
cmp rax, r8
cmovae rax, r8
movsxd r8, edx
cmp rax, r8
jbe 0x18005a067
mov r8d, ecx
mov r9, qword [rsp + 0xf8]
sub r9, r8
cmp r9, 0xffff
mov r13, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
mov r14d, edx
ja 0x180058020
add r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x30], r8
mov edx, eax
movzx eax, cx
mov r8, qword [rsp + 0x20]
movzx r8d, word [r8 + rax*2 + 0x20000]
xor eax, eax
cmp ecx, r8d
cmovae eax, r8d
jb 0x18005a08a
sub ecx, eax
jmp 0x180059e0c
mov r13, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
mov r14d, edx
jmp 0x180058020
lea ecx, [r9*8]
mov rax, qword [rsp + 0x40]
mov r12d, eax
rol r12d, cl
test r9b, 3
cmove r12d, eax
movabs rax, 0x100000001
imul r12, rax
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x18005a4fe
lea rcx, [rax + 8]
mov r9, qword [rax]
xor r9, r12
je 0x18005a0cd
tzcnt rcx, r9
shr ecx, 3
add rax, rcx
sub eax, dword [rsp + 0xa8]
add r13, rax
jmp 0x180059aac
lea ecx, [r8*8]
mov rax, qword [rsp + 0x70]
mov r15d, eax
rol r15d, cl
test r8b, 3
cmove r15d, eax
imul r15, r9
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x18005a57d
lea rcx, [rax + 8]
mov r8, qword [rax]
xor r8, r15
je 0x18005a128
tzcnt rcx, r8
shr ecx, 3
add rax, rcx
sub eax, dword [rsp + 0xa0]
add r12, rax
jmp 0x180059c9e
xor eax, eax
mov edx, dword [rsp + 0x138]
sub edx, eax
cmp edx, r9d
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
jle 0x18005841a
mov edi, edx
mov edx, ecx
add rdx, qword [rsp + 0xa8]
movsxd rbx, eax
add rdx, rbx
mov qword [rsp + 0x30], rdx
add rbx, qword [rsp + 0x80]
mov r9d, edi
jmp 0x18005841a
mov edx, 0x40
jmp 0x1800598d7
mov bl, r13b
lea r13, [r10 + rbx*8]
lea rbp, [rbp + rbx*8]
mov rdx, r13
cmp r13, rdi
jae 0x18005a81e
mov rbx, qword [rdx]
lea r13, [rdx + 8]
xor rbx, qword [rbp]
lea rbp, [rbp + 8]
je 0x18005a1ba
tzcnt rdi, rbx
shr edi, 3
add edx, edi
sub edx, r10d
jmp 0x1800598e9
lea rax, [rsi + r12]
cmp rax, qword [rsp + 0x50]
je 0x18005a516
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x19c], ecx
lea rdx, [rax + 4]
mov rdi, rsi
mov rcx, rdi
cmp rdi, rdx
jb 0x18005a229
lea rdi, [rcx - 4]
mov rbx, qword [rsp + 0x70]
cmp dword [rcx - 4], ebx
je 0x18005a213
cmp rcx, rax
jbe 0x18005a254
xor edx, edx
mov bl, byte [rcx + rdx - 1]
cmp bl, byte [rsp + rdx + 0x19f]
jne 0x18005a251
lea rdi, [rcx + rdx]
dec rdi
dec rdx
cmp rdi, rax
ja 0x18005a230
mov rcx, rax
jmp 0x18005a254
add rcx, rdx
mov rax, rsi
sub rax, rcx
cmp r14d, dword [rsp + 0x38]
jb 0x18005a302
mov ecx, eax
sub rsi, rcx
cmp rsi, qword [rsp + 0xa0]
jne 0x18005a302
mov rcx, qword [rsp + 0x98]
cmp ecx, dword [rsp + 0x38]
jae 0x18005a302
mov esi, eax
neg esi
mov ecx, esi
shl ecx, 3
mov rdi, qword [rsp + 0x70]
mov edx, edi
rol edx, cl
test sil, 3
cmove edx, edi
mov dword [rsp + 0x19c], edx
mov rcx, qword [rsp + 0x120]
mov rsi, rcx
cmp rcx, 4
jl 0x18005a8a9
lea rcx, [rsi - 4]
mov rdi, qword [rsp + 0x100]
cmp dword [rdi + rsi - 4], edx
je 0x18005a2ae
add rsi, qword [rsp + 0x100]
mov rcx, rsi
lea rdx, [rsp + 0x19f]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x18005a2f7
dec rcx
dec rdx
cmp rcx, qword [rsp + 0x100]
ja 0x18005a2e0
mov rdx, qword [rsp + 0x50]
sub edx, ecx
add edx, eax
mov eax, edx
mov ecx, r14d
sub ecx, eax
mov eax, dword [rsp + 0x40]
cmp ecx, eax
cmovbe ecx, eax
mov eax, r14d
sub eax, ecx
add rax, r12
cmp r12, qword [rsp + 0x108]
ja 0x18005a36f
cmp rax, qword [rsp + 0x108]
jb 0x18005a36f
sub r14d, dword [rsp + 0x108]
add r14d, r12d
mov eax, r14d
not eax
mov rcx, qword [rsp + 0x38]
add eax, ecx
cmp eax, 3
cmovb r14d, ecx
mov eax, 2
mov qword [rsp + 0x148], rax
mov ecx, r14d
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
mov r14d, r9d
jmp 0x180058444
mov edx, ecx
not edx
add edx, dword [rsp + 0x38]
mov esi, 2
mov qword [rsp + 0x148], rsi
cmp edx, 3
jae 0x18005a45e
mov rcx, qword [rsp + 0x38]
jmp 0x18005a35a
mov eax, 0x40
jmp 0x180059944
mov bl, dl
lea rdi, [r12 + rbx*8]
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + rbx*8]
mov rax, rdi
cmp rdi, qword [rsp + 0x48]
jae 0x18005a8cc
mov rbx, qword [rax]
lea rdi, [rax + 8]
xor rbx, qword [rdx]
lea rdx, [rdx + 8]
je 0x18005a3b0
tzcnt rdx, rbx
shr edx, 3
add eax, edx
sub eax, r12d
jmp 0x180059955
mov r12, r10
lea rax, [r13 - 0xf]
mov byte [rbx], 0xf0
cmp rax, 0xff
jb 0x18005a437
lea rax, [r13 - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 7
lea r8, [r14 + 1]
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r14
shl rax, 8
lea rdi, [rbx + r14]
add rdi, 2
sub r14, rax
lea rax, [r14 + r13]
add rax, 0xfffffffffffffef2
mov byte [rdi], al
inc rdi
movabs r15, 0x8080808080808081
mov r14, qword [rsp + 0x128]
mov r10, r12
mov r11, qword [rsp + 0xe0]
jmp 0x1800588e3
cmp dword [rsp + 0x68], 0
jne 0x18005a35a
mov rdx, qword [rsp + 0x108]
cmp rax, rdx
cmovae rax, rdx
movsxd rdx, r9d
cmp rax, rdx
jbe 0x18005a4c2
mov edx, ecx
mov rsi, qword [rsp + 0x170]
sub rsi, rdx
cmp rsi, 0xffff
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
mov r14d, r9d
ja 0x1800584e0
add rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x30], rdx
mov r9d, eax
movzx eax, cx
mov rdx, qword [rsp + 0x20]
movzx edx, word [rdx + rax*2 + 0x20000]
xor eax, eax
cmp ecx, edx
cmovae eax, edx
jb 0x18005a4e2
sub ecx, eax
jmp 0x18005a35a
mov r13, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x2c]
mov rbx, r8
mov r14d, r9d
jmp 0x1800584e0
inc rax
shr r12, 8
cmp rax, qword [rsp + 0xb8]
jae 0x18005a0f2
cmp byte [rax], r12b
je 0x18005a4f7
jmp 0x18005a0f2
lea ecx, [rdx*8]
mov rax, qword [rsp + 0x70]
mov edi, eax
rol edi, cl
test dl, 3
cmove edi, eax
movabs rax, 0x100000001
imul rdi, rax
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x18005a7e0
lea rcx, [rax + 8]
mov rdx, qword [rax]
xor rdx, rdi
je 0x18005a542
tzcnt rcx, rdx
shr ecx, 3
add rax, rcx
sub eax, dword [rsp + 0xa0]
add r12, rax
jmp 0x18005a1f8
inc rax
shr r15, 8
cmp rax, qword [rsp + 0xb8]
jae 0x18005a14d
cmp byte [rax], r15b
je 0x18005a576
jmp 0x18005a14d
cmp r9, rax
jae 0x180059372
cmp byte [r9], r12b
jne 0x180059372
inc r9
shr r12, 8
cmp r9, rax
jb 0x18005a59e
mov r9, rax
jmp 0x180059372
lea rax, [rbp - 3]
cmp r12, rax
jae 0x18005a5d5
mov eax, dword [r9]
cmp eax, dword [r12]
jne 0x18005a5d5
add r12, 4
add r9, 4
lea rax, [rbp - 1]
cmp r12, rax
jae 0x18005a5f1
movzx eax, word [r9]
cmp ax, word [r12]
jne 0x18005a5f1
add r12, 2
add r9, 2
cmp r12, rbp
jae 0x1800597d2
mov al, byte [r9]
xor r9d, r9d
cmp al, byte [r12]
sete r9b
add r12, r9
jmp 0x1800597d2
mov r13, r14
cmp r14, qword [rsp + 0xb8]
jae 0x1800596a6
cmp byte [r13], r9b
jne 0x1800596a6
mov rbx, r13
inc rbx
shr r9, 8
mov r13, rbx
cmp rbx, qword [rsp + 0xb8]
jb 0x18005a621
jmp 0x1800596a6
cmp r8, rbp
jae 0x1800595ca
cmp byte [r8], r15b
jne 0x1800595ca
inc r8
shr r15, 8
cmp r8, rbp
jb 0x18005a650
mov r8, rbp
jmp 0x1800595ca
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffffd
cmp r15, rax
jae 0x18005a68b
mov eax, dword [rbp]
cmp eax, dword [r15]
jne 0x18005a68b
add r15, 4
add rbp, 4
mov rax, qword [rsp + 0x50]
dec rax
cmp r15, rax
jae 0x18005a6aa
movzx eax, word [rbp]
cmp ax, word [r15]
jne 0x18005a6aa
add r15, 2
add rbp, 2
cmp r15, qword [rsp + 0x50]
jae 0x180059857
mov al, byte [rbp]
xor r9d, r9d
cmp al, byte [r15]
sete r9b
add r15, r9
jmp 0x180059857
cmp r9, qword [rsp + 0xb8]
jae 0x180059761
cmp byte [r9], al
jne 0x180059761
mov rbx, r9
inc rbx
shr rax, 8
mov r9, rbx
cmp rbx, qword [rsp + 0xb8]
jb 0x18005a6d8
jmp 0x180059761
mov rcx, qword [rsp + 0x78]
add rcx, r9
test r9, r9
jg 0x180059b81
jmp 0x180059b9f
cmp r9, qword [rsp + 0xf0]
jae 0x18005a72c
mov esi, dword [rax]
cmp esi, dword [r9]
jne 0x18005a72c
add r9, 4
add rax, 4
cmp r9, qword [rsp + 0x150]
jae 0x18005a747
movzx esi, word [rax]
cmp si, word [r9]
jne 0x18005a747
add r9, 2
add rax, 2
cmp r9, qword [rsp + 0xb8]
jae 0x180059c7d
mov al, byte [rax]
xor esi, esi
cmp al, byte [r9]
sete sil
add r9, rsi
jmp 0x180059c7d
mov rcx, qword [rsp + 0x98]
add rcx, r10
test r10, r10
jg 0x180059d87
jmp 0x180059da8
cmp r8, qword [rsp + 0xf0]
jae 0x18005a79b
mov r9d, dword [rax]
cmp r9d, dword [r8]
jne 0x18005a79b
add r8, 4
add rax, 4
cmp r8, qword [rsp + 0x150]
jae 0x18005a7b7
movzx r9d, word [rax]
cmp r9w, word [r8]
jne 0x18005a7b7
add r8, 2
add rax, 2
cmp r8, qword [rsp + 0xb8]
jae 0x180059e9c
mov al, byte [rax]
xor r9d, r9d
cmp al, byte [r8]
sete r9b
add r8, r9
jmp 0x180059e9c
inc rax
shr rdi, 8
cmp rax, qword [rsp + 0xb8]
jae 0x18005a567
cmp byte [rax], dil
je 0x18005a7d9
jmp 0x18005a567
cmp rdx, rbp
jae 0x180059a7b
cmp byte [rdx], dil
jne 0x180059a7b
inc rdx
shr rdi, 8
cmp rdx, rbp
jb 0x18005a801
mov rdx, rbp
jmp 0x180059a7b
lea rdi, [r12 - 3]
cmp rdx, rdi
jae 0x18005a837
mov edi, dword [rbp]
cmp edi, dword [rdx]
jne 0x18005a837
add rdx, 4
add rbp, 4
lea rdi, [r12 - 1]
cmp rdx, rdi
jae 0x18005a852
movzx edi, word [rbp]
cmp di, word [rdx]
jne 0x18005a852
add rdx, 2
add rbp, 2
cmp rdx, r12
jae 0x18005a1e1
mov bl, byte [rbp]
xor edi, edi
cmp bl, byte [rdx]
sete dil
add rdx, rdi
jmp 0x18005a1e1
cmp r14, qword [rsp + 0xb8]
jae 0x180059fce
cmp byte [r14], dl
jne 0x180059fce
mov rdi, r14
inc rdi
shr rdx, 8
mov r14, rdi
cmp rdi, qword [rsp + 0xb8]
jb 0x18005a87c
jmp 0x180059fce
mov r13, rsi
jmp 0x1800597a9
mov rcx, qword [rsp + 0x100]
add rcx, rsi
test rsi, rsi
jg 0x18005a2d8
jmp 0x18005a2f7
mov r13, qword [rsp + 0x60]
jmp 0x18005982f
cmp rax, qword [rsp + 0xf0]
jae 0x18005a8e4
mov edi, dword [rdx]
cmp edi, dword [rax]
jne 0x18005a8e4
add rax, 4
add rdx, 4
cmp rax, qword [rsp + 0x150]
jae 0x18005a8fe
movzx edi, word [rdx]
cmp di, word [rax]
jne 0x18005a8fe
add rax, 2
add rdx, 2
cmp rax, qword [rsp + 0xb8]
jae 0x18005a3d8
mov dl, byte [rdx]
xor edi, edi
cmp dl, byte [rax]
sete dil
add rax, rdi
jmp 0x18005a3d8
lea rax, [r14 - 0x211]
mul r15
mov r12, rdx
shr r12, 8
lea r8, [r12*2 + 2]
mov rcx, rbx
mov dl, 0xff
mov rsi, r10
mov rbx, r11
call sub.VCRUNTIME140.dll_memset
mov r11, rbx
mov r10, rsi
lea rax, [rdi + r12*2]
lea rbx, [rax + r13]
add rbx, 4
imul rax, r12, 0xfffffffffffffe02
add rax, r14
add rax, 0xfffffffffffffdef
jmp 0x180058cfe
add rax, 0xffffffffffffff01
mov byte [rbx], 0xff
inc rbx
jmp 0x180058d0a
lea rax, [r13 - 0x10e]
mul r15
mov rbx, rdx
shr rbx, 7
mov dword [rsp + 0xc8], r8d
lea r8, [rbx + 1]
mov rcx, rdi
mov dl, 0xff
mov rdi, r10
mov r14, r11
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0xc8]
mov r11, r14
mov r10, rdi
mov rax, rbx
shl rax, 8
lea rdi, [r12 + rbx]
add rdi, 2
sub rbx, rax
lea rax, [rbx + r13]
add rax, 0xfffffffffffffef2
jmp 0x180058d29
mov r10, rbx
mov r15, r9
mov r11d, r14d
jmp 0x1800589c6
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov r14, rdx
shr r14, 8
lea r8, [r14*2 + 2]
mov rcx, rdi
mov dl, 0xff
mov rdi, r10
mov qword [rsp + 0xd8], r11
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xd8]
mov r10, rdi
mov r9, qword [rsp + 0x30]
lea rax, [rsi + r14*2]
sub rax, qword [rsp + 0xf8]
lea rdi, [r12 + rax]
add rdi, 4
imul rax, r14, 0xfffffffffffffe02
mov r14d, dword [rsp + 0x98]
add rax, rbp
add rax, 0xfffffffffffffdef
jmp 0x180058dde
add rax, 0xffffffffffffff01
mov byte [rdi], 0xff
inc rdi
jmp 0x180058def
lea rax, [rdi - 0x10e]
mul rcx
shr rdx, 7
mov qword [rsp + 0xb0], rdx
lea r8, [rdx + 1]
mov rcx, r12
mov dl, 0xff
mov r12, r10
mov r13, r11
call sub.VCRUNTIME140.dll_memset
mov r11, r13
mov r13, qword [rsp + 0x130]
mov r10, r12
mov r9, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xb0]
mov rax, rdx
shl rax, 8
mov rcx, qword [rsp + 0x58]
lea r12, [rcx + rdx]
add r12, 2
sub rdx, rax
lea rax, [rdi + rdx]
add rax, 0xfffffffffffffef2
jmp 0x180058e35
mov r15, r11
mov rbx, rdi
lea rax, [rdi - 0xf]
mov byte [r13], 0xf0
lea rcx, [r13 + 1]
cmp rax, 0xff
jb 0x18005ab3c
mov r14, rbx
lea rax, [rbx - 0x10e]
mul r8
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
shl rax, 8
lea rcx, [rdi + r13]
add rcx, 2
sub rdi, rax
lea rax, [rbx + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov r13, rcx
mov rdi, rbx
mov r11, r15
jmp 0x180058fcb
mov rcx, qword [rsp + 0xe0]
add rcx, 0xfffffffffffffffc
cmp qword [rsp + 0x140], rcx
lea eax, [r11 + rax - 4]
mov ecx, dword [rsp + 0x88]
cmova ecx, eax
mov rax, qword [rsp + 0x90]
sub eax, r10d
mov r13d, ecx
add eax, ecx
test eax, eax
jle 0x18005abd7
mov ecx, eax
mov r10, qword [rsp + 0x60]
add r10, rcx
mov r15, qword [rsp + 0xd0]
add r15, rcx
mov r11, qword [rsp + 0xd8]
sub r11d, eax
movabs rcx, 0x8080808080808081
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x30]
jmp 0x180058b35
mov r13, r10
jmp 0x18005a1ba
xor ebp, ebp
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x40027], 1
jmp 0x1800578e9
movabs rcx, 0x8080808080808081
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x30]
mov r15, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0xd8]
jmp 0x180058b35
lea rax, [rsi - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp*2 + 2]
mov rcx, rdi
mov dl, 0xff
mov rdi, r10
mov qword [rsp + 0xd8], r11
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xd8]
mov r10, rdi
mov r9, qword [rsp + 0x30]
mov rax, qword [rsp + 0x90]
lea rax, [rax + rbp*2]
sub rax, qword [rsp + 0xf8]
lea rdi, [r12 + rax]
add rdi, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
jmp 0x180058f47
add rax, 0xffffffffffffff01
mov byte [rdi], 0xff
inc rdi
jmp 0x180058f58
lea rax, [rdi - 0x10e]
mul rcx
mov rsi, rdx
shr rsi, 7
lea r8, [rsi + 1]
mov rcx, r12
mov dl, 0xff
mov r12, r10
mov qword [rsp + 0xd8], r11
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xd8]
mov r10, r12
mov r9, qword [rsp + 0x30]
mov rax, rsi
shl rax, 8
mov rcx, qword [rsp + 0x58]
lea r12, [rcx + rsi]
add r12, 2
sub rsi, rax
lea rax, [rdi + rsi]
add rax, 0xfffffffffffffef2
jmp 0x18005901e