Function at 0x18003eab0
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, 0x1e8
mov qword [rsp + 0x1c0], r9
mov qword [rsp + 0x1a0], r8
mov qword [rsp + 0x178], rdx
mov r15, rcx
mov ebp, dword [rsp + 0x250]
mov rax, qword [str.LoadLibraryA]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
xor r14d, r14d
test ebp, ebp
jg 0x18003eb0c
cmp dword [rsp + 0x260], 2
je 0x1800420f5
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax]
cmp rax, 0x7e000000
ja 0x1800420f5
add qword [r15 + 0x40000], rax
mov eax, dword [rsp + 0x258]
cmp eax, 0xc
mov ecx, 0xc
cmovl ecx, eax
test eax, eax
mov r13d, 9
cmovg r13d, ecx
movsxd rax, r13d
lea rdi, [rax + rax*2]
lea rbx, [0x180094d40]
mov r8d, dword [rbx + rdi*4 + 4]
cmp dword [rbx + rdi*4], 0
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x2c], r8d
jne 0x18003ec6d
xor eax, eax
cmp dword [rsp + 0x260], 2
setne al
mov rdx, qword [rsp + 0x1c0]
movsxd rbx, dword [rdx]
movsxd rcx, ebp
mov rsi, qword [rsp + 0x1a0]
add rcx, rsi
mov dword [rdx], 0
lea rax, [rax + rax*4]
add rax, rcx
add rax, 0xfffffffffffffffb
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0x178]
mov rax, rbx
mov qword [rsp + 0x1b0], rbx
cmp rbx, 0xd
jl 0x1800438f2
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x1b0]
add rcx, rax
add rcx, 0xfffffffffffffff4
mov rdx, rax
mov rsi, qword [rsp + 0x1a0]
mov qword [rsp + 0x158], rcx
cmp rcx, rax
jb 0x1800438f2
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x1b0]
add rcx, rax
add rcx, 0xfffffffffffffffb
lea rdx, [rcx - 7]
mov qword [rsp + 0x40], rdx
lea rdx, [rcx - 3]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x88], rcx
dec rcx
mov qword [rsp + 0x188], rcx
xor ecx, ecx
mov qword [rsp + 0x170], rcx
xor ecx, ecx
mov qword [rsp + 0x140], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
xor r10d, r10d
xor r9d, r9d
mov r13, qword [rsp + 0x1a0]
jmp 0x180042138
mov al, byte [r15 + 0x40026]
xor r14d, r14d
mov byte [rsp + 0xf0], al
neg al
mov eax, 0
sbb eax, eax
mov dword [rsp + 0x190], eax
mov ecx, 0x10030
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x180041b5e
lea rax, [rbx + rdi*4]
mov eax, dword [rax + 8]
mov rbx, qword [rsp + 0x1c0]
movsxd rdx, dword [rbx]
mov rdi, qword [rsp + 0x178]
mov qword [rsp + 0x1c8], rdx
lea rsi, [rdi + rdx]
add rsi, 0xfffffffffffffff4
xor ecx, ecx
cmp dword [rsp + 0x260], 2
setne cl
movsxd rdx, ebp
mov rbp, qword [rsp + 0x1a0]
add rdx, rbp
mov dword [rbx], 0
lea rcx, [rcx + rcx*4]
add rcx, rdx
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x90], rcx
mov ecx, 0xfff
cmp eax, ecx
cmovb ecx, eax
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x1b8], rsi
cmp rsi, rdi
jae 0x18003ee6f
mov rdx, qword [rsp + 0x1c8]
add rdx, qword [rsp + 0x178]
xor ecx, ecx
mov ebp, dword [rsp + 0x260]
cmp ebp, 2
sete bl
sub rdx, qword [rsp + 0x88]
mov rdi, rdx
lea rax, [rdx + 0xf0]
movabs rdx, 0x8080808080808081
mul rdx
test ebp, ebp
je 0x18003ede1
shr rdx, 7
add rdx, rdi
mov cl, bl
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, qword [rsp + 0x98]
add rax, rdx
inc rax
cmp rax, rcx
jbe 0x18003ede1
mov r14d, 0
cmp dword [rsp + 0x260], 1
je 0x180041b5e
mov rdx, rcx
mov rax, qword [rsp + 0x98]
not rax
lea rdi, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rdi, rax
mov rax, rdi
mov rcx, qword [rsp + 0x88]
lea rsi, [rcx + rdi]
cmp rdi, 0xf
jb 0x180041b14
lea rax, [rdi - 0xf]
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
inc rcx
cmp rax, 0xff
jb 0x18003ee60
mov rbp, rdi
lea rax, [rdi - 0x10e]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0x98]
add rcx, rbx
add rcx, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov qword [rsp + 0x98], rcx
jmp 0x180041b23
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
add rcx, 0xfffffffffffffffb
mov qword [rsp + 0x30], rcx
lea rcx, [rcx - 7]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0xd0]
lea rdx, [rcx + 0x4c]
mov qword [rsp + 0x180], rdx
lea rdx, [rcx + 0x50]
mov qword [rsp + 0x1d0], rdx
add rcx, 8
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x70], rax
mov rsi, qword [rsp + 0x70]
mov rax, rsi
sub rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax + 0x40008]
mov ebx, dword [rax + 0x40018]
mov rcx, rsi
mov rdx, rbp
mov qword [rsp + 0xb0], rbp
sub rcx, rbp
lea edi, [rbx + rcx]
mov edx, dword [rax + 0x4001c]
lea ebp, [rdx + 0x10000]
mov dword [rsp + 0x100], ebp
cmp ebp, edi
mov qword [rsp + 0xa8], rcx
lea ecx, [rbx + rcx - 0xffff]
cmova ecx, edx
mov dword [rsp + 0xc8], ecx
mov rbp, rbx
sub rbp, rdx
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0xf8], rdx
neg rdx
mov qword [rsp + 0x118], rdx
mov ecx, dword [rsi]
mov qword [rsp + 0x50], rcx
mov eax, dword [rax + 0x40020]
mov qword [rsp + 0x60], rbx
neg rbx
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x58], edi
cmp eax, edi
jae 0x18003efe0
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc0]
add rdx, rbp
imul ebp, dword [rdx + rax], 0x9e3779b1
shr ebp, 0x11
mov ebx, eax
mov rdi, qword [rsp + 0x68]
sub ebx, dword [rdi + rbp*4]
mov edi, 0xffff
cmp ebx, edi
jb 0x18003efc5
mov ebx, 0xffff
movzx edi, ax
mov rsi, qword [rsp + 0x68]
mov word [rsi + rdi*2 + 0x20000], bx
mov dword [rsi + rbp*4], eax
inc rax
cmp rcx, rax
jne 0x18003efa3
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rcx + 0x40010]
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x40020], eax
mov rbp, qword [rsp + 0x70]
imul eax, dword [rbp], 0x9e3779b1
mov rdx, qword [rsp + 0x130]
add rdx, rdi
mov qword [rsp + 0x110], rdx
shr eax, 0x11
mov r9d, dword [rcx + rax*4]
lea rax, [rbp + 4]
mov qword [rsp + 0x78], rax
mov rbx, qword [rsp + 0x60]
lea eax, [rbx - 4]
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0xc0]
add rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
mov rsi, qword [rsp + 0x50]
movzx eax, si
mov ecx, esi
shr ecx, 0x10
xor ecx, eax
movzx eax, sil
mov edx, esi
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x158]
movabs rax, 0x100000001
imul rsi, rax
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xa0], rdi
add qword [rsp + 0x118], rdi
add qword [rsp + 0xa8], rbx
mov eax, 0xfffffffc
sub eax, ebp
mov qword [rsp + 0xe8], rax
mov eax, 3
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x80], rax
xor r11d, r11d
mov dword [rsp + 0xe0], 0
xor r14d, r14d
mov r12d, dword [rsp + 0x2c]
cmp r9d, dword [rsp + 0xc8]
jb 0x18003f8d8
test r12d, r12d
jle 0x18003f8d8
xor r10d, r10d
cmp byte [rsp + 0xf0], 0
je 0x18003f295
mov ecx, dword [rsp + 0x58]
sub ecx, r9d
cmp ecx, 8
jae 0x18003f295
cmp r10d, dword [rsp + 0x40]
jne 0x18003f1a7
mov rax, qword [rsp + 0x40]
lea ecx, [rax + r9]
cmp ecx, dword [rsp + 0x58]
ja 0x18003f1a7
cmp r10d, 4
jl 0x18003f1a7
lea ecx, [r10 - 3]
xor edi, edi
mov ebx, 0x10
mov edx, 1
mov ebp, edx
lea edx, [rdi + r9]
movzx edx, dx
mov rsi, qword [rsp + 0x68]
movzx edx, word [rsi + rdx*2 + 0x20000]
lea esi, [rbx + 1]
sar ebx, 4
cmp ebp, edx
mov eax, 0x10
cmovb esi, eax
cmova edx, ebp
cmovb r14d, edi
mov ebp, ebx
add ebp, edi
mov edi, ebp
mov ebx, esi
cmp ebp, ecx
jl 0x18003f13f
xor ecx, ecx
cmp r9d, edx
setb bl
mov ebp, edx
mov edi, 0
cmovb ebp, edi
cmp edx, 2
cmovb ebp, edi
sub r9d, ebp
cmp edx, 1
jbe 0x18003f1a7
mov cl, bl
or ecx, 2
mov qword [rsp + 0x40], r10
jmp 0x18003f4a3
movzx ecx, r9w
mov rdx, qword [rsp + 0x68]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x18003f48a
test r14d, r14d
jne 0x18003f48a
cmp dword [rsp + 0xe0], 0
je 0x18003f445
cmp dword [rsp + 0xe0], 2
jne 0x18003f48a
lea r8d, [r9 - 1]
cmp r8d, dword [rsp + 0xc8]
jb 0x18003f48a
mov rax, qword [rsp + 0x60]
mov ecx, eax
sub ecx, r9d
cmp ecx, 3
jb 0x18003f48a
cmp r8d, dword [rsp + 0x60]
mov rdi, qword [rsp + 0xc0]
cmovb rdi, qword [rsp + 0x118]
mov r15d, r8d
mov dword [rsp + 0xe0], 2
mov rax, qword [rsp + 0x50]
cmp dword [rdi + r15], eax
jne 0x18003f48a
lea r9, [rdi + r15]
cmp r8d, dword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
cmovb r10, qword [rsp + 0x110]
lea rdx, [r9 + 4]
lea rbx, [r10 - 7]
mov rax, rdx
cmp rdx, rbx
jae 0x1800419e0
lea rcx, [rdi + r15]
add rcx, 4
mov rax, rdx
mov rbp, qword [rax]
xor rbp, qword [rsp + 0xd8]
jne 0x18003f4b4
add rax, 8
add rcx, 8
cmp rax, rbx
jb 0x18003f272
jmp 0x1800419e0
mov r15, qword [rsp + 0x60]
sub r15d, r9d
jbe 0x18003f3a9
cmp r9d, dword [rsp + 0x138]
ja 0x18003f10f
mov ecx, r9d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x50]
cmp dword [rcx], eax
jne 0x18003f10f
add r15, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
cmp r15, rdx
mov r8, r15
cmova r8, rdx
add rcx, 4
lea rbp, [r8 - 7]
cmp rbp, qword [rsp + 0x78]
jbe 0x1800420b1
mov rax, qword [rsp + 0x78]
mov rbx, qword [rax]
xor rbx, qword [rcx]
je 0x18003f512
bsf rdx, rbx
xor edi, edi
test rbx, rbx
sete bl
je 0x18003f51c
shr edx, 3
lea r10d, [rdx + 4]
cmp r15, qword [rsp + 0x30]
jae 0x18003f37e
movsxd rcx, edx
mov rax, qword [rsp + 0x70]
add rcx, rax
add rcx, 4
cmp rcx, r8
jne 0x18003f37e
mov rdx, r8
mov rcx, qword [rsp + 0xb0]
cmp qword [rsp + 0x48], r8
jbe 0x18003f784
mov rcx, qword [r8]
mov rax, qword [rsp + 0xb0]
xor rcx, qword [rax]
je 0x18003f767
bsf rdx, rcx
xor edi, edi
test rcx, rcx
sete cl
je 0x18003f771
shr edx, 3
add r10d, edx
cmp r10d, dword [rsp + 0x40]
jle 0x18003f10f
mov eax, r9d
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x80], rax
mov eax, r10d
mov qword [rsp + 0x40], rax
jmp 0x18003f10f
mov edx, r9d
add rdx, qword [rsp + 0xc0]
movsxd rcx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
movzx ebp, word [rax + rcx - 1]
cmp bp, word [rcx + rdx - 1]
jne 0x18003f10f
mov rax, qword [rsp + 0x50]
cmp dword [rdx], eax
jne 0x18003f10f
lea rcx, [rdx + 4]
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x48], rax
jbe 0x1800420d5
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax]
xor rdi, qword [rcx]
je 0x18003f716
bsf r10, rdi
xor ebx, ebx
test rdi, rdi
sete r8b
je 0x18003f721
shr r10d, 3
add r10d, 4
mov rcx, qword [rsp + 0x40]
cmp r10d, ecx
mov rax, qword [rsp + 0x80]
cmovg rax, rdx
mov qword [rsp + 0x80], rax
cmovg ecx, r10d
mov qword [rsp + 0x40], rcx
jmp 0x18003f10f
mov dword [rsp + 0xe0], 1
cmp byte [rsp + 0x158], 0
je 0x18003f48a
mov rax, qword [rsp + 0x78]
mov r11, rax
cmp qword [rsp + 0x48], rax
jbe 0x180041a2d
mov rcx, qword [r11]
xor rcx, qword [rsp + 0xd8]
jne 0x18003f4ee
add r11, 8
cmp r11, qword [rsp + 0x48]
jb 0x18003f46d
jmp 0x180041a2d
lea ecx, [r14 + r9]
movzx ecx, cx
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r9d, ecx
xor ecx, ecx
dec r12d
cmp ecx, 3
jne 0x18003f0d7
jmp 0x18003f8d8
bsf rax, rbp
shr rax, 3
add rax, rcx
sub rax, rdx
mov r14d, eax
add r14, 4
cmp r8d, dword [rsp + 0x60]
jae 0x18003f56c
lea rcx, [r9 + r14]
cmp rcx, r10
je 0x18003f853
mov rsi, qword [rsp + 0xa0]
jmp 0x18003f574
bsf rcx, rcx
shr rcx, 3
add r11, rcx
sub r11d, dword [rsp + 0x78]
add r11, 4
mov dword [rsp + 0xe0], 2
jmp 0x18003f1d6
mov edx, 0x40
jmp 0x18003f30c
mov dil, bl
mov rax, qword [rsp + 0x78]
lea rdx, [rax + rdi*8]
lea rcx, [rcx + rdi*8]
cmp rdx, rbp
jae 0x180041a9d
mov rax, qword [rsp + 0xe8]
lea ebx, [rax + rdx]
mov rdi, qword [rdx]
xor rdi, qword [rcx]
jne 0x18003f55d
add rdx, 8
add rcx, 8
add ebx, 8
cmp rdx, rbp
jb 0x18003f540
jmp 0x180041a9d
bsf rdx, rdi
shr rdx, 3
add edx, ebx
jmp 0x18003f31d
mov rsi, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x1dc], eax
lea rbx, [rsi + 4]
add rdi, r15
mov rbp, r9
mov rdx, rbp
mov rcx, rdi
cmp rbp, rbx
jb 0x18003f5a7
lea rbp, [rdx - 4]
lea rdi, [rcx - 4]
mov rax, qword [rsp + 0x50]
cmp dword [rdx - 4], eax
je 0x18003f58a
cmp rdx, rsi
jbe 0x18003f5de
mov rax, rsi
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebx, ebx
mov al, byte [rdx + rbx - 1]
cmp al, byte [rsp + rbx + 0x1df]
jne 0x18003f5d8
lea rax, [rdx + rbx]
dec rax
dec rbx
cmp rax, rsi
ja 0x18003f5ba
jmp 0x18003f5de
add rdx, rbx
mov rcx, rdx
mov rdx, r9
sub rdx, rcx
cmp r8d, dword [rsp + 0x60]
jb 0x18003f68c
mov eax, edx
sub r9, rax
cmp r9, qword [rsp + 0xb0]
jne 0x18003f68c
mov rax, qword [rsp + 0xf8]
cmp eax, dword [rsp + 0x60]
jae 0x18003f68c
mov eax, edx
neg eax
mov ecx, eax
shl ecx, 3
mov rbp, qword [rsp + 0x50]
mov edi, ebp
rol edi, cl
test al, 3
cmove edi, ebp
mov dword [rsp + 0x1dc], edi
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x130]
cmp rcx, 4
jl 0x180041ac9
add rcx, 0xfffffffffffffffc
lea rbx, [rax - 4]
cmp dword [rax - 4], edi
mov rax, rbx
je 0x18003f63e
add rbx, 4
mov rax, rbx
lea rcx, [rsp + 0x1df]
mov bl, byte [rax - 1]
cmp bl, byte [rcx]
jne 0x18003f67e
dec rax
dec rcx
cmp rax, qword [rsp + 0xa0]
ja 0x18003f667
mov rcx, qword [rsp + 0x110]
sub ecx, eax
add ecx, edx
mov edx, ecx
mov r9d, r8d
sub r9d, edx
mov eax, dword [rsp + 0xc8]
cmp r9d, eax
cmovbe r9d, eax
mov edx, r8d
sub edx, r9d
add rdx, r14
cmp r14, r11
ja 0x18003f6e7
cmp rdx, r11
jb 0x18003f6e7
sub r8d, r11d
add r8d, r14d
mov eax, r8d
not eax
mov rcx, qword [rsp + 0x60]
add eax, ecx
cmp eax, 3
cmovb r8d, ecx
xor r14d, r14d
mov ecx, 2
mov dword [rsp + 0xe0], 2
mov r9d, r8d
jmp 0x18003f4a3
mov ebp, r9d
not ebp
add ebp, dword [rsp + 0x60]
xor r14d, r14d
mov ecx, 2
cmp ebp, 3
jae 0x18003f7de
mov dword [rsp + 0xe0], 2
mov r9, qword [rsp + 0x60]
jmp 0x18003f4a3
mov r10d, 0x40
jmp 0x18003f404
mov bl, r8b
mov rax, qword [rsp + 0x78]
lea r10, [rax + rbx*8]
lea rcx, [rcx + rbx*8]
cmp r10, qword [rsp + 0x48]
jae 0x180041da5
mov rax, qword [rsp + 0xe8]
lea edi, [rax + r10]
mov rbp, qword [r10]
xor rbp, qword [rcx]
jne 0x18003f7bf
add r10, 8
add rcx, 8
add edi, 8
cmp r10, qword [rsp + 0x48]
jb 0x18003f748
jmp 0x180041da5
mov edx, 0x40
jmp 0x18003f36a
mov dil, cl
lea rdx, [r8 + rdi*8]
mov rax, qword [rsp + 0xb0]
lea rcx, [rax + rdi*8]
cmp rdx, qword [rsp + 0x48]
jae 0x180041dff
mov rsi, qword [rsp + 0x30]
cmp rsi, r15
cmovb r15, rsi
mov ebp, edx
sub ebp, r15d
mov rdi, qword [rdx]
xor rdi, qword [rcx]
jne 0x18003f7cf
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, qword [rsp + 0x48]
jb 0x18003f7a0
jmp 0x180041dff
bsf r10, rbp
shr r10, 3
add r10d, edi
jmp 0x18003f417
bsf rdx, rdi
shr rdx, 3
add edx, ebp
jmp 0x18003f37b
cmp rdx, r11
cmovae rdx, r11
movsxd rax, dword [rsp + 0x40]
cmp rdx, rax
jbe 0x18003f81f
mov eax, r9d
mov rbp, qword [rsp + 0xa8]
sub rbp, rax
cmp rbp, 0xffff
ja 0x18003f8d8
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x40], rdx
movzx eax, r9w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r14d, r14d
cmp r9d, edx
cmovb edx, r14d
jb 0x18003f8d8
sub r9d, edx
mov dword [rsp + 0xe0], 2
jmp 0x18003f4a3
lea ecx, [r14*8]
mov rbp, qword [rsp + 0x50]
mov edx, ebp
rol edx, cl
test al, 3
cmove edx, ebp
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x180041988
mov rcx, qword [rax]
xor rcx, rdx
jne 0x18003f8a5
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x18003f88d
jmp 0x180041988
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb0]
add r14, rax
jmp 0x18003f4e1
cmp byte [rax], bl
jne 0x18003f4bf
inc rax
shr rbx, 8
dec rcx
jne 0x18003f8bf
jmp 0x180041e97
cmp dword [rsp + 0x40], 4
jl 0x18003f9fe
mov rcx, qword [rsp + 0x40]
lea eax, [rcx - 0x13]
mov r14, qword [rsp + 0x70]
sub r14, qword [rsp + 0x80]
cmp eax, 0x12
mov eax, ecx
mov rdx, rax
mov ecx, 0x12
cmovb rdx, rcx
cmp byte [rsp + 0xf0], 0
cmove rdx, rax
mov rax, rdx
mov qword [rsp + 0x78], rdx
cmp rdx, qword [rsp + 0x1b0]
jbe 0x18003fa1b
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x18003f96d
shr rdx, 7
add rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x38]
add rax, rdx
add rax, 9
cmp rax, qword [rsp + 0x90]
ja 0x180041b76
mov rax, qword [rsp + 0x98]
lea rbp, [rax + 1]
cmp qword [rsp + 0x38], 0xf
jb 0x180041841
mov rax, qword [rsp + 0x38]
add rax, 0xfffffffffffffff1
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x18003f9f3
mov rsi, qword [rsp + 0x38]
lea rax, [rsi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, rbp
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbx
shl rax, 8
mov rcx, qword [rsp + 0x98]
lea rbp, [rcx + rbx]
add rbp, 2
sub rbx, rax
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffef2
mov byte [rbp], al
inc rbp
jmp 0x180041853
inc qword [rsp + 0x70]
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x1b8]
jbe 0x18003eedd
jmp 0x18003ed3e
cmp dword [rsp + 0x38], 0xe
jle 0x18003fa41
mov rdx, qword [rsp + 0x38]
lea ecx, [rdx - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
lea r8d, [rdx + 1]
add ecx, edx
inc ecx
jmp 0x18003fa4c
mov rax, qword [rsp + 0x38]
lea r8d, [rax + 1]
mov ecx, eax
mov rax, qword [rsp + 0xd0]
movabs rdx, 0x100000000
mov qword [rax + 4], rdx
mov rdx, qword [rsp + 0x38]
mov dword [rax + 0xc], edx
mov dword [rax], ecx
mov ecx, r8d
cmp r8d, 0xf
jl 0x18003fa8b
lea ecx, [r8 - 0xf]
mov eax, 0x80808081
imul rcx, rax
shr rcx, 0x27
add ecx, r8d
inc ecx
mov rax, qword [rsp + 0xd0]
movabs rdx, 0x100000000
mov qword [rax + 0x14], rdx
mov dword [rax + 0x1c], r8d
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x38]
lea edx, [rax + 2]
cmp eax, 0xd
jl 0x180041806
mov rbx, qword [rsp + 0x38]
lea ebp, [rbx - 0xd]
mov eax, 0x80808081
imul rbp, rax
shr rbp, 0x27
lea ecx, [rbx + 3]
add ebp, ebx
add ebp, 3
mov rax, qword [rsp + 0xd0]
movabs rbx, 0x100000000
mov qword [rax + 0x24], rbx
mov dword [rax + 0x2c], edx
mov dword [rax + 0x20], ebp
mov rbp, qword [rsp + 0x38]
lea edx, [rbp - 0xc]
mov eax, 0x80808081
imul rdx, rax
shr rdx, 0x27
add edx, ebp
add edx, 4
mov rbx, qword [rsp + 0x38]
lea ebp, [rbx - 0xf]
mov eax, 0x80808081
imul rbp, rax
shr rbp, 0x27
add r8d, ebp
cmp ebx, 0xf
mov rax, qword [rsp + 0xd0]
movabs rbp, 0x100000000
mov qword [rax + 0x34], rbp
mov dword [rax + 0x3c], ecx
cmovl r8d, ebx
mov dword [rax + 0x30], edx
lea ecx, [r8 + 3]
add r8d, 4
mov edx, 3
sub rdx, qword [rsp + 0x78]
mov ebp, 4
mov ebx, 0xfffffff1
mov rdi, qword [rsp + 0x180]
mov esi, ecx
cmp rbp, 0x13
jb 0x18003fb90
movsxd rsi, ebx
imul rsi, rsi, 0xffffffff80808081
shr rsi, 0x20
add esi, ebx
mov eax, esi
shr eax, 0x1f
sar esi, 7
add esi, eax
add esi, r8d
mov dword [rdi - 4], ebp
mov dword [rdi - 8], r14d
mov rax, qword [rsp + 0x38]
mov dword [rdi], eax
mov dword [rdi - 0xc], esi
inc ebx
lea rax, [rdx + rbp]
inc rax
inc rbp
add rdi, 0x10
cmp rax, 4
jne 0x18003fb6b
mov rax, qword [rsp + 0x78]
shl rax, 4
mov rbp, qword [rsp + 0xd0]
movabs rbx, 0x100000000
mov qword [rbp + rax + 0x14], rbx
mov dword [rbp + rax + 0x1c], 1
mov ecx, dword [rbp + rax]
lea edx, [rcx + 1]
mov dword [rbp + rax + 0x10], edx
mov qword [rbp + rax + 0x24], rbx
mov dword [rbp + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [rbp + rax + 0x20], edx
mov qword [rbp + rax + 0x34], rbx
mov dword [rbp + rax + 0x3c], 3
add ecx, 3
mov dword [rbp + rax + 0x30], ecx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
add ecx, eax
sub ecx, dword [rsp + 0xb0]
inc ecx
mov qword [rsp + 0xe0], rcx
mov ecx, 0xfffffffb
sub ecx, eax
mov qword [rsp + 0x150], rcx
inc rax
mov qword [rsp + 0x1a8], rax
mov eax, 1
mov qword [rsp + 0x108], rax
mov eax, 5
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x170], rax
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x80], rcx
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rcx
cmp rcx, qword [rsp + 0x1b8]
ja 0x180041454
mov rax, qword [rsp + 0xe0]
mov eax, eax
mov qword [rsp + 0xe0], rax
mov rdx, qword [rsp + 0x80]
lea rcx, [rdx + 1]
mov rax, rcx
mov qword [rsp + 0x108], rcx
shl rcx, 4
shl rdx, 4
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rcx
mov ecx, dword [rax + rcx]
mov dword [rsp + 0x198], ecx
mov qword [rsp + 0x148], rdx
mov eax, dword [rax + rdx]
mov qword [rsp + 0xe8], rax
cmp r13d, 0xc
jne 0x18004069b
mov eax, dword [rsp + 0x198]
cmp eax, dword [rsp + 0xe8]
jg 0x18003fd3e
mov rax, qword [rsp + 0xe8]
add eax, 3
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x148]
cmp dword [rdx + rcx + 0x40], eax
jl 0x18004102f
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
sub rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x60]
lea edx, [rax + rcx]
cmp dword [rsp + 0x100], edx
mov qword [rsp + 0x160], rcx
lea eax, [rax + rcx - 0xffff]
cmova eax, dword [rsp + 0xf8]
mov dword [rsp + 0x158], eax
mov eax, dword [rbp]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xc8], edx
cmp dword [rsp + 0x58], edx
jae 0x18003fddf
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov rbp, qword [rsp + 0x68]
sub edx, dword [rbp + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x18003fdbf
mov edx, 0xffff
movzx ebp, ax
mov rbx, qword [rsp + 0x68]
mov word [rbx + rbp*2 + 0x20000], dx
mov dword [rbx + rcx*4], eax
inc rax
cmp qword [rsp + 0xe0], rax
jne 0x18003fd94
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0xc8]
mov dword [rcx + 0x40020], eax
mov rdx, qword [rsp + 0x38]
imul eax, dword [rdx], 0x9e3779b1
shr eax, 0x11
mov r15d, dword [rcx + rax*4]
lea rax, [rdx + 4]
mov qword [rsp + 0xb8], rax
mov rbp, qword [rsp + 0x40]
movzx eax, bp
mov ecx, ebp
shr ecx, 0x10
xor ecx, eax
movzx eax, bpl
mov edx, ebp
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x168]
movabs rax, 0x100000001
imul rbp, rax
mov qword [rsp + 0xd8], rbp
mov rax, qword [rsp + 0x160]
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x160], rax
mov eax, 3
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor r12d, r12d
mov dword [rsp + 0x58], 0
xor r8d, r8d
mov r14d, dword [rsp + 0x2c]
cmp r15d, dword [rsp + 0x158]
jb 0x180041026
test r14d, r14d
jle 0x180041026
xor r11d, r11d
cmp byte [rsp + 0xf0], 0
je 0x180040041
mov ecx, dword [rsp + 0xc8]
sub ecx, r15d
cmp ecx, 8
jae 0x180040041
cmp r11d, dword [rsp + 0x50]
jne 0x18003ff5b
mov rax, qword [rsp + 0x50]
lea ecx, [rax + r15]
cmp ecx, dword [rsp + 0xc8]
ja 0x18003ff5b
cmp r11d, 4
jl 0x18003ff5b
lea ecx, [r11 - 3]
xor ebp, ebp
mov ebx, 0x10
mov edx, 1
mov edi, edx
lea edx, [r15 + rbp]
movzx edx, dx
mov rsi, qword [rsp + 0x68]
movzx edx, word [rsi + rdx*2 + 0x20000]
lea esi, [rbx + 1]
sar ebx, 4
cmp edi, edx
mov eax, 0x10
cmovb esi, eax
cmova edx, edi
cmovb r8d, ebp
mov edi, ebx
add edi, ebp
mov ebp, edi
mov ebx, esi
cmp edi, ecx
jl 0x18003fef3
xor ecx, ecx
cmp r15d, edx
setb bl
mov ebp, edx
mov edi, 0
cmovb ebp, edi
cmp edx, 2
cmovb ebp, edi
sub r15d, ebp
cmp edx, 1
jbe 0x18003ff5b
mov cl, bl
or ecx, 2
mov qword [rsp + 0x50], r11
jmp 0x18004025f
movzx ecx, r15w
mov rdx, qword [rsp + 0x68]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x180040246
test r8d, r8d
jne 0x180040246
cmp dword [rsp + 0x58], 0
je 0x180040200
cmp dword [rsp + 0x58], 2
jne 0x180040246
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x158]
jb 0x180040246
mov rax, qword [rsp + 0x60]
mov ecx, eax
sub ecx, r15d
cmp ecx, 3
jb 0x180040246
cmp r9d, dword [rsp + 0x60]
mov rbp, qword [rsp + 0xc0]
cmovb rbp, qword [rsp + 0x118]
mov r11d, r9d
mov dword [rsp + 0x58], 2
mov rax, qword [rsp + 0x40]
cmp dword [rbp + r11], eax
jne 0x180040246
lea r10, [r11 + rbp]
cmp r9d, dword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
cmovb r15, qword [rsp + 0x110]
lea r8, [r10 + 4]
lea rdx, [r15 - 7]
mov rax, r8
cmp r8, rdx
jae 0x18004199c
lea rcx, [r11 + rbp]
add rcx, 4
mov rax, r8
mov rdi, qword [rax]
xor rdi, qword [rsp + 0xd8]
jne 0x180040270
add rax, 8
add rcx, 8
cmp rax, rdx
jb 0x18004001e
jmp 0x18004199c
mov rbp, qword [rsp + 0x60]
sub ebp, r15d
jbe 0x18004015f
cmp r15d, dword [rsp + 0x138]
ja 0x18003fec0
mov ecx, r15d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x18003fec0
mov rax, qword [rsp + 0x38]
add rax, rbp
mov rdx, qword [rsp + 0x30]
cmp rax, rdx
mov r9, rax
cmova r9, rdx
add rcx, 4
lea rbx, [r9 - 7]
cmp rbx, qword [rsp + 0xb8]
jbe 0x1800420a4
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
xor rdx, qword [rcx]
je 0x1800402ce
bsf r10, rdx
xor edi, edi
test rdx, rdx
sete dl
je 0x1800402d9
shr r10d, 3
lea r11d, [r10 + 4]
cmp rax, qword [rsp + 0x30]
jae 0x180040134
movsxd rcx, r10d
mov rax, qword [rsp + 0x38]
add rcx, rax
add rcx, 4
cmp rcx, r9
jne 0x180040134
mov rbx, r9
mov rcx, qword [rsp + 0xb0]
cmp qword [rsp + 0x48], r9
jbe 0x180040543
mov rcx, qword [r9]
mov rax, qword [rsp + 0xb0]
xor rcx, qword [rax]
je 0x180040527
bsf rbx, rcx
xor edx, edx
test rcx, rcx
sete cl
je 0x180040531
shr ebx, 3
add r11d, ebx
cmp r11d, dword [rsp + 0x50]
jle 0x18003fec0
mov eax, r15d
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov eax, r11d
mov qword [rsp + 0x50], rax
jmp 0x18003fec0
mov ebx, r15d
add rbx, qword [rsp + 0xc0]
movsxd rcx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
movzx edx, word [rax + rcx - 1]
cmp dx, word [rcx + rbx - 1]
jne 0x18003fec0
mov rax, qword [rsp + 0x40]
cmp dword [rbx], eax
jne 0x18003fec0
lea rcx, [rbx + 4]
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x48], rax
jbe 0x1800420c8
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax]
xor rdx, qword [rcx]
je 0x1800404d3
bsf r11, rdx
xor ebp, ebp
test rdx, rdx
sete dl
je 0x1800404de
shr r11d, 3
add r11d, 4
mov rcx, qword [rsp + 0x50]
cmp r11d, ecx
mov rax, qword [rsp + 0x120]
cmovg rax, rbx
mov qword [rsp + 0x120], rax
cmovg ecx, r11d
mov qword [rsp + 0x50], rcx
jmp 0x18003fec0
mov dword [rsp + 0x58], 1
cmp byte [rsp + 0x168], 0
je 0x180040246
mov rax, qword [rsp + 0xb8]
mov r12, rax
cmp qword [rsp + 0x48], rax
jbe 0x1800419d3
mov rcx, qword [r12]
xor rcx, qword [rsp + 0xd8]
jne 0x1800402aa
add r12, 8
cmp r12, qword [rsp + 0x48]
jb 0x180040228
jmp 0x1800419d3
lea ecx, [r8 + r15]
movzx ecx, cx
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r15d, ecx
xor ecx, ecx
dec r14d
cmp ecx, 3
jne 0x18003fe85
jmp 0x180041026
bsf rax, rdi
shr rax, 3
add rax, rcx
sub rax, r8
mov r8d, eax
add r8, 4
cmp r9d, dword [rsp + 0x60]
jae 0x18004032d
lea rcx, [r10 + r8]
cmp rcx, r15
je 0x180040616
mov rsi, qword [rsp + 0xa0]
jmp 0x180040335
bsf rcx, rcx
shr rcx, 3
add r12, rcx
sub r12d, dword [rsp + 0xb8]
add r12, 4
mov dword [rsp + 0x58], 2
jmp 0x18003ff87
mov r10d, 0x40
jmp 0x1800400c1
mov dil, dl
mov rdx, qword [rsp + 0xb8]
lea r10, [rdx + rdi*8]
lea rcx, [rcx + rdi*8]
cmp r10, rbx
jae 0x180041a5f
mov rdx, qword [rsp + 0x150]
add edx, r10d
mov rdi, qword [r10]
xor rdi, qword [rcx]
jne 0x18004031d
add r10, 8
add rcx, 8
add edx, 8
cmp r10, rbx
jb 0x180040300
jmp 0x180041a5f
bsf r10, rdi
shr r10, 3
add r10d, edx
jmp 0x1800400d3
mov rsi, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x1dc], eax
lea rbx, [rsi + 4]
add rbp, r11
mov rdi, r10
mov rdx, rdi
mov rcx, rbp
cmp rdi, rbx
jb 0x180040368
lea rdi, [rdx - 4]
lea rbp, [rcx - 4]
mov rax, qword [rsp + 0x40]
cmp dword [rdx - 4], eax
je 0x18004034b
cmp rdx, rsi
jbe 0x18004039f
mov rax, rsi
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebp, ebp
mov al, byte [rdx + rbp - 1]
cmp al, byte [rsp + rbp + 0x1df]
jne 0x180040399
lea rax, [rdx + rbp]
dec rax
dec rbp
cmp rax, rsi
ja 0x18004037b
jmp 0x18004039f
add rdx, rbp
mov rcx, rdx
mov rax, r10
sub rax, rcx
cmp r9d, dword [rsp + 0x60]
jb 0x18004044f
mov ecx, eax
sub r10, rcx
cmp r10, qword [rsp + 0xb0]
jne 0x18004044f
mov rcx, qword [rsp + 0xf8]
cmp ecx, dword [rsp + 0x60]
jae 0x18004044f
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x130]
cmp rbp, 4
jl 0x180041a8f
add rbp, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x180040401
add rbx, 4
mov rcx, rbx
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x180040441
dec rcx
dec rdx
cmp rcx, qword [rsp + 0xa0]
ja 0x18004042a
mov rdx, qword [rsp + 0x110]
sub edx, ecx
add edx, eax
mov eax, edx
mov r15d, r9d
sub r15d, eax
mov eax, dword [rsp + 0x158]
cmp r15d, eax
cmovbe r15d, eax
mov edx, r9d
sub edx, r15d
add rdx, r8
cmp r8, r12
ja 0x1800404a7
cmp rdx, r12
jb 0x1800404a7
sub r9d, r12d
add r9d, r8d
mov eax, r9d
not eax
mov rcx, qword [rsp + 0x60]
add eax, ecx
cmp eax, 3
cmovb r9d, ecx
xor r8d, r8d
mov ecx, 2
mov dword [rsp + 0x58], 2
mov r15d, r9d
jmp 0x18004025f
mov ebp, r15d
not ebp
add ebp, dword [rsp + 0x60]
xor r8d, r8d
mov ecx, 2
cmp ebp, 3
jae 0x1800405a4
mov dword [rsp + 0x58], 2
mov r15, qword [rsp + 0x60]
jmp 0x18004025f
mov r11d, 0x40
jmp 0x1800401c0
mov bpl, dl
mov rax, qword [rsp + 0xb8]
lea r11, [rax + rbp*8]
lea rcx, [rcx + rbp*8]
cmp r11, qword [rsp + 0x48]
jae 0x180041ca9
mov rax, qword [rsp + 0x150]
lea edx, [rax + r11]
mov rbp, qword [r11]
xor rbp, qword [rcx]
jne 0x180040585
add r11, 8
add rcx, 8
add edx, 8
cmp r11, qword [rsp + 0x48]
jb 0x180040508
jmp 0x180041ca9
mov ebx, 0x40
jmp 0x180040120
mov dl, cl
lea rbx, [r9 + rdx*8]
mov rax, qword [rsp + 0xb0]
lea rcx, [rax + rdx*8]
cmp rbx, qword [rsp + 0x48]
jae 0x180041d05
add rbp, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x30]
cmp rdx, rbp
cmovb rbp, rdx
mov edx, ebx
sub edx, ebp
mov rbp, qword [rbx]
xor rbp, qword [rcx]
jne 0x180040595
add rbx, 8
add rcx, 8
add edx, 8
cmp rbx, qword [rsp + 0x48]
jb 0x180040566
jmp 0x180041d05
bsf r11, rbp
shr r11, 3
add r11d, edx
jmp 0x1800401d2
bsf rbx, rbp
shr rbx, 3
add ebx, edx
jmp 0x180040131
cmp rdx, r12
cmovae rdx, r12
movsxd rax, dword [rsp + 0x50]
cmp rdx, rax
jbe 0x1800405e5
mov eax, r15d
mov rbp, qword [rsp + 0x160]
sub rbp, rax
cmp rbp, 0xffff
ja 0x180041026
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x50], rdx
movzx eax, r15w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r8d, r8d
cmp r15d, edx
cmovb edx, r8d
jb 0x180041026
sub r15d, edx
mov dword [rsp + 0x58], 2
jmp 0x18004025f
lea ecx, [r8*8]
mov rsi, qword [rsp + 0x40]
mov edx, esi
rol edx, cl
test al, 3
cmove edx, esi
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x180041440
mov rcx, qword [rax]
xor rcx, rdx
jne 0x180040668
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x180040650
jmp 0x180041440
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb0]
add r8, rax
jmp 0x18004029d
cmp byte [rax], dl
jne 0x18004027b
inc rax
shr rdx, 8
dec rcx
jne 0x180040682
jmp 0x180041d9d
mov eax, dword [rsp + 0x198]
cmp eax, dword [rsp + 0xe8]
jle 0x18004102f
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
sub rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x60]
lea edx, [rax + rcx]
cmp dword [rsp + 0x100], edx
mov qword [rsp + 0x160], rcx
lea eax, [rax + rcx - 0xffff]
cmova eax, dword [rsp + 0xf8]
mov dword [rsp + 0x158], eax
mov eax, dword [rbp]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xc8], edx
cmp dword [rsp + 0x58], edx
jae 0x180040750
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
imul ecx, dword [rcx + rax], 0x9e3779b1
shr ecx, 0x11
mov edx, eax
mov rbp, qword [rsp + 0x68]
sub edx, dword [rbp + rcx*4]
mov ebp, 0xffff
cmp edx, ebp
jb 0x180040730
mov edx, 0xffff
movzx ebp, ax
mov rbx, qword [rsp + 0x68]
mov word [rbx + rbp*2 + 0x20000], dx
mov dword [rbx + rcx*4], eax
inc rax
cmp qword [rsp + 0xe0], rax
jne 0x180040705
mov rax, qword [rsp + 0x78]
mov ebx, eax
sub ebx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0xc8]
mov dword [rcx + 0x40020], eax
mov rdx, qword [rsp + 0x38]
imul eax, dword [rdx], 0x9e3779b1
shr eax, 0x11
mov r15d, dword [rcx + rax*4]
lea rax, [rdx + 4]
mov qword [rsp + 0xb8], rax
mov rbp, qword [rsp + 0x40]
movzx eax, bp
mov ecx, ebp
shr ecx, 0x10
xor ecx, eax
movzx eax, bpl
mov edx, ebp
shr edx, 0x18
xor edx, eax
or edx, ecx
sete byte [rsp + 0x168]
movabs rax, 0x100000001
imul rbp, rax
mov qword [rsp + 0xd8], rbp
mov rax, qword [rsp + 0x160]
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x160], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor r14d, r14d
mov dword [rsp + 0x58], 0
xor r12d, r12d
mov r10d, dword [rsp + 0x2c]
mov dword [rsp + 0x188], ebx
mov eax, ebx
mov qword [rsp + 0x50], rax
cmp r15d, dword [rsp + 0x158]
jb 0x180041099
test r10d, r10d
jle 0x180041099
xor r11d, r11d
cmp byte [rsp + 0xf0], 0
je 0x1800409ca
mov ecx, dword [rsp + 0xc8]
sub ecx, r15d
cmp ecx, 8
jae 0x1800409ca
cmp r11d, dword [rsp + 0x50]
jne 0x1800408e4
mov rax, qword [rsp + 0x50]
lea ecx, [rax + r15]
cmp ecx, dword [rsp + 0xc8]
ja 0x1800408e4
cmp r11d, 4
jl 0x1800408e4
lea ecx, [r11 - 3]
xor ebp, ebp
mov esi, 0x10
mov edx, 1
mov edi, edx
lea edx, [r15 + rbp]
movzx edx, dx
mov rbx, qword [rsp + 0x68]
movzx edx, word [rbx + rdx*2 + 0x20000]
lea ebx, [rsi + 1]
sar esi, 4
cmp edi, edx
mov eax, 0x10
cmovb ebx, eax
cmova edx, edi
cmovb r12d, ebp
mov edi, esi
add edi, ebp
mov ebp, edi
mov esi, ebx
cmp edi, ecx
jl 0x18004087a
xor ecx, ecx
cmp r15d, edx
setb r9b
mov esi, edx
mov ebp, 0
cmovb esi, ebp
cmp edx, 2
cmovb esi, ebp
sub r15d, esi
cmp edx, 1
jbe 0x1800408e4
mov cl, r9b
or ecx, 2
mov qword [rsp + 0x50], r11
jmp 0x180040be9
movzx ecx, r15w
mov rdx, qword [rsp + 0x68]
cmp word [rdx + rcx*2 + 0x20000], 1
jne 0x180040bd0
test r12d, r12d
jne 0x180040bd0
cmp dword [rsp + 0x58], 0
je 0x180040b8b
cmp dword [rsp + 0x58], 2
jne 0x180040bd0
lea r8d, [r15 - 1]
cmp r8d, dword [rsp + 0x158]
jb 0x180040bd0
mov rax, qword [rsp + 0x60]
mov ecx, eax
sub ecx, r15d
cmp ecx, 3
jb 0x180040bd0
cmp r8d, dword [rsp + 0x60]
mov rbp, qword [rsp + 0xc0]
cmovb rbp, qword [rsp + 0x118]
mov r11d, r8d
mov dword [rsp + 0x58], 2
mov rax, qword [rsp + 0x40]
cmp dword [rbp + r11], eax
jne 0x180040bd0
lea r15, [r11 + rbp]
cmp r8d, dword [rsp + 0x60]
mov r9, qword [rsp + 0x30]
cmovb r9, qword [rsp + 0x110]
lea rdx, [r15 + 4]
lea rsi, [r9 - 7]
mov rax, rdx
cmp rdx, rsi
jae 0x180041a11
lea rdi, [r11 + rbp]
add rdi, 4
mov rax, rdx
mov rcx, qword [rax]
xor rcx, qword [rsp + 0xd8]
jne 0x180040bfa
add rax, 8
add rdi, 8
cmp rax, rsi
jb 0x1800409a7
jmp 0x180041a11
mov r9, qword [rsp + 0x60]
sub r9d, r15d
jbe 0x180040ae9
cmp r15d, dword [rsp + 0x138]
ja 0x180040843
mov ecx, r15d
sub ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x180040843
mov rax, qword [rsp + 0x38]
lea rdi, [rax + r9]
mov rdx, qword [rsp + 0x30]
cmp rdi, rdx
mov r8, rdi
cmova r8, rdx
add rcx, 4
lea rbx, [r8 - 7]
cmp rbx, qword [rsp + 0xb8]
jbe 0x1800420bb
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rax]
xor rsi, qword [rcx]
je 0x180040c58
bsf rdx, rsi
xor ebp, ebp
test rsi, rsi
sete sil
je 0x180040c62
shr edx, 3
lea r11d, [rdx + 4]
cmp rdi, qword [rsp + 0x30]
jae 0x180040abe
movsxd rcx, edx
mov rax, qword [rsp + 0x38]
add rcx, rax
add rcx, 4
cmp rcx, r8
jne 0x180040abe
mov rdx, r8
mov rcx, qword [rsp + 0xb0]
cmp qword [rsp + 0x48], r8
jbe 0x180040ecc
mov rcx, qword [r8]
mov rax, qword [rsp + 0xb0]
xor rcx, qword [rax]
je 0x180040eaf
bsf rdx, rcx
xor ebp, ebp
test rcx, rcx
sete cl
je 0x180040eb9
shr edx, 3
add r11d, edx
cmp r11d, dword [rsp + 0x50]
jle 0x180040843
mov eax, r15d
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov eax, r11d
mov qword [rsp + 0x50], rax
jmp 0x180040843
mov ebp, r15d
add rbp, qword [rsp + 0xc0]
movsxd rcx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
movzx edx, word [rax + rcx - 1]
cmp dx, word [rcx + rbp - 1]
jne 0x180040843
mov rax, qword [rsp + 0x40]
cmp dword [rbp], eax
jne 0x180040843
lea rcx, [rbp + 4]
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x48], rax
jbe 0x1800420df
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax]
xor rdx, qword [rcx]
je 0x180040e5b
bsf r11, rdx
xor esi, esi
test rdx, rdx
sete dl
je 0x180040e66
shr r11d, 3
add r11d, 4
mov rcx, qword [rsp + 0x50]
cmp r11d, ecx
mov rax, qword [rsp + 0x120]
cmovg rax, rbp
mov qword [rsp + 0x120], rax
cmovg ecx, r11d
mov qword [rsp + 0x50], rcx
jmp 0x180040843
mov dword [rsp + 0x58], 1
cmp byte [rsp + 0x168], 0
je 0x180040bd0
mov rax, qword [rsp + 0xb8]
mov r14, rax
cmp qword [rsp + 0x48], rax
jbe 0x180041a52
mov rcx, qword [r14]
xor rcx, qword [rsp + 0xd8]
jne 0x180040c34
add r14, 8
cmp r14, qword [rsp + 0x48]
jb 0x180040bb3
jmp 0x180041a52
lea ecx, [r12 + r15]
movzx ecx, cx
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rdx + rcx*2 + 0x20000]
sub r15d, ecx
xor ecx, ecx
dec r10d
cmp ecx, 3
jne 0x180040808
jmp 0x180041099
bsf rax, rcx
shr rax, 3
add rax, rdi
sub rax, rdx
mov r12d, eax
add r12, 4
cmp r8d, dword [rsp + 0x60]
jae 0x180040cb5
lea rcx, [r15 + r12]
cmp rcx, r9
je 0x180040fa0
mov rbx, qword [rsp + 0xa0]
jmp 0x180040cbd
bsf rcx, rcx
shr rcx, 3
add r14, rcx
sub r14d, dword [rsp + 0xb8]
add r14, 4
mov dword [rsp + 0x58], 2
jmp 0x180040910
mov edx, 0x40
jmp 0x180040a4b
mov bpl, sil
mov rax, qword [rsp + 0xb8]
lea rdx, [rax + rbp*8]
lea rcx, [rcx + rbp*8]
cmp rdx, rbx
jae 0x180041ad7
mov rax, qword [rsp + 0x150]
lea ebp, [rax + rdx]
mov rsi, qword [rdx]
xor rsi, qword [rcx]
jne 0x180040ca6
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, rbx
jb 0x180040c89
jmp 0x180041ad7
bsf rdx, rsi
shr rdx, 3
add edx, ebp
jmp 0x180040a5d
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x1dc], eax
lea rsi, [rbx + 4]
add rbp, r11
mov rdi, r15
mov rdx, rdi
mov rcx, rbp
cmp rdi, rsi
jb 0x180040cf0
lea rdi, [rdx - 4]
lea rbp, [rcx - 4]
mov rax, qword [rsp + 0x40]
cmp dword [rdx - 4], eax
je 0x180040cd3
cmp rdx, rbx
jbe 0x180040d27
mov rax, rbx
sub rax, rcx
mov rcx, rax
add rcx, rdx
xor ebp, ebp
mov al, byte [rdx + rbp - 1]
cmp al, byte [rsp + rbp + 0x1df]
jne 0x180040d21
lea rax, [rdx + rbp]
dec rax
dec rbp
cmp rax, rbx
ja 0x180040d03
jmp 0x180040d27
add rdx, rbp
mov rcx, rdx
mov rax, r15
sub rax, rcx
cmp r8d, dword [rsp + 0x60]
jb 0x180040dd7
mov ecx, eax
sub r15, rcx
cmp r15, qword [rsp + 0xb0]
jne 0x180040dd7
mov rcx, qword [rsp + 0xf8]
cmp ecx, dword [rsp + 0x60]
jae 0x180040dd7
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x130]
cmp rbp, 4
jl 0x180041b06
add rbp, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rdi
je 0x180040d89
add rdi, 4
mov rcx, rdi
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x180040dc9
dec rcx
dec rdx
cmp rcx, qword [rsp + 0xa0]
ja 0x180040db2
mov rdx, qword [rsp + 0x110]
sub edx, ecx
add edx, eax
mov eax, edx
mov r15d, r8d
sub r15d, eax
mov eax, dword [rsp + 0x158]
cmp r15d, eax
cmovbe r15d, eax
mov edx, r8d
sub edx, r15d
add rdx, r12
cmp r12, r14
ja 0x180040e2f
cmp rdx, r14
jb 0x180040e2f
sub r8d, r14d
add r8d, r12d
mov eax, r8d
not eax
mov rcx, qword [rsp + 0x60]
add eax, ecx
cmp eax, 3
cmovb r8d, ecx
xor r12d, r12d
mov ecx, 2
mov dword [rsp + 0x58], 2
mov r15d, r8d
jmp 0x180040be9
mov ebp, r15d
not ebp
add ebp, dword [rsp + 0x60]
xor r12d, r12d
mov ecx, 2
cmp ebp, 3
jae 0x180040f2e
mov dword [rsp + 0x58], 2
mov r15, qword [rsp + 0x60]
jmp 0x180040be9
mov r11d, 0x40
jmp 0x180040b4b
mov sil, dl
mov rax, qword [rsp + 0xb8]
lea r11, [rax + rsi*8]
lea rcx, [rcx + rsi*8]
cmp r11, qword [rsp + 0x48]
jae 0x180041e9f
mov rax, qword [rsp + 0x150]
lea edx, [rax + r11]
mov rsi, qword [r11]
xor rsi, qword [rcx]
jne 0x180040f0f
add r11, 8
add rcx, 8
add edx, 8
cmp r11, qword [rsp + 0x48]
jb 0x180040e90
jmp 0x180041e9f
mov edx, 0x40
jmp 0x180040aaa
mov bpl, cl
lea rdx, [r8 + rbp*8]
mov rax, qword [rsp + 0xb0]
lea rcx, [rax + rbp*8]
cmp rdx, qword [rsp + 0x48]
jae 0x180041efb
add r9, qword [rsp + 0x1a8]
mov rbp, qword [rsp + 0x30]
cmp rbp, r9
cmovb r9, rbp
mov ebp, edx
sub ebp, r9d
mov rsi, qword [rdx]
xor rsi, qword [rcx]
jne 0x180040f1f
add rdx, 8
add rcx, 8
add ebp, 8
cmp rdx, qword [rsp + 0x48]
jb 0x180040ef0
jmp 0x180041efb
bsf r11, rsi
shr r11, 3
add r11d, edx
jmp 0x180040b5d
bsf rdx, rsi
shr rdx, 3
add edx, ebp
jmp 0x180040abb
cmp rdx, r14
cmovae rdx, r14
movsxd rax, dword [rsp + 0x50]
cmp rdx, rax
jbe 0x180040f6f
mov eax, r15d
mov rbp, qword [rsp + 0x160]
sub rbp, rax
cmp rbp, 0xffff
ja 0x180041099
add rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x50], rdx
movzx eax, r15w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
xor r12d, r12d
cmp r15d, edx
cmovb edx, r12d
jb 0x180041099
sub r15d, edx
mov dword [rsp + 0x58], 2
jmp 0x180040be9
lea ecx, [r12*8]
mov rbx, qword [rsp + 0x40]
mov edx, ebx
rol edx, cl
test al, 3
cmove edx, ebx
movabs rax, 0x100000001
imul rdx, rax
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rcx, qword [rsp + 0x48]
jae 0x1800419bf
mov rcx, qword [rax]
xor rcx, rdx
jne 0x180040ff2
add rax, 8
cmp rax, qword [rsp + 0x48]
jb 0x180040fda
jmp 0x1800419bf
bsf rcx, rcx
shr rcx, 3
add rax, rcx
sub eax, dword [rsp + 0xb0]
add r12, rax
jmp 0x180040c27
cmp byte [rax], sil
jne 0x180040c05
inc rax
shr rsi, 8
dec rdi
jne 0x18004100c
jmp 0x180041f92
cmp dword [rsp + 0x50], 3
jg 0x1800410a6
jmp 0x18004103a
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0xe0]
inc eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x150]
dec eax
mov qword [rsp + 0x150], rax
inc qword [rsp + 0x1a8]
add qword [rsp + 0x170], 0x10
inc qword [rsp + 0xa8]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x78], eax
jg 0x18003fc73
jmp 0x180041454
mov eax, dword [rsp + 0x188]
cmp dword [rsp + 0x50], eax
jle 0x18004103a
mov rdx, qword [rsp + 0x50]
mov eax, edx
add eax, 0xffffffed
shl rdx, 0x20
cmp eax, 0x12
mov rcx, rdx
movabs rax, 0x1200000000
cmovb rcx, rax
cmp byte [rsp + 0xf0], 0
cmove rcx, rdx
mov r12, rcx
shr r12, 0x20
je 0x18004103a
mov rax, qword [rsp + 0x120]
sub qword [rsp + 0x38], rax
sar rcx, 0x20
cmp rcx, qword [rsp + 0x1b0]
ja 0x1800419fc
mov rax, qword [rsp + 0x80]
lea ecx, [r12 + rax]
cmp ecx, 0xfff
jg 0x1800419fc
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x148]
movsxd r15, dword [rcx + rax + 0xc]
lea edx, [r15 - 0xf]
mov ecx, 0x80808081
imul rdx, rcx
shr rdx, 0x27
lea ebx, [r15 + 1]
cmp r15, 0xf
lea r8d, [rdx + r15 + 1]
cmovl r8d, r15d
mov rax, qword [rsp + 0xe8]
mov edx, eax
sub edx, r8d
mov ebp, ebx
cmp r15, 0xd
jle 0x18004117b
lea ebp, [r15 - 0xe]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 2
add ebp, edx
cmp ebp, dword [rsp + 0x198]
jge 0x1800411af
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x140]
lea rdi, [rcx + rax]
movabs rsi, 0x100000000
mov qword [rcx + rax + 4], rsi
mov dword [rcx + rax + 0xc], ebx
mov dword [rdi], ebp
lea ebx, [r15 + 2]
mov ebp, ebx
cmp r15d, 0xd
jl 0x1800411d2
lea ebp, [r15 - 0xd]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 3
add ebp, edx
mov rax, qword [rsp + 0x80]
lea rdi, [rax + 2]
shl rdi, 4
mov rcx, qword [rsp + 0xd0]
cmp ebp, dword [rcx + rdi]
jge 0x180041213
mov rcx, qword [rsp + 0xd0]
lea r9, [rcx + rdi]
movabs rsi, 0x100000000
mov qword [rcx + rdi + 4], rsi
mov dword [rcx + rdi + 0xc], ebx
mov dword [r9], ebp
lea ebx, [r15 + 3]
mov ebp, ebx
cmp r15d, 0xc
jl 0x180041236
lea ebp, [r15 - 0xc]
mov ecx, 0x80808081
imul rbp, rcx
shr rbp, 0x27
add ebp, r15d
add ebp, 4
add ebp, edx
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 3]
shl rdx, 4
mov rcx, qword [rsp + 0xd0]
cmp ebp, dword [rcx + rdx]
jge 0x180041276
mov rcx, qword [rsp + 0xd0]
lea rdi, [rcx + rdx]
movabs rsi, 0x100000000
mov qword [rcx + rdx + 4], rsi
mov dword [rcx + rdx + 0xc], ebx
mov dword [rdi], ebp
cmp r12d, 3
jle 0x18004139e
lea r11d, [r12 + 1]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x148]
mov r14d, dword [rcx + rax + 8]
mov rax, qword [rsp + 0x80]
mov edx, eax
sub edx, r15d
movsxd r9, edx
shl r9, 4
add r9, rcx
lea r10d, [r8 + 3]
add r8d, 4
mov edx, 4
mov rdi, qword [rsp + 0x170]
cmp r14d, 1
jne 0x18004130c
xor ebp, ebp
cmp qword [rsp + 0x80], r15
jle 0x1800412db
mov ebp, dword [r9]
mov esi, r10d
cmp rdx, 0x13
jb 0x180041305
lea rsi, [rdx - 0x13]
movsxd rsi, esi
imul rbx, rsi, 0xffffffff80808081
shr rbx, 0x20
add esi, ebx
mov ebx, esi
shr ebx, 0x1f
sar esi, 7
add esi, ebx
add esi, r8d
add esi, ebp
mov ebp, r15d
jmp 0x180041341
mov esi, 3
cmp rdx, 0x13
jb 0x180041338
lea rsi, [rdx - 0x13]
movsxd rsi, esi
imul rbx, rsi, 0xffffffff80808081
shr rbx, 0x20
add esi, ebx
mov ebx, esi
sar ebx, 7
shr esi, 0x1f
add esi, ebx
add esi, 4
add esi, dword [rsp + 0xe8]
xor ebp, ebp
mov rcx, qword [rsp + 0x78]
add ecx, 3
mov rbx, qword [rsp + 0xa8]
add rbx, rdx
add rbx, 0xfffffffffffffffc
cmp ecx, ebx
jl 0x180041369
mov ecx, dword [rdi]
add ecx, dword [rsp + 0x190]
cmp esi, ecx
jg 0x18004138e
mov rcx, qword [rsp + 0x78]
cmp ecx, ebx
cmovge ebx, ecx
cmp r12, rdx
cmovne ebx, ecx
mov dword [rdi + 8], edx
mov rax, qword [rsp + 0x38]
mov dword [rdi + 4], eax
mov dword [rdi + 0xc], ebp
mov dword [rdi], esi
mov qword [rsp + 0x78], rbx
inc rdx
add rdi, 0x10
cmp r11, rdx
jne 0x1800412c6
movsxd rax, dword [rsp + 0x78]
shl rax, 4
mov rbp, qword [rsp + 0xd0]
movabs rbx, 0x100000000
mov qword [rbp + rax + 0x14], rbx
mov dword [rbp + rax + 0x1c], 1
mov ecx, dword [rbp + rax]
lea edx, [rcx + 1]
mov dword [rbp + rax + 0x10], edx
mov qword [rbp + rax + 0x24], rbx
mov dword [rbp + rax + 0x2c], 2
lea edx, [rcx + 2]
mov dword [rbp + rax + 0x20], edx
mov qword [rbp + rax + 0x34], rbx
mov dword [rbp + rax + 0x3c], 3
add ecx, 3
mov dword [rbp + rax + 0x30], ecx
jmp 0x18004103a
cmp r12, qword [rsp + 0x30]
jae 0x1800402b5
cmp byte [r12], cl
jne 0x1800402b5
inc r12
shr rcx, 8
jmp 0x1800413fe
cmp r14, qword [rsp + 0x30]
jae 0x180040c3f
cmp byte [r14], cl
jne 0x180040c3f
inc r14
shr rcx, 8
jmp 0x18004141c
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x180040673
cmp byte [rax], dl
je 0x180041439
jmp 0x180040673
movsxd rdx, dword [rsp + 0x78]
mov rax, rdx
shl rax, 4
mov rcx, qword [rsp + 0xd0]
mov ebp, dword [rcx + rax + 4]
mov qword [rsp + 0x38], rbp
mov r12d, dword [rcx + rax + 8]
sub edx, r12d
mov qword [rsp + 0x80], rdx
movsxd rax, dword [rsp + 0x80]
mov rdx, rax
shl rdx, 4
mov rsi, qword [rsp + 0xd0]
mov ebx, dword [rsi + rdx + 8]
cmp eax, ebx
mov ebp, ebx
mov edi, 0
cmovl ebp, edi
mov edi, dword [rsi + rdx + 4]
mov ecx, eax
sub ecx, ebp
mov qword [rsp + 0x80], rcx
mov dword [rsi + rdx + 8], r12d
mov rcx, qword [rsp + 0x38]
mov dword [rsi + rdx + 4], ecx
mov r12d, ebx
mov ecx, edi
mov qword [rsp + 0x38], rcx
cmp eax, ebx
jge 0x180041481
cmp dword [rsp + 0x78], 0
jle 0x18003fa03
mov r14d, dword [rsp + 0x78]
xor eax, eax
mov qword [rsp + 0xd8], rax
mov r15, qword [rsp + 0x70]
movsxd rdi, dword [rsp + 0xd8]
mov rsi, rdi
shl rsi, 4
add rsi, qword [rsp + 0x128]
mov rax, r15
mov rdx, qword [rsp + 0x88]
sub rax, rdx
lea rbx, [rax - 0x10e]
mov ecx, r15d
shl cl, 4
shl dl, 4
sub cl, dl
xor r12d, r12d
mov ebp, dword [rsi]
cmp rbp, 1
jne 0x180041556
add rsi, 0x10
lea rdx, [rdi + r12]
inc rdx
inc r12
inc rbx
add cl, 0x10
inc rax
cmp rdx, r14
jl 0x18004152d
jmp 0x1800417f9
mov rdi, r15
movabs rdx, 0x8080808080808081
mul rdx
sub rdi, qword [rsp + 0x88]
mov qword [rsp + 0x50], rdi
mov eax, dword [rsi - 4]
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x260], 0
je 0x1800415b2
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x50]
add rax, rdi
shr rdx, 7
add rdx, rax
lea rax, [r12 + rdx]
add rax, 9
cmp rax, qword [rsp + 0x90]
ja 0x180041c9c
mov rax, qword [rsp + 0xd8]
mov eax, eax
add rax, rbp
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x98]
inc rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x50]
add rax, r12
cmp rax, 0xf
jb 0x180041696
mov rax, qword [rsp + 0x50]
lea rdx, [rax + r12]
add rdx, 0xfffffffffffffff1
mov rax, qword [rsp + 0x98]
mov byte [rax], 0xf0
cmp rdx, 0xff
jb 0x18004167f
mov rax, qword [rsp + 0x50]
lea rdi, [rax + r12]
add rdi, 0xfffffffffffffef2
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 7
lea r8, [rsi + 1]
mov rcx, qword [rsp + 0xa0]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x98]
add rax, rsi
add rax, 2
mov qword [rsp + 0xa0], rax
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
mov rax, rdx
shl rax, 8
sub rdx, rax
add rdx, rdi
mov rax, qword [rsp + 0xa0]
mov byte [rax], dl
inc rax
mov qword [rsp + 0xa0], rax
jmp 0x1800416a0
mov rax, qword [rsp + 0x98]
mov byte [rax], cl
movsxd rdi, ebp
add qword [rsp + 0xd8], r12
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa0]
lea r8, [rdx + rax]
add r8, 2
lea rcx, [rdx + rax]
lea rsi, [rcx + r12]
mov rax, qword [rsp + 0x88]
mov rbx, qword [rax]
mov qword [rdx], rbx
add rdx, 8
add rax, 8
cmp rdx, rsi
jb 0x1800416d0
lea rbx, [rdi - 4]
mov rax, rbx
movabs rdx, 0x8080808080808081
mul rdx
mov rax, qword [rsp + 0x60]
mov word [r8 + r12 - 2], ax
cmp dword [rsp + 0x260], 0
je 0x180041726
shr rdx, 7
lea rax, [rdx + rsi]
add rax, 8
cmp rax, qword [rsp + 0x90]
ja 0x180041c9c
add rcx, r12
add rcx, 2
cmp rbx, 0xf
jb 0x1800417bc
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
lea rax, [rdi - 0x13]
cmp rax, 0x1fe
jb 0x1800417a1
lea rax, [rdi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0xa0]
lea rax, [rax + rbx*2]
add rax, qword [rsp + 0x50]
lea rcx, [r12 + rax]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rdi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x1800417b5
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x1800417c6
mov rax, qword [rsp + 0x98]
add byte [rax], bl
mov qword [rsp + 0x98], rcx
add r15, rdi
lea rax, [r15 + r12]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xd8]
cmp eax, dword [rsp + 0x78]
jl 0x1800414ee
jmp 0x180041f9a
add r15, r12
mov qword [rsp + 0x70], r15
jmp 0x18003fa03
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x100000000
mov qword [rax + 0x24], rcx
mov dword [rax + 0x2c], edx
mov dword [rax + 0x20], edx
mov ecx, 0xf
cmp dword [rsp + 0x38], 0xc
je 0x18003faf2
mov rax, qword [rsp + 0x38]
lea ecx, [rax + 3]
mov edx, ecx
jmp 0x18003fb0c
mov rax, qword [rsp + 0x38]
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
mov rax, qword [rsp + 0x38]
lea rcx, [rax + rbp]
mov rax, qword [rsp + 0x88]
mov rdx, rbp
mov rbx, qword [rax]
mov qword [rdx], rbx
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x180041867
mov rax, qword [rsp + 0x78]
lea rbx, [rax - 4]
mov rax, rbx
movabs rdx, 0x8080808080808081
mul rdx
mov word [rcx], r14w
cmp dword [rsp + 0x260], 0
je 0x1800418bb
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x90]
ja 0x180041b76
add rcx, 2
cmp rbx, 0xf
jb 0x180041950
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
mov rax, qword [rsp + 0x78]
add rax, 0xffffffffffffffed
cmp rax, 0x1fe
jb 0x180041935
mov rsi, qword [rsp + 0x78]
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbx, rdx
shr rbx, 8
lea r8, [rbx + rbx]
add r8, 2
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x38]
lea rax, [rax + rbx*2]
lea rcx, [rax + rbp]
add rcx, 4
imul rax, rbx, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180041949
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18004195a
mov rax, qword [rsp + 0x98]
add byte [rax], bl
mov rdx, qword [rsp + 0x70]
add rdx, qword [rsp + 0x78]
mov rax, rdx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x98], rcx
jmp 0x18003fa03
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x18003f8b0
cmp byte [rax], dl
je 0x180041981
jmp 0x18003f8b0
cmp rax, r15
jae 0x18004027b
mov rcx, r15
sub rcx, rax
mov rdx, qword [rsp + 0xd8]
jmp 0x180040682
inc rax
shr rdx, 8
cmp rax, qword [rsp + 0x30]
jae 0x180040ffd
cmp byte [rax], dl
je 0x1800419b8
jmp 0x180040ffd
mov rcx, qword [rsp + 0xd8]
jmp 0x1800413fe
cmp rax, r10
jae 0x18003f4bf
mov rcx, r10
sub rcx, rax
mov rbx, qword [rsp + 0xd8]
jmp 0x18003f8bf
mov rax, qword [rsp + 0x80]
lea ecx, [rax + 1]
mov qword [rsp + 0x78], rcx
jmp 0x180041481
cmp rax, r9
jae 0x180040c05
mov rdi, r9
sub rdi, rax
mov rsi, qword [rsp + 0xd8]
jmp 0x18004100c
mov rcx, qword [rsp + 0xd8]
cmp r11, qword [rsp + 0x30]
jae 0x18003f4f9
cmp byte [r11], cl
jne 0x18003f4f9
inc r11
shr rcx, 8
jmp 0x180041a35
mov rcx, qword [rsp + 0xd8]
jmp 0x18004141c
lea rdx, [r9 - 3]
cmp r10, rdx
jb 0x180041d59
lea rdx, [r9 - 1]
cmp r10, rdx
jb 0x180041d71
cmp r10, r9
jb 0x180041d8b
sub r10d, dword [rsp + 0xb8]
jmp 0x1800400d3
test rbp, rbp
jg 0x180040422
jmp 0x180040441
lea rbp, [r8 - 3]
cmp rdx, rbp
jb 0x180041e55
lea rbp, [r8 - 1]
cmp rdx, rbp
jb 0x180041e6c
cmp rdx, r8
jb 0x180041e85
sub edx, dword [rsp + 0x78]
jmp 0x18003f31d
test rcx, rcx
jg 0x18003f65f
jmp 0x18003f67e
lea rsi, [r8 - 3]
cmp rdx, rsi
jb 0x180041f50
lea rsi, [r8 - 1]
cmp rdx, rsi
jb 0x180041f67
cmp rdx, r8
jb 0x180041f80
sub edx, dword [rsp + 0xb8]
jmp 0x180040a5d
test rbp, rbp
jg 0x180040daa
jmp 0x180040dc9
mov eax, edi
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
mov rbx, qword [rsp + 0x98]
inc rbx
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add ebx, edi
sub esi, dword [rsp + 0x178]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], esi
sub ebx, dword [rsp + 0x1a0]
mov r14d, ebx
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, qword [rsp + 0x68]
jmp 0x1800420ec
movsxd rax, r14d
mov qword [rsp + 0x60], rax
mov rbp, qword [rsp + 0x78]
xor r14d, r14d
cmp dword [rsp + 0x260], 2
jne 0x180041b5e
mov rdi, qword [rsp + 0x70]
sub rdi, qword [rsp + 0x88]
lea rax, [rdi + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rdi
mov rax, qword [rsp + 0x90]
lea rcx, [rax - 3]
mov rax, qword [rsp + 0x98]
add rax, rdx
inc rax
cmp rax, rcx
ja 0x18003ed3e
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, ebp
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, qword [rsp + 0x90]
movsxd rsi, ecx
add rax, rsi
add rax, 5
cmp rax, 0xc
jl 0x18003ed3e
mov rax, qword [rsp + 0x98]
lea rbx, [rax + 1]
cmp rdi, 0xf
jb 0x180041fb2
lea rax, [rdi - 0xf]
mov rcx, qword [rsp + 0x98]
mov byte [rcx], 0xf0
cmp rax, 0xff
jb 0x180041c92
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, rbx
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rbp
shl rax, 8
mov rcx, qword [rsp + 0x98]
lea rbx, [rcx + rbp]
add rbx, 2
sub rbp, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [rbx], al
inc rbx
jmp 0x180041fc1
add r15, r12
mov qword [rsp + 0x70], r15
jmp 0x180041b83
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp r11, rdx
jae 0x180041cc6
mov edx, dword [rcx]
cmp edx, dword [r11]
jne 0x180041cc6
add r11, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp r11, rdx
jae 0x180041ce4
movzx edx, word [rcx]
cmp dx, word [r11]
jne 0x180041ce4
add r11, 2
add rcx, 2
cmp r11, qword [rsp + 0x30]
jae 0x180041cf8
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r11]
sete dl
add r11, rdx
sub r11d, dword [rsp + 0xb8]
jmp 0x1800401d2
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp rbx, rdx
jae 0x180041d21
mov edx, dword [rcx]
cmp edx, dword [rbx]
jne 0x180041d21
add rbx, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp rbx, rdx
jae 0x180041d3e
movzx edx, word [rcx]
cmp dx, word [rbx]
jne 0x180041d3e
add rbx, 2
add rcx, 2
cmp rbx, qword [rsp + 0x30]
jae 0x180041d51
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [rbx]
sete dl
add rbx, rdx
sub ebx, r9d
jmp 0x180040131
mov edx, dword [rcx]
cmp edx, dword [r10]
jne 0x180041a6c
add r10, 4
add rcx, 4
jmp 0x180041a6c
movzx edx, word [rcx]
cmp dx, word [r10]
jne 0x180041a79
add r10, 2
add rcx, 2
jmp 0x180041a79
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r10]
sete dl
add r10, rdx
jmp 0x180041a82
mov rax, r15
jmp 0x18004027b
mov rbp, qword [rsp + 0x30]
add rbp, 0xfffffffffffffffd
cmp r10, rbp
jae 0x180041dc2
mov ebp, dword [rcx]
cmp ebp, dword [r10]
jne 0x180041dc2
add r10, 4
add rcx, 4
mov rbp, qword [rsp + 0x30]
dec rbp
cmp r10, rbp
jae 0x180041de0
movzx ebp, word [rcx]
cmp bp, word [r10]
jne 0x180041de0
add r10, 2
add rcx, 2
cmp r10, qword [rsp + 0x30]
jae 0x180041df5
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [r10]
sete bpl
add r10, rbp
sub r10d, dword [rsp + 0x78]
jmp 0x18003f417
mov rsi, qword [rsp + 0x30]
lea rdi, [rsi - 3]
cmp rdx, rdi
jae 0x180041e1b
mov edi, dword [rcx]
cmp edi, dword [rdx]
jne 0x180041e1b
add rdx, 4
add rcx, 4
mov rsi, qword [rsp + 0x30]
lea rdi, [rsi - 1]
cmp rdx, rdi
jae 0x180041e39
movzx edi, word [rcx]
cmp di, word [rdx]
jne 0x180041e39
add rdx, 2
add rcx, 2
cmp rdx, qword [rsp + 0x30]
jae 0x180041e4d
mov cl, byte [rcx]
xor edi, edi
cmp cl, byte [rdx]
sete dil
add rdx, rdi
sub edx, r8d
jmp 0x18003f37b
mov ebp, dword [rcx]
cmp ebp, dword [rdx]
jne 0x180041aaa
add rdx, 4
add rcx, 4
jmp 0x180041aaa
movzx ebp, word [rcx]
cmp bp, word [rdx]
jne 0x180041ab7
add rdx, 2
add rcx, 2
jmp 0x180041ab7
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [rdx]
sete bpl
add rdx, rbp
jmp 0x180041ac0
mov rax, r10
jmp 0x18003f4bf
mov rdx, qword [rsp + 0x30]
add rdx, 0xfffffffffffffffd
cmp r11, rdx
jae 0x180041ebc
mov edx, dword [rcx]
cmp edx, dword [r11]
jne 0x180041ebc
add r11, 4
add rcx, 4
mov rdx, qword [rsp + 0x30]
dec rdx
cmp r11, rdx
jae 0x180041eda
movzx edx, word [rcx]
cmp dx, word [r11]
jne 0x180041eda
add r11, 2
add rcx, 2
cmp r11, qword [rsp + 0x30]
jae 0x180041eee
mov cl, byte [rcx]
xor edx, edx
cmp cl, byte [r11]
sete dl
add r11, rdx
sub r11d, dword [rsp + 0xb8]
jmp 0x180040b5d
mov rbp, qword [rsp + 0x30]
add rbp, 0xfffffffffffffffd
cmp rdx, rbp
jae 0x180041f17
mov ebp, dword [rcx]
cmp ebp, dword [rdx]
jne 0x180041f17
add rdx, 4
add rcx, 4
mov rbp, qword [rsp + 0x30]
dec rbp
cmp rdx, rbp
jae 0x180041f34
movzx ebp, word [rcx]
cmp bp, word [rdx]
jne 0x180041f34
add rdx, 2
add rcx, 2
cmp rdx, qword [rsp + 0x30]
jae 0x180041f48
mov cl, byte [rcx]
xor ebp, ebp
cmp cl, byte [rdx]
sete bpl
add rdx, rbp
sub edx, r8d
jmp 0x180040abb
mov esi, dword [rcx]
cmp esi, dword [rdx]
jne 0x180041ae4
add rdx, 4
add rcx, 4
jmp 0x180041ae4
movzx esi, word [rcx]
cmp si, word [rdx]
jne 0x180041af1
add rdx, 2
add rcx, 2
jmp 0x180041af1
mov cl, byte [rcx]
xor esi, esi
cmp cl, byte [rdx]
sete sil
add rdx, rsi
jmp 0x180041afa
mov rax, r9
jmp 0x180040c05
add r15, r12
mov rax, r15
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x88], r15
jmp 0x18003fa03
mov eax, edi
shl al, 4
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
lea rcx, [rbx + rdi]
mov rax, rbx
mov rbp, qword [rsp + 0x88]
mov rdx, qword [rbp]
mov qword [rax], rdx
add rax, 8
add rbp, 8
mov qword [rsp + 0x88], rbp
cmp rax, rcx
jb 0x180041fc8
mov rax, qword [rsp + 0x60]
mov word [rcx], ax
add rcx, 2
lea rax, [rsi - 4]
cmp rax, 0xf
jb 0x18004207d
mov rax, qword [rsp + 0x98]
add byte [rax], 0xf
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
jb 0x180042062
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
lea rax, [rdi + rbp*2]
lea rcx, [rbx + rax]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180042076
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x180042087
mov rdx, qword [rsp + 0x98]
add byte [rdx], al
mov rax, qword [rsp + 0x70]
add rax, rsi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rcx
jmp 0x18003ed3e
mov r10, qword [rsp + 0xb8]
jmp 0x1800402ec
mov rdx, qword [rsp + 0x78]
jmp 0x18003f52c
mov rdx, qword [rsp + 0xb8]
jmp 0x180040c75
mov r11, qword [rsp + 0xb8]
jmp 0x1800404f1
mov r10, qword [rsp + 0x78]
jmp 0x18003f731
mov r11, qword [rsp + 0xb8]
jmp 0x180040e79
test r14d, r14d
jle 0x180045aaa
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.18004bde0
mov eax, r14d
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add byte [r13], cl
mov r13, rsi
mov rax, rdx
cmp rdx, qword [rsp + 0x158]
ja 0x1800438f2
mov qword [rsp + 0x38], r10
mov r10, qword [r15 + 0x40008]
mov rcx, qword [r15 + 0x40010]
mov ebx, dword [r15 + 0x40018]
mov esi, dword [r15 + 0x4001c]
lea edx, [rsi + 0x10000]
mov dword [rsp + 0xe0], edx
mov rdx, rbx
sub rdx, rsi
mov rbp, r10
sub rbp, rbx
mov qword [rsp + 0xd8], rbp
mov ebp, dword [r15 + 0x40020]
mov dword [rsp + 0x50], ebp
lea r11d, [rbx + rax]
sub r11d, r10d
mov edi, 0xfffffffc
sub edi, eax
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x118], rdx
add rcx, rdx
mov qword [rsp + 0x108], rcx
mov rcx, rax
mov qword [rsp + 0xc8], r9
mov qword [rsp + 0xd0], rax
mov r9, rax
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rsp + 0x50]
mov rax, r9
sub rax, r10
lea edi, [rbx + rax]
cmp dword [rsp + 0xe0], edi
mov qword [rsp + 0x60], rax
lea r12d, [rbx + rax - 0xffff]
cmova r12d, esi
mov r11d, r11d
mov eax, dword [r9]
mov qword [rsp + 0xa0], rax
cmp ecx, edi
jae 0x180042264
mov ecx, ecx
mov rax, qword [rsp + 0xd8]
imul edx, dword [rax + rcx], 0x9e3779b1
shr edx, 0x11
mov ebp, ecx
sub ebp, dword [r15 + rdx*4]
cmp ebp, 0xffff
jb 0x18004224c
mov ebp, 0xffff
movzx eax, cx
mov word [r15 + rax*2 + 0x20000], bp
mov dword [r15 + rdx*4], ecx
inc rcx
cmp r11, rcx
jne 0x180042227
mov dword [r15 + 0x40020], edi
imul eax, dword [r9], 0x9e3779b1
shr eax, 0x11
mov ecx, dword [r15 + rax*4]
cmp ecx, r12d
mov dword [rsp + 0x50], edi
jb 0x1800423fa
test r8d, r8d
jle 0x1800423fa
add qword [rsp + 0x60], rbx
mov rax, r9
mov qword [rsp + 0x48], r9
lea rax, [r9 + 4]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0xa0]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0x58], rdx
xor eax, eax
mov qword [rsp + 0xf8], rax
mov edi, 3
mov r9d, r8d
xor eax, eax
mov qword [rsp + 0xb0], rax
mov ebp, ebx
sub ebp, ecx
ja 0x180043b58
mov r14d, ecx
add r14, qword [rsp + 0xd8]
movsxd rax, edi
mov rdx, qword [rsp + 0x48]
movzx edx, word [rdx + rax - 1]
cmp dx, word [rax + r14 - 1]
je 0x180042350
mov r14d, edi
movzx eax, cx
movzx edx, word [r15 + rax*2 + 0x20000]
cmp edx, 1
sete dil
cmp r8d, 0x80
jg 0x180042327
xor edi, edi
test dil, dil
jne 0x180043c93
mov edi, r14d
sub ecx, edx
cmp ecx, r12d
jb 0x1800423f0
lea eax, [r9 - 1]
cmp r9d, 1
mov r9d, eax
jg 0x1800422dc
jmp 0x1800423f0
mov rax, qword [rsp + 0xa0]
cmp dword [r14], eax
jne 0x180042306
lea r8, [r14 + 4]
mov rsi, qword [rsp + 0x78]
cmp qword [rsp + 0x40], rsi
jbe 0x1800437d2
mov r15, qword [rsi]
xor r15, qword [r8]
je 0x1800423db
mov r10d, edi
bsf rdx, r15
xor edi, edi
test r15, r15
sete al
je 0x1800432e2
shr edx, 3
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
add edx, 4
cmp edx, r10d
mov rax, qword [rsp + 0xc8]
cmovg rax, r14
mov qword [rsp + 0xc8], rax
cmovg r10d, edx
mov r14d, r10d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jmp 0x180042309
mov r10d, edi
mov edx, 0x40
jmp 0x180042380
cmp edi, 4
mov r9, qword [rsp + 0x48]
jge 0x180042430
inc r9
inc r11d
mov rax, qword [rsp + 0xc0]
dec eax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xf0]
inc rcx
cmp r9, qword [rsp + 0x158]
jbe 0x1800421e6
jmp 0x1800438e7
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x110], r9
mov eax, edi
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x38]
mov r12, r9
mov r9, rdx
mov qword [rsp + 0x80], r13
mov r10, qword [rsp + 0xe8]
mov r11d, edi
mov qword [rsp + 0x70], rcx
movsxd rax, edi
mov qword [rsp + 0xf8], rax
add rax, r12
cmp rax, qword [rsp + 0x158]
mov qword [rsp + 0xb8], rax
ja 0x180043808
lea rdx, [rax - 2]
mov rbp, qword [r15 + 0x40008]
mov esi, dword [r15 + 0x40018]
mov rcx, rdx
mov qword [rsp + 0x30], rdx
mov rcx, rbp
mov qword [rsp + 0x60], rbp
sub rdx, rbp
lea r8d, [rsi + rdx]
mov edi, dword [r15 + 0x4001c]
lea ecx, [rdi + 0x10000]
cmp ecx, r8d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0xa8], rdx
lea ecx, [rsi + rdx - 0xffff]
mov qword [rsp + 0xe8], rdi
cmova ecx, edi
mov dword [rsp + 0xd8], ecx
mov eax, dword [rax - 2]
mov qword [rsp + 0xc0], rax
mov ebp, dword [r15 + 0x40020]
cmp ebp, r8d
jae 0x180042567
mov edx, r8d
sub edx, ebp
mov rcx, rbp
test dl, 1
je 0x180042558
mov rcx, qword [rsp + 0x60]
sub rcx, qword [rsp + 0x48]
imul ecx, dword [rcx + rbp], 0x9e3779b1
shr ecx, 0x11
mov edx, ebp
sub edx, dword [r15 + rcx*4]
cmp edx, 0xffff
mov eax, 0xffff
cmovae edx, eax
movzx ebx, bp
mov word [r15 + rbx*2 + 0x20000], dx
mov dword [r15 + rcx*4], ebp
lea rcx, [rbp + 1]
mov edx, r8d
not rbp
add rbp, rdx
jne 0x180042910
mov rsi, qword [r15 + 0x40010]
mov dword [r15 + 0x40020], r8d
mov rcx, qword [rsp + 0x30]
imul eax, dword [rcx], 0x9e3779b1
shr eax, 0x11
mov r8d, dword [r15 + rax*4]
cmp r8d, dword [rsp + 0xd8]
jb 0x1800430c1
mov rax, qword [rsp + 0x48]
mov rdi, rax
mov rdx, qword [rsp + 0xe8]
sub rdi, rdx
neg rdx
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x150], rdi
lea rdx, [rsi + rdi]
mov qword [rsp + 0x190], rdx
mov rdx, rcx
sub rdx, r12
add qword [rsp + 0xa8], rax
mov qword [rsp + 0xe0], rdx
movsxd rdx, edx
neg rdx
mov qword [rsp + 0x50], rdx
mov rdx, r12
sub rdx, rcx
mov qword [rsp + 0x38], rdx
add rcx, 4
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rdx, qword [rsp + 0xc0]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0xa0], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0xf8]
lea rdx, [r12 + rcx]
add rdx, 0xfffffffffffffffd
mov edi, 0xfffffffe
sub edi, r11d
sub edi, r12d
mov qword [rsp + 0x108], rdi
lea rax, [r12 + rcx]
add rax, 0xfffffffffffffffe
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x120], rsi
lea rax, [rsi - 1]
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0xc8], r10
mov r10, rdx
xor eax, eax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0xb0], r11
mov edi, r11d
mov eax, dword [rsp + 0x2c]
mov r11d, eax
xor eax, eax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x58], r12
nop word cs:[rax + rax]
mov r14, r9
mov r15, qword [rsp + 0x48]
sub r15d, r8d
ja 0x180043db8
mov ebx, r8d
mov rax, qword [rsp + 0xa0]
lea rbp, [rax + rbx]
mov ecx, edi
movsxd rax, edi
movzx edi, word [r12 + rax - 1]
mov rdx, qword [rsp + 0x50]
lea rsi, [rdx + rbp]
cmp di, word [rax + rsi - 1]
jne 0x180042810
mov rax, qword [rsp + 0xc0]
cmp dword [rbp], eax
jne 0x180042810
cmp dword [rsp + 0xe0], 0
je 0x18004402a
mov rax, qword [rsp + 0x60]
sub rax, rbp
mov rdx, qword [rsp + 0x38]
cmp rdx, rax
cmovg rax, rdx
cdqe
mov r9d, eax
sar r9d, 0x1f
and r9d, eax
add rbx, qword [rsp + 0x78]
xor edi, edi
cmp rdi, rax
jle 0x1800434af
lea rsi, [rdi - 1]
movzx edx, byte [r10 + rdi]
cmp dl, byte [rbx + rdi]
mov rdi, rsi
je 0x180042745
mov r12, r10
inc esi
mov r9d, esi
lea r10, [rbp + 4]
mov rdx, qword [rsp + 0xf0]
cmp qword [rsp + 0x40], rdx
mov edi, ecx
jbe 0x1800436d8
mov rax, qword [rdx]
xor rax, qword [r10]
je 0x180042820
bsf r13, rax
xor esi, esi
test rax, rax
sete al
je 0x180042846
shr r13d, 3
mov r10, r12
mov r12, qword [rsp + 0x58]
sub r13d, r9d
add r13d, 4
cmp r13d, edi
jg 0x18004282b
movzx eax, r8w
mov rdx, qword [rsp + 0x68]
movzx ebp, word [rdx + rax*2 + 0x20000]
cmp ebp, 1
sete al
cmp dword [rsp + 0x2c], 0x80
jg 0x1800427d9
xor eax, eax
test al, al
jne 0x180043f1a
mov r9, r14
sub r8d, ebp
cmp r8d, dword [rsp + 0xd8]
mov r15, qword [rsp + 0x68]
jb 0x1800428a0
lea eax, [r11 - 1]
cmp r11d, 1
mov r11d, eax
jg 0x1800426c0
jmp 0x1800428a0
mov edi, ecx
jmp 0x1800427b6
mov r13d, 0x40
jmp 0x180042790
movsxd r14, r9d
add rbp, r14
add r14, qword [rsp + 0x30]
mov qword [rsp + 0xc8], rbp
mov edi, r13d
jmp 0x1800427b6
mov sil, al
lea r13, [rdx + rsi*8]
lea r10, [r10 + rsi*8]
cmp r13, qword [rsp + 0x40]
jae 0x180043678
mov rax, qword [rsp + 0x108]
lea ebx, [rax + r13]
mov rax, qword [r13]
xor rax, qword [r10]
jne 0x180042888
add r13, 8
add r10, 8
add ebx, 8
cmp r13, qword [rsp + 0x40]
jb 0x180042868
jmp 0x180043678
bsf r13, rax
shr r13, 3
add r13d, ebx
jmp 0x1800427a2
mov r11, qword [rsp + 0xb0]
cmp edi, r11d
je 0x180042f80
movsxd rax, dword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
cmp rdx, r12
setb cl
add rax, r12
cmp r9, rax
setb al
and al, cl
mov r14, r12
cmovne r14, rdx
mov rcx, r9
sub rcx, r14
mov r12, r9
mov rdx, qword [rsp + 0xc8]
mov r10, rdx
cmp rcx, 3
mov rcx, rdx
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
jl 0x18004246d
jmp 0x1800430ce
mov rbp, qword [rsp + 0x48]
neg rbp
mov rax, qword [rsp + 0x60]
add rbp, rax
inc rbp
jmp 0x18004294d
movzx eax, bx
mov word [r15 + rax*2 + 0x20000], di
mov dword [r15 + rsi*4], ebx
add rcx, 2
cmp rcx, rdx
je 0x180042567
imul ebx, dword [rbp + rcx - 1], 0x9e3779b1
shr ebx, 0x11
mov edi, ecx
sub edi, dword [r15 + rbx*4]
cmp edi, 0xffff
jb 0x18004296b
mov edi, 0xffff
movzx esi, cx
mov word [r15 + rsi*2 + 0x20000], di
mov dword [r15 + rbx*4], ecx
lea rbx, [rcx + 1]
imul esi, dword [rbp + rcx], 0x9e3779b1
shr esi, 0x11
mov eax, dword [r15 + rsi*4]
mov edi, ecx
sub edi, eax
inc edi
cmp edi, 0xffff
jb 0x180042930
mov edi, 0xffff
jmp 0x180042930
mov qword [rsp + 0x80], r13
cmp r11d, 0x12
mov eax, 0x12
cmovl eax, r11d
mov dword [rsp + 0x108], eax
movsxd r13, eax
add r13, r14
movsxd rax, r11d
mov qword [rsp + 0x198], rax
add rax, r14
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa8], r10
mov rax, r9
sub rax, r14
cmp rax, 0x11
jg 0x18004366b
mov rbp, rcx
movsxd rcx, edi
lea rdx, [r9 + rcx]
add rdx, 0xfffffffffffffffc
cmp r13, rdx
lea ecx, [rax + rcx - 4]
cmovbe ecx, dword [rsp + 0x108]
mov eax, r14d
sub eax, r9d
add eax, ecx
test eax, eax
jle 0x180042a26
mov ecx, eax
add r9, rcx
add rbp, rcx
sub edi, eax
mov qword [rsp + 0xe8], rbp
mov eax, edi
mov qword [rsp + 0x118], rax
cdqe
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r9
add rax, r9
cmp rax, qword [rsp + 0x158]
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rax
ja 0x180043896
lea r10, [rax - 3]
mov rdx, qword [r15 + 0x40008]
mov esi, dword [r15 + 0x40018]
mov rdi, r10
mov rcx, rdx
mov qword [rsp + 0xf0], rdx
sub rdi, rdx
lea r8d, [rsi + rdi]
mov edx, dword [r15 + 0x4001c]
lea ecx, [rdx + 0x10000]
cmp ecx, r8d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x110], rdi
lea ecx, [rsi + rdi - 0xffff]
mov qword [rsp + 0x120], rdx
cmova ecx, edx
mov dword [rsp + 0xa0], ecx
mov eax, dword [rax - 3]
mov qword [rsp + 0xe0], rax
mov ebp, dword [r15 + 0x40020]
cmp ebp, r8d
jae 0x180042b2d
mov edx, r8d
sub edx, ebp
mov rcx, rbp
test dl, 1
je 0x180042b1e
mov rcx, qword [rsp + 0xf0]
sub rcx, qword [rsp + 0x50]
imul ecx, dword [rcx + rbp], 0x9e3779b1
shr ecx, 0x11
mov edx, ebp
sub edx, dword [r15 + rcx*4]
mov eax, 0xffff
cmp edx, eax
cmovae edx, eax
movzx ebx, bp
mov word [r15 + rbx*2 + 0x20000], dx
mov dword [r15 + rcx*4], ebp
lea rcx, [rbp + 1]
mov edx, r8d
not rbp
add rbp, rdx
jne 0x180042ee4
mov rsi, qword [r15 + 0x40010]
mov dword [r15 + 0x40020], r8d
imul eax, dword [r10], 0x9e3779b1
shr eax, 0x11
mov rcx, r10
mov r10d, dword [r15 + rax*4]
cmp r10d, dword [rsp + 0xa0]
jb 0x180043649
mov rbp, qword [rsp + 0x50]
mov rdx, rbp
mov rax, qword [rsp + 0x120]
sub rdx, rax
neg rax
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b8], rdx
lea rax, [rsi + rdx]
mov qword [rsp + 0x168], rax
mov rax, rcx
mov rbx, qword [rsp + 0x38]
sub rax, rbx
add qword [rsp + 0x110], rbp
mov qword [rsp + 0x58], rax
cdqe
neg rax
mov qword [rsp + 0x60], rax
mov r9, rbx
sub r9, rcx
mov rax, rcx
mov qword [rsp + 0x150], rcx
lea rax, [rcx + 4]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0xf0]
sub rcx, rbp
mov rdx, qword [rsp + 0xe0]
movabs rax, 0x100000001
imul rdx, rax
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0xc0], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x30]
lea rax, [rbx + rcx - 4]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x118]
lea edx, [rax + rbx]
not edx
mov qword [rsp + 0x190], rdx
lea rcx, [rbx + rcx - 3]
mov qword [rsp + 0x160], rcx
mov rcx, qword [rsp + 0x170]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x148], rsi
lea rcx, [rsi - 1]
mov qword [rsp + 0x170], rcx
xor ecx, ecx
mov qword [rsp + 0x100], rcx
mov edi, eax
mov eax, dword [rsp + 0x2c]
mov r15d, eax
xor eax, eax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xb0], r11
nop
mov r11, qword [rsp + 0x50]
sub r11d, r10d
ja 0x1800444b2
mov ebx, r10d
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + rbx]
mov ecx, edi
movsxd rax, edi
mov rbp, qword [rsp + 0x38]
movzx ebp, word [rbp + rax - 1]
mov rdi, qword [rsp + 0x60]
add rdi, rdx
cmp bp, word [rax + rdi - 1]
jne 0x180042de0
mov rax, qword [rsp + 0xe0]
cmp dword [rdx], eax
jne 0x180042de0
cmp dword [rsp + 0x58], 0
je 0x1800449cb
mov rax, qword [rsp + 0xf0]
sub rax, rdx
cmp r9, rax
cmovg rax, r9
movsxd rbp, eax
mov r8d, ebp
sar r8d, 0x1f
and r8d, ebp
add rbx, qword [rsp + 0xf8]
xor edi, edi
cmp rdi, rbp
jle 0x180042d35
lea rsi, [rdi - 1]
mov rax, qword [rsp + 0xd8]
movzx eax, byte [rax + rdi]
cmp al, byte [rbx + rdi]
mov rdi, rsi
je 0x180042d13
inc esi
mov r8d, esi
lea rbx, [rdx + 4]
mov r12, qword [rsp + 0x78]
cmp qword [rsp + 0x40], r12
mov edi, ecx
jbe 0x180042e2e
mov rbp, qword [r12]
xor rbp, qword [rbx]
je 0x180042df0
bsf r12, rbp
xor esi, esi
test rbp, rbp
sete al
je 0x180042e1e
shr r12d, 3
sub r12d, r8d
add r12d, 4
cmp r12d, edi
jg 0x180042dfb
movzx eax, r10w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
cmp edx, 1
sete bpl
mov r8d, dword [rsp + 0x2c]
cmp r8d, 0x80
jg 0x180042da6
xor ebp, ebp
test bpl, bpl
jne 0x180044610
sub r10d, edx
cmp r10d, dword [rsp + 0xa0]
mov r11, qword [rsp + 0xb0]
jb 0x180042e7c
lea eax, [r15 - 1]
cmp r15d, 1
mov r15d, eax
jg 0x180042c90
jmp 0x180042e7c
mov edi, ecx
jmp 0x180042d7e
mov r12d, 0x40
jmp 0x180042d5c
movsxd rax, r8d
add rdx, rax
add rax, qword [rsp + 0x150]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xc8], rdx
mov edi, r12d
jmp 0x180042d7e
mov sil, al
mov rax, qword [rsp + 0x78]
lea r12, [rax + rsi*8]
lea rbx, [rbx + rsi*8]
mov rbp, r13
cmp r12, qword [rsp + 0x40]
jae 0x180043837
mov rax, qword [rsp + 0x190]
lea r13d, [rax + r12]
mov rsi, qword [r12]
xor rsi, qword [rbx]
jne 0x180042e69
add r12, 8
add rbx, 8
add r13d, 8
cmp r12, qword [rsp + 0x40]
jb 0x180042e48
jmp 0x180043837
bsf r12, rsi
shr r12, 3
add r12d, r13d
mov r13, rbp
jmp 0x180042d6e
cmp edi, dword [rsp + 0x118]
mov rsi, qword [rsp + 0x80]
mov r10, qword [rsp + 0xa8]
je 0x1800430f9
mov rcx, qword [rsp + 0xd0]
lea rax, [rcx + 3]
mov r9, qword [rsp + 0x48]
cmp r9, rax
mov r15, qword [rsp + 0x68]
jae 0x180043519
mov qword [rsp + 0x140], r9
mov rax, qword [rsp + 0xc8]
mov rdx, rax
mov qword [rsp + 0x170], rax
cmp r9, rcx
mov rcx, rax
jae 0x180043388
jmp 0x1800429e3
mov rbp, qword [rsp + 0x50]
neg rbp
mov rax, qword [rsp + 0xf0]
add rbp, rax
inc rbp
jmp 0x180042f1d
movzx eax, bx
mov word [r15 + rax*2 + 0x20000], di
mov dword [r15 + rsi*4], ebx
add rcx, 2
cmp rcx, rdx
je 0x180042b2d
imul ebx, dword [rbp + rcx - 1], 0x9e3779b1
shr ebx, 0x11
mov edi, ecx
sub edi, dword [r15 + rbx*4]
cmp edi, 0xffff
jb 0x180042f3b
mov edi, 0xffff
movzx esi, cx
mov word [r15 + rsi*2 + 0x20000], di
mov dword [r15 + rbx*4], ecx
lea rbx, [rcx + 1]
imul esi, dword [rbp + rcx], 0x9e3779b1
shr esi, 0x11
mov eax, dword [r15 + rsi*4]
mov edi, ecx
sub edi, eax
inc edi
cmp edi, 0xffff
jb 0x180042f00
mov edi, 0xffff
jmp 0x180042f00
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xe8], rax
mov r10, r9
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov rdi, r12
sub rdi, qword [rsp + 0xd0]
mov rax, rdi
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, r13
lea rax, [rdi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x138]
seta al
cmp dword [rsp + 0x260], 0
mov r9, qword [rsp + 0x70]
mov rbp, qword [rsp + 0xf8]
je 0x180044cc3
test al, al
jne 0x180044370
lea r14, [r13 + 1]
cmp rdi, 0xf
jae 0x1800434b7
mov eax, edi
shl al, 4
mov byte [r13], al
lea rsi, [r14 + rdi]
xor eax, eax
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx + rax]
mov qword [r14 + rax], rcx
lea rcx, [r14 + rax]
add rcx, 8
add rax, 8
cmp rcx, rsi
jb 0x180043015
mov ebx, r12d
sub ebx, r9d
lea rcx, [rbp - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
shr rdx, 7
lea rax, [rsi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x138]
seta al
mov word [rsi], bx
cmp dword [rsp + 0x260], 0
je 0x180044cca
test al, al
mov rdx, qword [rsp + 0xb8]
jne 0x180044370
add rsi, 2
cmp rcx, 0xf
jb 0x180042120
add byte [r13], 0xf
lea rax, [rbp - 0x13]
cmp rax, 0x1fe
jae 0x180043a3e
cmp rax, 0xff
jae 0x180043508
mov byte [rsi], al
inc rsi
jmp 0x180042124
mov qword [rsp + 0xe8], r10
jmp 0x180042f90
test al, al
mov rax, qword [rsp + 0x70]
cmovne rax, qword [rsp + 0x160]
mov qword [rsp + 0x70], rax
cmovne r11d, dword [rsp + 0x118]
mov r10, qword [rsp + 0xd0]
jmp 0x1800429a3
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x38]
mov eax, edx
sub eax, r14d
cmp rdx, rcx
cmovb r11d, eax
mov rbp, r14
sub rbp, r10
mov rax, rbp
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180043171
shr rdx, 7
add rdx, rsi
lea rax, [rdx + rbp]
add rax, 9
cmp rax, qword [rsp + 0x138]
ja 0x1800449e8
lea r15, [rsi + 1]
cmp rbp, 0xf
jae 0x1800437b4
mov eax, ebp
shl al, 4
mov byte [rsi], al
lea rdi, [r15 + rbp]
xor eax, eax
mov rcx, qword [r10 + rax]
lea rdx, [r15 + rax]
add rdx, 8
mov qword [rdx - 8], rcx
add rax, 8
cmp rdx, rdi
jb 0x18004318c
mov ebx, r14d
movsxd r12, r11d
lea rcx, [r12 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebx, r9d
mov word [rdi], bx
cmp dword [rsp + 0x260], 0
je 0x1800431ea
shr rdx, 7
lea rax, [rdi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x138]
ja 0x1800449e8
add rdi, 2
cmp rcx, 0xf
jae 0x1800436e0
add byte [rsi], cl
mov r10, qword [rsp + 0x30]
add r14, r12
mov rsi, qword [rsp + 0x38]
sub rsi, r14
mov rax, rsi
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x180043241
shr rdx, 7
add rdx, rdi
lea rax, [rsi + rdx]
add rax, 9
cmp rax, qword [rsp + 0x138]
ja 0x180045614
lea r15, [rdi + 1]
cmp rsi, 0xf
jae 0x1800455a6
mov eax, esi
shl al, 4
mov byte [rdi], al
add rsi, r15
mov rax, r14
mov rcx, r15
mov rdx, qword [rax]
mov qword [rcx], rdx
add rcx, 8
add rax, 8
cmp rcx, rsi
jb 0x18004325f
mov rax, qword [rsp + 0x38]
mov ebx, eax
lea rcx, [r10 - 4]
mov rax, rcx
movabs rdx, 0x8080808080808081
mul rdx
sub ebx, dword [rsp + 0xe8]
mov word [rsi], bx
cmp dword [rsp + 0x260], 0
je 0x1800432bb
shr rdx, 7
lea rax, [rsi + rdx]
add rax, 8
cmp rax, qword [rsp + 0x138]
ja 0x180045614
add rsi, 2
cmp rcx, 0xf
jae 0x1800434d7
add byte [rdi], cl
mov r15, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x38]
jmp 0x180042124
mov dil, al
lea rdx, [rsi + rdi*8]
lea r8, [r8 + rdi*8]
mov r15, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x40]
jae 0x18004331d
mov rax, qword [rsp + 0xc0]
add eax, edx
mov rdi, qword [rdx]
xor rdi, qword [r8]
jne 0x180043379
add rdx, 8
add r8, 8
add eax, 8
cmp rdx, qword [rsp + 0x40]
jb 0x180043303
cmp rdx, qword [rsp + 0x98]
jae 0x180043332
mov eax, dword [r8]
cmp eax, dword [rdx]
je 0x180043a12
cmp rdx, qword [rsp + 0x188]
jae 0x18004334d
movzx eax, word [r8]
cmp ax, word [rdx]
jne 0x18004334d
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x88]
jae 0x180043365
mov al, byte [r8]
xor edi, edi
cmp al, byte [rdx]
sete dil
add rdx, rdi
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
sub edx, esi
jmp 0x1800423a3
bsf rdx, rdi
shr rdx, 3
add edx, eax
jmp 0x180042396
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0xd0]
jb 0x18004370f
mov rbx, r14
sub rbx, r10
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x1800433d8
shr rdx, 7
add rdx, rsi
lea rax, [rbx + rdx]
add rax, 9
cmp rax, qword [rsp + 0x138]
ja 0x1800449e8
lea r12, [rsi + 1]
cmp rbx, 0xf
jae 0x180043818
mov eax, ebx
shl al, 4
mov byte [rsi], al
mov r10d, edi
lea r13, [r12 + rbx]
mov rax, qword [rsp + 0xa8]
mov rdx, r12
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, r13
jb 0x1800433ff
mov edi, r14d
mov rax, qword [rsp + 0x198]
lea rbp, [rax - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
sub edi, dword [rsp + 0x70]
mov word [r13], di
cmp dword [rsp + 0x260], 0
je 0x18004345e
shr rdx, 7
lea rax, [rdx + r13]
add rax, 8
cmp rax, qword [rsp + 0x138]
ja 0x1800449db
add r13, 2
cmp rbp, 0xf
mov edi, r10d
jae 0x180043751
add byte [rsi], bpl
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x160], rax
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x110], rdx
jmp 0x180042457
mov r12, r10
jmp 0x180042767
lea rax, [rdi - 0xf]
mov byte [r13], 0xf0
cmp rax, 0xff
jae 0x1800439a2
mov byte [r14], al
inc r14
jmp 0x18004300f
add byte [rdi], 0xf
lea rax, [r10 - 0x13]
cmp rax, 0x1fe
jae 0x180043ab7
mov r10, qword [rsp + 0x38]
cmp rax, 0xff
mov r15, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xb8]
jb 0x1800430b7
add rax, 0xffffffffffffff01
mov byte [rsi], 0xff
inc rsi
jmp 0x1800430b7
cmp qword [rsp + 0x38], rcx
jb 0x1800437dd
mov eax, r11d
mov dword [rsp + 0x108], r11d
mov rbx, r14
sub rbx, r10
mov rax, rbx
movabs rcx, 0x8080808080808081
mul rcx
cmp dword [rsp + 0x260], 0
je 0x18004356c
shr rdx, 7
add rdx, rsi
lea rax, [rbx + rdx]
add rax, 9
cmp rax, qword [rsp + 0x138]
ja 0x1800449d3
lea r13, [rsi + 1]
cmp rbx, 0xf
jae 0x180043a1f
mov eax, ebx
shl al, 4
mov byte [rsi], al
mov r8d, edi
lea rcx, [rbx + r13]
mov rax, r10
mov rdx, r13
mov rbp, qword [rax]
mov qword [rdx], rbp
add rdx, 8
add rax, 8
cmp rdx, rcx
jb 0x18004358e
mov edi, r14d
movsxd r12, dword [rsp + 0x108]
lea rbp, [r12 - 4]
mov rax, rbp
movabs rdx, 0x8080808080808081
mul rdx
sub edi, dword [rsp + 0x70]
mov word [rcx], di
cmp dword [rsp + 0x260], 0
je 0x1800435ec
shr rdx, 7
lea rax, [rcx + rdx]
add rax, 8
cmp rax, qword [rsp + 0x138]
ja 0x1800449d3
add rcx, 2
cmp rbp, 0xf
mov edi, r8d
jae 0x1800438b0
add byte [rsi], bpl
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xe8]
mov r10, r14
add r10, r12
mov r14, rdx
mov r13, rcx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x118]
mov r11d, eax
jmp 0x1800429a3
mov r8d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xa8]
jmp 0x180043123
mov qword [rsp + 0xe8], rcx
jmp 0x180042a2e
cmp r13, qword [rsp + 0x98]
jae 0x18004368f
mov eax, dword [r10]
cmp eax, dword [r13]
je 0x1800437fb
cmp r13, qword [rsp + 0x188]
jae 0x1800436ac
movzx eax, word [r10]
cmp ax, word [r13]
jne 0x1800436ac
add r13, 2
add r10, 2
cmp r13, qword [rsp + 0x88]
jae 0x1800436cd
mov al, byte [r10]
xor edx, edx
cmp al, byte [r13]
sete dl
add r13, rdx
mov rdx, qword [rsp + 0xf0]
mov r10, r12
sub r13d, edx
jmp 0x1800427a5
mov r13, rdx
jmp 0x180042851
add byte [rsi], 0xf
lea rax, [r12 - 0x13]
cmp rax, 0x1fe
mov r10, qword [rsp + 0x30]
jae 0x180045805
cmp rax, 0xff
jae 0x180043b1a
mov byte [rdi], al
inc rdi
jmp 0x1800431ff
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x38]
sub rax, rbx
mov rdx, qword [rsp + 0x118]
sub edx, eax
mov qword [rsp + 0x118], rdx
cmp edx, 3
jle 0x180043b3c
cdqe
add rbx, rax
mov qword [rsp + 0x38], rbx
add qword [rsp + 0xe8], rax
jmp 0x18004339b
add byte [rsi], 0xf
mov rsi, qword [rsp + 0x198]
lea rax, [rsi - 0x13]
cmp rax, 0x1fe
mov rdx, qword [rsp + 0x38]
jae 0x18004586a
cmp rax, 0xff
jae 0x1800458ca
mov byte [r13], al
inc r13
mov qword [rsp + 0x140], r9
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x160], rax
jmp 0x1800434a2
lea rax, [rbp - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x1800458dd
mov byte [r15], al
inc r15
jmp 0x180043186
mov r10d, edi
mov rdx, rsi
jmp 0x1800432f2
mov rax, qword [rsp + 0x38]
sub rax, r14
cmp rax, 0x11
jle 0x1800459ad
mov dword [rsp + 0x108], eax
jmp 0x18004352f
add r13, 4
add r10, 4
jmp 0x18004368f
mov qword [rsp + 0xe8], r10
mov r10, r9
jmp 0x180042fa0
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x180045a39
mov byte [r12], al
inc r12
jmp 0x1800433ed
cmp r12, qword [rsp + 0x98]
jae 0x180043aaf
mov eax, dword [rbx]
cmp eax, dword [r12]
mov r13, rbp
je 0x180043aa2
mov rcx, qword [rsp + 0x78]
cmp r12, qword [rsp + 0x188]
jae 0x180043875
movzx eax, word [rbx]
cmp ax, word [r12]
jne 0x180043875
add r12, 2
add rbx, 2
cmp r12, qword [rsp + 0x88]
jae 0x18004388e
mov al, byte [rbx]
xor esi, esi
cmp al, byte [r12]
sete sil
add r12, rsi
sub r12d, ecx
jmp 0x180042d6e
mov r8d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
jmp 0x180043123
add byte [rsi], 0xf
lea rax, [r12 - 0x13]
cmp rax, 0x1fe
jae 0x180045ad6
cmp rax, 0xff
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xe8]
jae 0x180043b2b
mov byte [rcx], al
inc rcx
jmp 0x18004360d
mov rdx, qword [rsp + 0xd0]
mov rsi, r13
mov rdi, qword [rsp + 0x1b0]
add rdi, qword [rsp + 0x178]
xor ecx, ecx
mov ebp, dword [rsp + 0x260]
cmp ebp, 2
sete bl
mov r12, rdx
sub rdi, rdx
lea rax, [rdi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
test ebp, ebp
je 0x180043957
shr rdx, 7
add rdx, rdi
mov cl, bl
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x138]
add rcx, rax
lea rax, [rsi + rdx]
inc rax
cmp rax, rcx
ja 0x180045a9d
mov rbx, rdi
lea rbp, [r12 + rdi]
cmp rdi, 0xf
jae 0x180045947
mov rdx, r12
mov eax, ebx
shl al, 4
mov byte [rsi], al
inc rsi
mov rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add esi, ebx
sub ebp, dword [rsp + 0x178]
mov rax, qword [rsp + 0x1c0]
mov dword [rax], ebp
sub esi, dword [rsp + 0x1a0]
mov r14d, esi
jmp 0x1800420ec
lea rax, [rdi - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov rcx, r14
mov dl, 0xff
mov rsi, r11
mov rbp, r10
call sub.VCRUNTIME140.dll_memset
mov r10, rbp
mov rbp, qword [rsp + 0xf8]
mov r11, rsi
mov r9, qword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x2c]
mov rax, rbx
shl rax, 8
lea r14, [rbx + r13]
add r14, 2
sub rbx, rax
lea rax, [rdi + rbx]
add rax, 0xfffffffffffffef2
jmp 0x1800434cc
add rdx, 4
add r8, 4
jmp 0x180043332
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jae 0x180045b2a
mov byte [r13], al
inc r13
jmp 0x180043581
lea rax, [rbp - 0x211]
movabs rcx, 0x8080808080808081
mov rbx, rdx
mul rcx
mov r12, rdx
shr r12, 8
lea r8, [r12 + r12]
add r8, 2
mov rcx, rsi
mov dl, 0xff
mov rsi, r10
call sub.VCRUNTIME140.dll_memset
mov r10, rsi
mov rdx, rbx
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x2c]
lea rax, [rdi + r12*2]
lea rsi, [r14 + rax]
add rsi, 4
imul rax, r12, 0xfffffffffffffe02
add rax, rbp
add rax, 0xfffffffffffffdef
jmp 0x1800430ab
add r12, 4
add rbx, 4
jmp 0x180043854
mov r13, rbp
jmp 0x180043854
lea rax, [r10 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov rcx, rsi
mov dl, 0xff
mov rbx, r10
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x2c]
mov r10, qword [rsp + 0x38]
lea rax, [r10 + rdi*2]
sub rax, r14
lea rsi, [r15 + rax]
add rsi, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, rbx
add rax, 0xfffffffffffffdef
jmp 0x1800434ef
add rax, 0xffffffffffffff01
mov byte [rdi], 0xff
inc rdi
jmp 0x180043705
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
jmp 0x1800438dd
mov qword [rsp + 0x38], r9
mov qword [rsp + 0xe8], rcx
mov eax, edi
mov qword [rsp + 0x118], rax
jmp 0x18004339b
mov r14d, edi
lea eax, [rbx - 4]
cmp ecx, eax
ja 0x180044035
mov esi, ecx
sub esi, dword [rsp + 0x70]
add rsi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xa0]
cmp dword [rsi], eax
jne 0x180044035
mov rax, qword [rsp + 0x48]
lea r10, [rax + rbp]
mov rax, qword [rsp + 0x88]
cmp r10, rax
mov rbx, r10
cmova rbx, rax
add rsi, 4
lea r15, [rbx - 7]
cmp r15, qword [rsp + 0x78]
jbe 0x1800457e0
mov rax, qword [rsp + 0x78]
mov r8, qword [rax]
xor r8, qword [rsi]
je 0x180044268
bsf rdx, r8
xor edi, edi
test r8, r8
sete al
je 0x180044272
shr edx, 3
lea eax, [rdx + 4]
mov dword [rsp + 0x110], eax
cmp r10, qword [rsp + 0x88]
jae 0x180043c42
movsxd rax, edx
mov rdx, qword [rsp + 0x48]
add rax, rdx
add rax, 4
cmp rax, rbx
jne 0x180043c42
mov r8, rbx
mov rsi, qword [rsp + 0x30]
cmp qword [rsp + 0x40], rbx
jbe 0x180044928
mov rdx, qword [rbx]
mov rax, qword [rsp + 0x30]
xor rdx, qword [rax]
je 0x18004490d
bsf r8, rdx
xor edi, edi
test rdx, rdx
sete al
je 0x180044918
shr r8d, 3
add dword [rsp + 0x110], r8d
cmp dword [rsp + 0x110], r14d
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jle 0x180042309
mov eax, ecx
add rax, qword [rsp + 0xd8]
mov qword [rsp + 0xc8], rax
mov r14d, dword [rsp + 0x110]
jmp 0x180042309
cmp dword [rsp + 0xf8], 0
je 0x180044065
cmp dword [rsp + 0xf8], 2
jne 0x18004411c
lea r10d, [rcx - 1]
cmp r10d, r12d
jb 0x18004411c
cmp ebp, 3
jb 0x18004411c
mov rsi, qword [rsp + 0xb8]
sub rsi, qword [rsp + 0x70]
cmp r10d, dword [rsp + 0xa8]
cmovae rsi, qword [rsp + 0xd8]
mov ebp, r10d
mov eax, 2
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xa0]
cmp dword [rsi + rbp], eax
jne 0x18004411c
mov r15, rbp
lea rbx, [rsi + rbp]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x118]
add rax, rcx
cmp r10d, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x110], rax
cmovb rdx, rax
lea rcx, [rbx + 4]
mov qword [rsp + 0xf8], rdx
lea rbp, [rdx - 7]
mov rdx, rcx
cmp rcx, rbp
jae 0x180043d78
lea r8, [rsi + r15]
add r8, 4
mov rdx, rcx
mov rdi, qword [rdx]
xor rdi, qword [rsp + 0x58]
jne 0x180044226
add rdx, 8
add r8, 8
cmp rdx, rbp
jb 0x180043d5d
cmp rdx, qword [rsp + 0xf8]
jae 0x180044231
mov r8, qword [rsp + 0xf8]
sub r8, rdx
mov rbp, qword [rsp + 0x58]
cmp byte [rdx], bpl
jne 0x180044231
inc rdx
shr rbp, 8
dec r8
jne 0x180043d96
mov rdx, qword [rsp + 0xf8]
jmp 0x180044231
mov qword [rsp + 0x100], r10
mov dword [rsp + 0x90], edi
mov rax, qword [rsp + 0x48]
add eax, 0xfffffffc
cmp r8d, eax
ja 0x18004404c
mov edi, r8d
sub edi, dword [rsp + 0xe8]
mov rax, qword [rsp + 0x120]
lea r13, [rax + rdi]
mov rax, qword [rsp + 0xc0]
cmp dword [r13], eax
jne 0x18004404c
mov rax, qword [rsp + 0x30]
lea r9, [rax + r15]
mov rax, qword [rsp + 0x88]
cmp r9, rax
mov r12, r9
cmova r12, rax
add r13, 4
lea r10, [r12 - 7]
cmp r10, qword [rsp + 0xf0]
jbe 0x1800457f8
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
xor rax, qword [r13]
je 0x1800443d3
bsf rbp, rax
xor esi, esi
test rax, rax
sete al
je 0x1800443dd
shr ebp, 3
lea r13d, [rbp + 4]
cmp r9, qword [rsp + 0x88]
jae 0x180043ebc
movsxd rax, ebp
mov rcx, qword [rsp + 0x30]
add rax, rcx
add rax, 4
cmp rax, r12
jne 0x180043ebc
mov r9, r12
mov rbp, qword [rsp + 0x60]
cmp qword [rsp + 0x40], r12
jbe 0x180044cec
mov rax, qword [r12]
mov rcx, qword [rsp + 0x60]
xor rax, qword [rcx]
je 0x180044cd1
bsf r9, rax
xor ebp, ebp
test rax, rax
sete al
je 0x180044cdc
shr r9d, 3
add r13d, r9d
cmp dword [rsp + 0xe0], 0
je 0x18004438b
mov rax, qword [rsp + 0x1a8]
lea rbx, [rax + rdi]
neg rdi
mov rax, qword [rsp + 0x38]
cmp rax, rdi
cmovg rdi, rax
movsxd rax, edi
mov ebp, eax
sar ebp, 0x1f
and ebp, eax
xor edi, edi
cmp rdi, rax
jle 0x18004438d
lea rsi, [rdi - 1]
mov rcx, qword [rsp + 0x100]
mov dl, byte [rcx + rdi]
cmp dl, byte [rbx + rdi]
mov rdi, rsi
je 0x180043ef1
inc esi
mov ebp, esi
jmp 0x18004438d
mov qword [rsp + 0x100], r10
mov dword [rsp + 0x90], edi
cmp dword [rsp + 0x130], 0
je 0x180044148
cmp dword [rsp + 0x130], 2
jne 0x18004420a
lea esi, [r8 - 1]
cmp esi, dword [rsp + 0xd8]
jb 0x18004420a
cmp r15d, 3
jb 0x18004420a
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x198]
lea r9, [rax + rcx]
cmp esi, dword [rsp + 0x48]
cmovae r9, qword [rsp + 0xa0]
mov r13d, esi
mov eax, 2
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0xc0]
cmp dword [r9 + r13], eax
jne 0x18004420a
lea r8, [r9 + r13]
cmp esi, dword [rsp + 0x48]
mov r10, qword [rsp + 0x88]
cmovb r10, qword [rsp + 0x190]
lea rcx, [r8 + 4]
lea rdx, [r10 - 7]
mov rbp, rcx
cmp rcx, rdx
jae 0x180043ff6
lea rbx, [r9 + r13]
add rbx, 4
mov rbp, rcx
mov rax, qword [rbp]
xor rax, qword [rsp + 0x148]
jne 0x180044337
add rbp, 8
add rbx, 8
cmp rbp, rdx
jb 0x180043fd7
cmp rbp, r10
jae 0x180044342
mov rdx, r10
sub rdx, rbp
mov rax, qword [rsp + 0x148]
cmp byte [rbp], al
jne 0x180044342
inc rbp
shr rax, 8
dec rdx
jne 0x18004400d
mov rbp, r10
jmp 0x180044342
mov r12, r10
xor r9d, r9d
jmp 0x180042767
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
jmp 0x1800423c4
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x58]
jmp 0x1800427b6
mov rbx, qword [rsp + 0xa0]
movzx eax, bx
mov edi, ebx
shr edi, 0x10
mov ebx, 1
mov qword [rsp + 0xf8], rbx
cmp eax, edi
jne 0x18004411c
mov rbx, qword [rsp + 0xa0]
mov eax, ebx
shr eax, 0x18
movzx edi, bl
cmp edi, eax
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jne 0x180042333
mov rax, qword [rsp + 0x78]
mov rbx, rax
cmp qword [rsp + 0x40], rax
jbe 0x1800440f1
mov rdi, qword [rbx]
xor rdi, qword [rsp + 0x58]
jne 0x180044307
add rbx, 8
cmp rbx, qword [rsp + 0x40]
jb 0x1800440d8
mov r8, qword [rsp + 0x58]
mov rax, rbx
cmp rbx, qword [rsp + 0x88]
jae 0x180044315
cmp byte [rax], r8b
jne 0x180044315
mov rbx, rax
inc rbx
shr r8, 8
jmp 0x1800440f6
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jmp 0x180042333
mov rcx, qword [rsp + 0xc0]
movzx eax, cx
mov edx, ecx
shr edx, 0x10
mov ecx, 1
mov qword [rsp + 0x130], rcx
cmp eax, edx
jne 0x18004420a
mov rcx, qword [rsp + 0xc0]
mov eax, ecx
shr eax, 0x18
movzx edx, cl
cmp edx, eax
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x58]
jne 0x1800427e4
mov rax, qword [rsp + 0xf0]
mov rcx, rax
cmp qword [rsp + 0x40], rax
jbe 0x1800441d0
mov rax, qword [rcx]
xor rax, qword [rsp + 0x148]
jne 0x180044482
mov rax, rcx
add rax, 8
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jb 0x1800441ae
mov rbx, qword [rsp + 0x148]
cmp rcx, qword [rsp + 0x88]
jae 0x18004448d
cmp byte [rcx], bl
jne 0x18004448d
mov rax, rcx
inc rax
shr rbx, 8
mov rcx, rax
cmp rax, qword [rsp + 0x88]
jb 0x1800441e6
jmp 0x18004448d
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x58]
jmp 0x1800427e4
bsf rdx, rdi
shr rdx, 3
add rdx, r8
sub rdx, rcx
mov r13d, edx
add r13, 4
cmp r10d, dword [rsp + 0xa8]
jae 0x180044733
lea rax, [rbx + r13]
cmp rax, qword [rsp + 0xf8]
je 0x180044f34
mov r8, qword [rsp + 0xb8]
jmp 0x180044738
mov edx, 0x40
jmp 0x180043bc7
mov dil, al
mov rax, qword [rsp + 0x78]
lea rdx, [rax + rdi*8]
lea rsi, [rsi + rdi*8]
cmp rdx, r15
jae 0x1800442ac
mov rax, qword [rsp + 0xc0]
lea r8d, [rax + rdx]
mov rdi, qword [rdx]
xor rdi, qword [rsi]
jne 0x1800442f7
add rdx, 8
add rsi, 8
add r8d, 8
cmp rdx, r15
jb 0x180044293
lea rax, [rbx - 3]
cmp rdx, rax
jae 0x1800442c3
mov eax, dword [rsi]
cmp eax, dword [rdx]
jne 0x1800442c3
add rdx, 4
add rsi, 4
lea rax, [rbx - 1]
cmp rdx, rax
jae 0x1800442dc
movzx eax, word [rsi]
cmp ax, word [rdx]
jne 0x1800442dc
add rdx, 2
add rsi, 2
cmp rdx, rbx
jae 0x1800442ee
mov al, byte [rsi]
xor edi, edi
cmp al, byte [rdx]
sete dil
add rdx, rdi
sub edx, dword [rsp + 0x78]
jmp 0x180043bd8
bsf rdx, rdi
shr rdx, 3
add edx, r8d
jmp 0x180043bd8
bsf rax, rdi
shr rax, 3
add rbx, rax
mov rax, rbx
sub eax, dword [rsp + 0x78]
add rax, 4
mov qword [rsp + 0xb0], rax
mov eax, 2
mov qword [rsp + 0xf8], rax
jmp 0x180043ca1
bsf rbp, rax
shr rbp, 3
add rbp, rbx
sub rbp, rcx
mov r15d, ebp
add r15, 4
cmp esi, dword [rsp + 0x48]
jae 0x180044b04
lea rax, [r8 + r15]
cmp rax, r10
je 0x18004507a
mov rdi, qword [rsp + 0x120]
jmp 0x180044b09
mov rbx, qword [rsp + 0xd0]
mov eax, r11d
mov dword [rsp + 0x108], r11d
mov rsi, r13
jmp 0x1800449f9
xor ebp, ebp
sub r13d, ebp
mov edi, dword [rsp + 0x90]
cmp r13d, edi
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x58]
jle 0x1800427b6
mov eax, r8d
add rax, qword [rsp + 0xa0]
movsxd r14, ebp
add rax, r14
mov qword [rsp + 0xc8], rax
add r14, qword [rsp + 0x30]
mov edi, r13d
jmp 0x1800427b6
mov ebp, 0x40
jmp 0x180043e4b
mov sil, al
mov rax, qword [rsp + 0xf0]
lea rbp, [rax + rsi*8]
lea r13, [r13 + rsi*8]
cmp rbp, r10
jae 0x18004441b
mov rax, qword [rsp + 0x108]
lea ebx, [rax + rbp]
mov rax, qword [rbp]
xor rax, qword [r13]
jne 0x180044473
add rbp, 8
add r13, 8
add ebx, 8
cmp rbp, r10
jb 0x180044401
lea rax, [r12 - 3]
cmp rbp, rax
jae 0x180044436
mov eax, dword [r13]
cmp eax, dword [rbp]
jne 0x180044436
add rbp, 4
add r13, 4
lea rax, [r12 - 1]
cmp rbp, rax
jae 0x180044453
movzx eax, word [r13]
cmp ax, word [rbp]
jne 0x180044453
add rbp, 2
add r13, 2
cmp rbp, r12
jae 0x180044467
mov al, byte [r13]
xor edx, edx
cmp al, byte [rbp]
sete dl
add rbp, rdx
sub ebp, dword [rsp + 0xf0]
jmp 0x180043e5c
bsf rbp, rax
shr rbp, 3
add ebp, ebx
jmp 0x180043e5c
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0xf0]
add rcx, 4
mov qword [rsp + 0x168], rcx
mov eax, 2
mov qword [rsp + 0x130], rax
jmp 0x180043f37
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x90], edi
mov rax, qword [rsp + 0x50]
add eax, 0xfffffffc
cmp r10d, eax
ja 0x180044d93
mov ecx, r10d
sub ecx, dword [rsp + 0x120]
mov rax, qword [rsp + 0x148]
lea r12, [rax + rcx]
mov rax, qword [rsp + 0xe0]
cmp dword [r12], eax
jne 0x180044d93
mov rax, qword [rsp + 0x150]
lea r8, [rax + r11]
mov rax, qword [rsp + 0x88]
cmp r8, rax
mov rdi, r8
cmova rdi, rax
add r12, 4
lea r13, [rdi - 7]
cmp r13, qword [rsp + 0x78]
jbe 0x180045a2f
mov rax, qword [rsp + 0x78]
mov rbx, qword [rax]
xor rbx, qword [r12]
je 0x180045238
bsf rdx, rbx
xor esi, esi
test rbx, rbx
sete al
je 0x180045242
shr edx, 3
lea r12d, [rdx + 4]
cmp r8, qword [rsp + 0x88]
jae 0x1800445ba
movsxd rax, edx
mov rdx, qword [rsp + 0x150]
add rax, rdx
add rax, 4
cmp rax, rdi
jne 0x1800445ba
mov r8, rdi
mov rbx, qword [rsp + 0xf0]
cmp qword [rsp + 0x40], rdi
jbe 0x180045503
mov rdx, qword [rdi]
mov rax, qword [rsp + 0xf0]
xor rdx, qword [rax]
je 0x1800454e5
bsf r8, rdx
xor esi, esi
test rdx, rdx
sete al
je 0x1800454f0
shr r8d, 3
add r12d, r8d
cmp dword [rsp + 0x58], 0
je 0x1800451ed
mov rax, qword [rsp + 0x170]
lea rbx, [rax + rcx]
neg rcx
cmp r9, rcx
cmovg rcx, r9
movsxd rbp, ecx
mov edx, ebp
sar edx, 0x1f
and edx, ebp
xor edi, edi
cmp rdi, rbp
jle 0x1800451ef
lea rsi, [rdi - 1]
mov rax, qword [rsp + 0xd8]
mov al, byte [rax + rdi]
cmp al, byte [rbx + rdi]
mov rdi, rsi
je 0x1800445e7
inc esi
mov edx, esi
jmp 0x1800451ef
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x90], edi
cmp dword [rsp + 0x100], 0
je 0x180044f8e
cmp dword [rsp + 0x100], 2
jne 0x18004504a
lea eax, [r10 - 1]
mov dword [rsp + 0x180], eax
cmp eax, dword [rsp + 0xa0]
jb 0x18004504a
cmp r11d, 3
jb 0x18004504a
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x1a8]
add rax, rcx
mov ecx, dword [rsp + 0x180]
cmp ecx, dword [rsp + 0x50]
cmovae rax, qword [rsp + 0xc0]
mov r12d, ecx
mov ecx, 2
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0xe0]
cmp dword [rax + r12], ecx
jne 0x18004504a
lea r10, [rax + r12]
mov ecx, dword [rsp + 0x180]
cmp ecx, dword [rsp + 0x50]
mov r13, qword [rsp + 0x88]
cmovb r13, qword [rsp + 0x168]
lea rbx, [r10 + 4]
lea rcx, [r13 - 7]
mov rdx, rbx
cmp rbx, rcx
jae 0x1800446ff
lea r8, [rax + r12]
add r8, 4
mov rdx, rbx
mov rsi, qword [rdx]
xor rsi, qword [rsp + 0x130]
jne 0x1800451ad
add rdx, 8
add r8, 8
cmp rdx, rcx
jb 0x1800446e1
cmp rdx, r13
jae 0x1800451b8
mov rcx, r13
sub rcx, rdx
mov rbp, qword [rsp + 0x130]
cmp byte [rdx], bpl
jne 0x1800451b8
inc rdx
shr rbp, 8
dec rcx
jne 0x180044716
mov rdx, r13
jmp 0x1800451b8
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x1dc], eax
lea rcx, [r8 + 4]
add rsi, r15
mov rdi, rbx
mov rdx, rdi
mov rbp, rsi
cmp rdi, rcx
jb 0x180044771
lea rdi, [rdx - 4]
lea rsi, [rbp - 4]
mov rax, qword [rsp + 0xa0]
cmp dword [rdx - 4], eax
je 0x180044751
cmp rdx, r8
jbe 0x1800447a8
mov rax, r8
sub rax, rbp
mov rbp, rax
add rbp, rdx
xor ecx, ecx
mov al, byte [rdx + rcx - 1]
cmp al, byte [rsp + rcx + 0x1df]
jne 0x1800447a2
lea rax, [rdx + rcx]
dec rax
dec rcx
cmp rax, r8
ja 0x180044784
jmp 0x1800447a8
add rdx, rcx
mov rbp, rdx
mov r8, rbx
sub r8, rbp
cmp r10d, dword [rsp + 0xa8]
jb 0x180044862
mov eax, r8d
sub rbx, rax
cmp rbx, qword [rsp + 0x30]
jne 0x180044862
mov rax, qword [rsp + 0xa8]
cmp dword [rsp + 0x70], eax
jae 0x180044862
mov eax, r8d
neg eax
mov ecx, eax
shl ecx, 3
mov rdx, qword [rsp + 0xa0]
mov ebp, edx
rol ebp, cl
test al, 3
cmove ebp, edx
mov dword [rsp + 0x1dc], ebp
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x118]
cmp rdx, 4
jl 0x1800457ad
add rdx, 0xfffffffffffffffc
lea rdi, [rcx - 4]
cmp dword [rcx - 4], ebp
mov rcx, rdi
je 0x180044811
add rdi, 4
mov rcx, rdi
lea rbp, [rsp + 0x1df]
mov al, byte [rcx - 1]
cmp al, byte [rbp]
jne 0x180044852
dec rcx
dec rbp
cmp rcx, qword [rsp + 0xb8]
ja 0x18004483a
mov rax, qword [rsp + 0x110]
sub eax, ecx
add eax, r8d
mov r8d, eax
mov ecx, r10d
sub ecx, r8d
cmp ecx, r12d
cmovbe ecx, r12d
mov edx, r10d
sub edx, ecx
add rdx, r13
cmp r13, qword [rsp + 0xb0]
ja 0x1800448e0
cmp rdx, qword [rsp + 0xb0]
jb 0x1800448e0
sub r10d, dword [rsp + 0xb0]
add r10d, r13d
mov eax, r10d
not eax
mov rbx, qword [rsp + 0xa8]
add eax, ebx
cmp eax, 3
cmovb r10d, ebx
mov eax, 2
mov qword [rsp + 0xf8], rax
mov ecx, r10d
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
jmp 0x180042335
mov eax, ecx
not eax
add eax, dword [rsp + 0xa8]
mov ebp, 2
mov qword [rsp + 0xf8], rbp
cmp eax, 3
jae 0x180044da7
mov rbx, qword [rsp + 0xa8]
mov ecx, ebx
jmp 0x1800448bc
mov r8d, 0x40
jmp 0x180043c28
mov dil, al
lea r8, [rbx + rdi*8]
mov rax, qword [rsp + 0x30]
lea rsi, [rax + rdi*8]
cmp r8, qword [rsp + 0x40]
jae 0x180044968
mov rax, qword [rsp + 0xf0]
add rax, rbp
mov rdx, qword [rsp + 0x88]
cmp rdx, rax
cmovb rax, rdx
mov edx, r8d
sub edx, eax
mov rdi, qword [r8]
xor rdi, qword [rsi]
jne 0x1800449bb
add r8, 8
add rsi, 8
add edx, 8
cmp r8, qword [rsp + 0x40]
jb 0x18004494e
cmp r8, qword [rsp + 0x98]
jae 0x180044981
mov eax, dword [rsi]
cmp eax, dword [r8]
jne 0x180044981
add r8, 4
add rsi, 4
cmp r8, qword [rsp + 0x188]
jae 0x18004499c
movzx eax, word [rsi]
cmp ax, word [r8]
jne 0x18004499c
add r8, 2
add rsi, 2
cmp r8, qword [rsp + 0x88]
jae 0x1800449b3
mov al, byte [rsi]
xor edx, edx
cmp al, byte [r8]
sete dl
add r8, rdx
sub r8d, ebx
jmp 0x180043c3a
bsf r8, rdi
shr r8, 3
add r8d, edx
jmp 0x180043c3a
xor r8d, r8d
jmp 0x180042d35
mov r12, r14
mov rbx, r10
jmp 0x1800449f9
mov r12, r14
mov rbx, qword [rsp + 0xa8]
jmp 0x1800449ee
mov r12, r14
mov rbx, r10
mov eax, r11d
mov dword [rsp + 0x108], r11d
xor r14d, r14d
cmp dword [rsp + 0x260], 2
mov r15, qword [rsp + 0x68]
jne 0x180045aaa
mov rbp, r12
sub rbp, rbx
lea rax, [rbp + 0xf0]
movabs rcx, 0x8080808080808081
mul rcx
shr rdx, 7
add rdx, rbp
mov rax, qword [rsp + 0x138]
lea rcx, [rax - 3]
lea rax, [rsi + rdx]
inc rax
cmp rax, rcx
ja 0x180044af7
sub rcx, rax
mov rdx, rcx
shl rdx, 8
sub rdx, rcx
add rdx, 0x12
movsxd rcx, dword [rsp + 0x108]
cmp rdx, rcx
cmovb ecx, edx
add rax, 2
not rax
add rax, qword [rsp + 0x138]
movsxd r15, ecx
add rax, r15
add rax, 5
cmp rax, 0xc
jl 0x180044af7
lea r14, [rsi + 1]
cmp rbp, 0xf
jb 0x1800450e8
lea rax, [rbp - 0xf]
mov byte [rsi], 0xf0
cmp rax, 0xff
jb 0x180044aec
lea rax, [rbp - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, r14
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
shl rax, 8
lea r14, [rdi + rsi]
add r14, 2
sub rdi, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
mov byte [r14], al
inc r14
jmp 0x1800450ef
mov r15, qword [rsp + 0x68]
mov rdx, rbx
jmp 0x1800438f2
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x1dc], eax
lea rax, [rdi + 4]
add r9, r13
mov rbp, r8
mov rdx, rbp
mov rbx, r9
cmp rbp, rax
jb 0x180044b42
lea rbp, [rdx - 4]
lea r9, [rbx - 4]
mov rcx, qword [rsp + 0xc0]
cmp dword [rdx - 4], ecx
je 0x180044b22
cmp rdx, rdi
jbe 0x180044b79
mov rax, rdi
sub rax, rbx
mov rbx, rax
add rbx, rdx
xor eax, eax
mov cl, byte [rdx + rax - 1]
cmp cl, byte [rsp + rax + 0x1df]
jne 0x180044b73
lea rbp, [rdx + rax]
dec rbp
dec rax
cmp rbp, rdi
ja 0x180044b55
jmp 0x180044b79
add rdx, rax
mov rbx, rdx
mov rbp, r8
sub rbp, rbx
cmp esi, dword [rsp + 0x48]
jb 0x180044c26
mov eax, ebp
sub r8, rax
cmp r8, qword [rsp + 0x60]
jne 0x180044c26
mov rax, qword [rsp + 0xe8]
cmp eax, dword [rsp + 0x48]
jae 0x180044c26
mov eax, ebp
neg eax
mov ecx, eax
shl ecx, 3
mov rbx, qword [rsp + 0xc0]
mov edx, ebx
rol edx, cl
test al, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x150]
cmp rax, 4
jl 0x1800457bb
add rax, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x180044bd8
add rbx, 4
mov rcx, rbx
lea rax, [rsp + 0x1df]
mov dl, byte [rcx - 1]
cmp dl, byte [rax]
jne 0x180044c18
dec rcx
dec rax
cmp rcx, qword [rsp + 0x120]
ja 0x180044c01
mov rax, qword [rsp + 0x190]
sub eax, ecx
add eax, ebp
mov ebp, eax
mov r8d, esi
sub r8d, ebp
mov eax, dword [rsp + 0xd8]
cmp r8d, eax
cmovbe r8d, eax
mov edx, esi
sub edx, r8d
add rdx, r15
cmp r15, qword [rsp + 0x168]
ja 0x180044c9d
cmp rdx, qword [rsp + 0x168]
jb 0x180044c9d
sub esi, dword [rsp + 0x168]
add esi, r15d
mov eax, esi
not eax
mov rcx, qword [rsp + 0x48]
add eax, ecx
cmp eax, 3
cmovb esi, ecx
mov eax, 2
mov qword [rsp + 0x130], rax
mov r8d, esi
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r10, qword [rsp + 0x100]
mov r12, qword [rsp + 0x58]
jmp 0x1800427e7
mov eax, r8d
not eax
add eax, dword [rsp + 0x48]
mov ecx, 2
mov qword [rsp + 0x130], rcx
cmp eax, 3
jae 0x180044e81
mov r8, qword [rsp + 0x48]
jmp 0x180044c81
xor eax, eax
jmp 0x180042ff0
xor eax, eax
jmp 0x180043078
mov r9d, 0x40
jmp 0x180043ea7
mov bpl, al
lea r9, [r12 + rbp*8]
mov rax, qword [rsp + 0x60]
lea rbp, [rax + rbp*8]
cmp r9, qword [rsp + 0x40]
jae 0x180044d2d
mov rax, qword [rsp + 0x1b8]
add rax, r15
mov rdx, qword [rsp + 0x88]
cmp rax, rdx
cmovae rax, rdx
mov ebx, r9d
sub ebx, eax
mov rax, qword [r9]
xor rax, qword [rbp]
jne 0x180044d83
add r9, 8
add rbp, 8
add ebx, 8
cmp r9, qword [rsp + 0x40]
jb 0x180044d12
cmp r9, qword [rsp + 0x98]
jae 0x180044d47
mov eax, dword [rbp]
cmp eax, dword [r9]
jne 0x180044d47
add r9, 4
add rbp, 4
cmp r9, qword [rsp + 0x188]
jae 0x180044d63
movzx eax, word [rbp]
cmp ax, word [r9]
jne 0x180044d63
add r9, 2
add rbp, 2
cmp r9, qword [rsp + 0x88]
jae 0x180044d7b
mov al, byte [rbp]
xor edx, edx
cmp al, byte [r9]
sete dl
add r9, rdx
sub r9d, r12d
jmp 0x180043eb9
bsf r9, rax
shr r9, 3
add r9d, ebx
jmp 0x180043eb9
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042d7e
mov rax, qword [rsp + 0xb0]
cmp rdx, rax
cmovae rdx, rax
movsxd rax, r14d
cmp rdx, rax
jbe 0x180044e0e
mov ebp, ecx
mov rax, qword [rsp + 0x60]
sub rax, rbp
cmp rax, 0xffff
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
ja 0x1800423f0
add rbp, qword [rsp + 0xd8]
mov qword [rsp + 0xc8], rbp
mov r14d, edx
movzx eax, cx
mov rdx, qword [rsp + 0x68]
movzx eax, word [rdx + rax*2 + 0x20000]
xor edx, edx
cmp ecx, eax
cmovae edx, eax
jb 0x180044e55
sub ecx, edx
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jmp 0x180042335
mov r15, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x2c]
mov r13, qword [rsp + 0x80]
mov edi, r14d
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa8]
jmp 0x1800423f0
cmp dword [rsp + 0xe0], 0
jne 0x180044c81
mov rax, qword [rsp + 0x168]
cmp rdx, rax
cmovae rdx, rax
movsxd rax, dword [rsp + 0x90]
cmp rdx, rax
jbe 0x180044ef8
mov eax, r8d
mov rbp, qword [rsp + 0xa8]
sub rbp, rax
cmp rbp, 0xffff
mov r15, qword [rsp + 0x68]
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r12, qword [rsp + 0x58]
ja 0x1800428a0
add rax, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0xc8], rax
mov eax, edx
mov dword [rsp + 0x90], edx
movzx eax, r8w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
xor eax, eax
cmp r8d, edx
cmovae eax, edx
jb 0x180044f1b
sub r8d, eax
jmp 0x180044c81
mov r15, qword [rsp + 0x68]
mov r9, r14
mov edi, dword [rsp + 0x90]
mov r12, qword [rsp + 0x58]
jmp 0x1800428a0
lea ecx, [r13*8]
mov rax, qword [rsp + 0xa0]
mov r8d, eax
rol r8d, cl
test dl, 3
cmove r8d, eax
movabs rax, 0x100000001
imul r8, rax
mov rax, qword [rsp + 0x30]
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jae 0x18004570d
mov rdx, qword [rcx]
xor rdx, r8
jne 0x180045063
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x180044f72
jmp 0x18004570d
mov rcx, qword [rsp + 0xe0]
movzx eax, cx
mov ebp, ecx
shr ebp, 0x10
mov ecx, 1
mov qword [rsp + 0x100], rcx
cmp eax, ebp
jne 0x18004504a
mov rcx, qword [rsp + 0xe0]
mov eax, ecx
shr eax, 0x18
movzx ebp, cl
cmp ebp, eax
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jne 0x180042daf
mov rax, qword [rsp + 0x78]
mov rcx, rax
cmp qword [rsp + 0x40], rax
jbe 0x180045010
mov rbp, qword [rcx]
xor rbp, qword [rsp + 0x130]
jne 0x1800452db
mov rax, rcx
add rax, 8
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jb 0x180044fee
mov rbx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x88]
jae 0x1800452e6
cmp byte [rcx], bl
jne 0x1800452e6
mov rax, rcx
inc rax
shr rbx, 8
mov rcx, rax
cmp rax, qword [rsp + 0x88]
jb 0x180045026
jmp 0x1800452e6
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042daf
bsf rax, rdx
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x30]
add r13, rcx
jmp 0x18004425b
lea ecx, [r15*8]
mov rax, qword [rsp + 0xc0]
mov r10d, eax
rol r10d, cl
test bpl, 3
cmove r10d, eax
movabs rax, 0x100000001
imul r10, rax
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp rax, qword [rsp + 0x40]
jae 0x180045795
mov rax, qword [rcx]
xor rax, r10
jne 0x1800450d1
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x1800450b9
jmp 0x180045795
bsf rax, rax
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x60]
add r15, rcx
jmp 0x180044363
mov eax, ebp
shl al, 4
mov byte [rsi], al
lea rcx, [r14 + rbp]
mov rax, r14
mov rdx, qword [rbx]
mov qword [rax], rdx
add rax, 8
add rbx, 8
cmp rax, rcx
jb 0x1800450f6
mov eax, r12d
sub eax, dword [rsp + 0x70]
mov word [rcx], ax
add rcx, 2
lea rax, [r15 - 4]
cmp rax, 0xf
jb 0x180045198
add byte [rsi], 0xf
lea rax, [r15 - 0x13]
cmp rax, 0x1fe
jb 0x18004517d
lea rax, [r15 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rdi, rdx
shr rdi, 8
lea r8, [rdi + rdi]
add r8, 2
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
lea rax, [rdi*2]
add rax, rbp
lea rcx, [r14 + rax]
add rcx, 4
imul rax, rdi, 0xfffffffffffffe02
add rax, r15
add rax, 0xfffffffffffffdef
cmp rax, 0xff
jb 0x180045191
add rax, 0xffffffffffffff01
mov byte [rcx], 0xff
inc rcx
mov byte [rcx], al
inc rcx
jmp 0x18004519a
add byte [rsi], al
add r12, r15
mov rdx, r12
mov rsi, rcx
mov r15, qword [rsp + 0x68]
jmp 0x1800438f2
bsf rdx, rsi
shr rdx, 3
add rdx, r8
sub rdx, rbx
mov r8d, edx
add r8, 4
mov ecx, dword [rsp + 0x180]
cmp ecx, dword [rsp + 0x50]
jae 0x180045308
lea rcx, [r10 + r8]
cmp rcx, r13
je 0x180045725
mov rsi, qword [rsp + 0x148]
jmp 0x180045310
xor edx, edx
sub r12d, edx
mov edi, dword [rsp + 0x90]
cmp r12d, edi
mov r13, qword [rsp + 0x128]
jle 0x180042d7e
mov ebp, r10d
add rbp, qword [rsp + 0xc0]
movsxd rax, edx
add rbp, rax
mov qword [rsp + 0xc8], rbp
add rax, qword [rsp + 0x150]
mov qword [rsp + 0x48], rax
mov edi, r12d
jmp 0x180042d7e
mov edx, 0x40
jmp 0x180044541
mov sil, al
mov rax, qword [rsp + 0x78]
lea rdx, [rax + rsi*8]
lea r12, [r12 + rsi*8]
cmp rdx, r13
jae 0x18004527b
mov rax, qword [rsp + 0x190]
lea ebx, [rax + rdx]
mov rsi, qword [rdx]
xor rsi, qword [r12]
jne 0x1800452cc
add rdx, 8
add r12, 8
add ebx, 8
cmp rdx, r13
jb 0x180045262
lea rax, [rdi - 3]
cmp rdx, rax
jae 0x180045294
mov eax, dword [r12]
cmp eax, dword [rdx]
jne 0x180045294
add rdx, 4
add r12, 4
lea rax, [rdi - 1]
cmp rdx, rax
jae 0x1800452af
movzx eax, word [r12]
cmp ax, word [rdx]
jne 0x1800452af
add rdx, 2
add r12, 2
cmp rdx, rdi
jae 0x1800452c3
mov al, byte [r12]
xor esi, esi
cmp al, byte [rdx]
sete sil
add rdx, rsi
sub edx, dword [rsp + 0x78]
jmp 0x180044552
bsf rdx, rsi
shr rdx, 3
add edx, ebx
jmp 0x180044552
bsf rax, rbp
shr rax, 3
add rcx, rax
sub ecx, dword [rsp + 0x78]
add rcx, 4
mov qword [rsp + 0x140], rcx
mov eax, 2
mov qword [rsp + 0x100], rax
jmp 0x18004462d
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
mov dword [rsp + 0x1dc], ecx
lea rbp, [rsi + 4]
add rax, r12
mov rdi, r10
mov rbx, rdi
mov rdx, rax
cmp rdi, rbp
jb 0x180045349
lea rdi, [rbx - 4]
lea rax, [rdx - 4]
mov rcx, qword [rsp + 0xe0]
cmp dword [rbx - 4], ecx
je 0x180045329
cmp rbx, rsi
jbe 0x180045380
mov rax, rsi
sub rax, rdx
mov rdx, rax
add rdx, rbx
xor eax, eax
mov cl, byte [rbx + rax - 1]
cmp cl, byte [rsp + rax + 0x1df]
jne 0x18004537a
lea rbp, [rbx + rax]
dec rbp
dec rax
cmp rbp, rsi
ja 0x18004535c
jmp 0x180045380
add rbx, rax
mov rdx, rbx
mov rax, r10
sub rax, rdx
mov ecx, dword [rsp + 0x180]
cmp ecx, dword [rsp + 0x50]
jb 0x18004543d
mov ecx, eax
sub r10, rcx
cmp r10, qword [rsp + 0xf0]
jne 0x18004543d
mov rcx, qword [rsp + 0x120]
cmp ecx, dword [rsp + 0x50]
jae 0x18004543d
mov ebp, eax
neg ebp
mov ecx, ebp
shl ecx, 3
mov rbx, qword [rsp + 0xe0]
mov edx, ebx
rol edx, cl
test bpl, 3
cmove edx, ebx
mov dword [rsp + 0x1dc], edx
mov rcx, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
cmp rbp, 4
jl 0x1800457ea
add rbp, 0xfffffffffffffffc
lea rbx, [rcx - 4]
cmp dword [rcx - 4], edx
mov rcx, rbx
je 0x1800453ef
add rbx, 4
mov rcx, rbx
lea rdx, [rsp + 0x1df]
mov bl, byte [rcx - 1]
cmp bl, byte [rdx]
jne 0x18004542f
dec rcx
dec rdx
cmp rcx, qword [rsp + 0x148]
ja 0x180045418
mov rdx, qword [rsp + 0x168]
sub edx, ecx
add edx, eax
mov eax, edx
mov ecx, dword [rsp + 0x180]
mov r10d, ecx
sub r10d, eax
mov eax, dword [rsp + 0xa0]
cmp r10d, eax
cmovbe r10d, eax
mov eax, ecx
sub eax, r10d
add rax, r8
cmp r8, qword [rsp + 0x140]
ja 0x1800454bf
cmp rax, qword [rsp + 0x140]
jb 0x1800454bf
mov edx, dword [rsp + 0x180]
sub edx, dword [rsp + 0x140]
add edx, r8d
mov eax, edx
not eax
mov rcx, qword [rsp + 0x50]
add eax, ecx
cmp eax, 3
cmovb edx, ecx
mov eax, 2
mov qword [rsp + 0x100], rax
mov r10d, edx
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r13, qword [rsp + 0x128]
jmp 0x180042db2
mov edx, r10d
not edx
add edx, dword [rsp + 0x50]
mov ecx, 2
mov qword [rsp + 0x100], rcx
cmp edx, 3
jae 0x180045640
mov r10, qword [rsp + 0x50]
jmp 0x1800454a6
mov r8d, 0x40
jmp 0x1800445a5
mov sil, al
lea r8, [rdi + rsi*8]
mov rax, qword [rsp + 0xf0]
lea rbx, [rax + rsi*8]
cmp r8, qword [rsp + 0x40]
jae 0x180045543
mov rax, qword [rsp + 0x160]
add rax, r11
mov rdx, qword [rsp + 0x88]
cmp rax, rdx
cmovae rax, rdx
mov edx, r8d
sub edx, eax
mov rsi, qword [r8]
xor rsi, qword [rbx]
jne 0x180045596
add r8, 8
add rbx, 8
add edx, 8
cmp r8, qword [rsp + 0x40]
jb 0x180045529
cmp r8, qword [rsp + 0x98]
jae 0x18004555c
mov eax, dword [rbx]
cmp eax, dword [r8]
jne 0x18004555c
add r8, 4
add rbx, 4
cmp r8, qword [rsp + 0x188]
jae 0x180045577
movzx eax, word [rbx]
cmp ax, word [r8]
jne 0x180045577
add r8, 2
add rbx, 2
cmp r8, qword [rsp + 0x88]
jae 0x18004558e
mov al, byte [rbx]
xor edx, edx
cmp al, byte [r8]
sete dl
add r8, rdx
sub r8d, edi
jmp 0x1800445b7
bsf r8, rsi
shr r8, 3
add r8d, edx
jmp 0x1800445b7
lea rax, [rsi - 0xf]
mov byte [rdi], 0xf0
cmp rax, 0xff
jb 0x1800455fa
lea rax, [rsi - 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
lea r15, [rdi + rbx]
add r15, 2
sub rbx, rax
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffef2
mov byte [r15], al
inc r15
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x30]
jmp 0x180043256
mov r12, qword [rsp + 0x38]
mov rbx, r14
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x108], eax
mov rsi, rdi
jmp 0x1800449f9
cmp dword [rsp + 0x58], 0
jne 0x1800454a6
mov rcx, qword [rsp + 0x140]
cmp rax, rcx
cmovae rax, rcx
movsxd rdx, dword [rsp + 0x90]
cmp rax, rdx
jbe 0x1800456c2
mov edx, r10d
mov rbp, qword [rsp + 0x110]
sub rbp, rdx
cmp rbp, 0xffff
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r11, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x128]
ja 0x180042e7c
add rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0xc8], rdx
mov dword [rsp + 0x90], eax
movzx eax, r10w
mov rdx, qword [rsp + 0x68]
movzx edx, word [rdx + rax*2 + 0x20000]
xor eax, eax
cmp r10d, edx
cmovae eax, edx
jb 0x1800456e5
sub r10d, eax
jmp 0x1800454a6
mov r8d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x90]
mov r11, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x128]
jmp 0x180042e7c
inc rcx
shr r8, 8
cmp rcx, qword [rsp + 0x88]
jae 0x18004506e
cmp byte [rcx], r8b
je 0x180045706
jmp 0x18004506e
lea ecx, [r8*8]
mov rbp, qword [rsp + 0xe0]
mov ebx, ebp
rol ebx, cl
test dl, 3
cmove ebx, ebp
movabs rcx, 0x100000001
imul rbx, rcx
mov rdx, qword [rsp + 0xf0]
mov rcx, rdx
cmp rdx, qword [rsp + 0x40]
jae 0x1800457d0
mov rdx, qword [rcx]
xor rdx, rbx
jne 0x180045774
add rcx, 8
cmp rcx, qword [rsp + 0x40]
jb 0x18004575f
jmp 0x1800457d0
bsf rdx, rdx
shr rdx, 3
add rcx, rdx
sub ecx, dword [rsp + 0xf0]
add r8, rcx
jmp 0x1800451e0
inc rcx
shr r10, 8
cmp rcx, qword [rsp + 0x88]
jae 0x1800450dc
cmp byte [rcx], r10b
je 0x18004578e
jmp 0x1800450dc
test rdx, rdx
jg 0x180044832
jmp 0x180044852
test rax, rax
jg 0x180044bf9
jmp 0x180044c18
inc rcx
shr rbx, 8
cmp rcx, qword [rsp + 0x88]
jae 0x18004577f
cmp byte [rcx], bl
je 0x1800457c9
jmp 0x18004577f
mov rdx, qword [rsp + 0x78]
jmp 0x180044282
test rbp, rbp
jg 0x180045410
jmp 0x18004542f
mov rbp, qword [rsp + 0xf0]
jmp 0x1800443f1
lea rax, [r12 - 0x211]
movabs rcx, 0x8080808080808081
mul rcx
mov rsi, rdx
shr rsi, 8
lea r8, [rsi + rsi]
add r8, 2
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x2c]
lea rax, [rsi*2]
add rax, rbp
lea rdi, [r15 + rax]
add rdi, 4
imul rax, rsi, 0xfffffffffffffe02
add rax, r12
add rax, 0xfffffffffffffdef
jmp 0x1800436f9
lea rax, [rsi - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov rcx, r13
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x2c]
lea rax, [rbx + rbp*2]
lea r13, [r12 + rax]
add r13, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, rsi
add rax, 0xfffffffffffffdef
jmp 0x180043771
add rax, 0xffffffffffffff01
mov byte [r13], 0xff
inc r13
jmp 0x18004377d
lea rax, [rbp - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rdi, rdx
shr rdi, 7
lea r8, [rdi + 1]
mov rcx, r15
mov dl, 0xff
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0xa8]
mov r11, rsi
mov r9, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x2c]
mov rax, rdi
shl rax, 8
lea r15, [rsi + rdi]
add r15, 2
sub rdi, rax
lea rax, [rdi + rbp]
add rax, 0xfffffffffffffef2
jmp 0x1800437c7
mov r14, rbx
lea rax, [rbx - 0xf]
mov byte [rsi], 0xf0
lea rcx, [rsi + 1]
cmp rax, 0xff
jb 0x180045998
mov rbx, r14
lea rax, [r14 - 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 + rsi]
add rcx, 2
sub rdi, rax
lea rax, [r14 + rdi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov rsi, rcx
mov r15, qword [rsp + 0x68]
mov rbx, r14
mov rdx, r12
jmp 0x180043972
mov rcx, qword [rsp + 0xb8]
add rcx, 0xfffffffffffffffc
cmp r13, rcx
mov rcx, qword [rsp + 0x118]
lea eax, [rcx + rax - 4]
mov ecx, dword [rsp + 0x108]
cmova ecx, eax
mov eax, r14d
mov rdx, qword [rsp + 0x38]
sub eax, edx
mov dword [rsp + 0x108], ecx
add eax, ecx
test eax, eax
jle 0x180045a10
mov rbp, rdx
mov ecx, eax
add rbp, rcx
mov qword [rsp + 0x38], rbp
add qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0x118]
sub ecx, eax
mov qword [rsp + 0x118], rcx
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0xa8]
jmp 0x18004352f
mov rdx, qword [rsp + 0x78]
jmp 0x180045252
lea rax, [rbx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, r12
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x2c]
mov rax, rbp
shl rax, 8
lea r12, [rsi + rbp]
add r12, 2
sub rbp, rax
lea rax, [rbx + rbp]
add rax, 0xfffffffffffffef2
jmp 0x18004382b
xor r14d, r14d
cmp dword [rsp + 0x260], 1
jne 0x180045ab7
mov byte [r15 + 0x40027], 1
jmp 0x1800420f5
mov rax, rsi
not rax
lea rdi, [rax + rcx]
add rax, rcx
add rax, 0xf1
shr rax, 8
sub rdi, rax
jmp 0x180043957
lea rax, [r12 - 0x211]
movabs rdx, 0x8080808080808081
mul rdx
mov rbp, rdx
shr rbp, 8
lea r8, [rbp + 2]
add r8, rbp
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x48]
lea rax, [rbx + rbp*2]
lea rcx, [rax + r13]
add rcx, 4
imul rax, rbp, 0xfffffffffffffe02
add rax, r12
add rax, 0xfffffffffffffdef
jmp 0x1800438c4
lea rax, [rbx - 0x10e]
movabs rcx, 0x8080808080808081
mul rcx
mov rbp, rdx
shr rbp, 7
lea r8, [rbp + 1]
mov rcx, r13
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
mov rax, rbp
shl rax, 8
lea r13, [rsi + rbp]
add r13, 2
sub rbp, rax
lea rax, [rbx + rbp]
add rax, 0xfffffffffffffef2
jmp 0x180043a32