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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x24d0]
mov eax, 0x25d0
call fcn.180296fb0
sub rsp, rax
cmp dword [0x1803df878], 2
mov r12, r8
mov rdi, rcx
mov dword [rbp + 0x48], 0
jl 0x180200034
movdqa xmm5, xmmword [0x18037e940]
xor r8d, r8d
movdqa xmm4, xmmword [0x18037ead0]
xor ecx, ecx
xor edx, edx
xorps xmm3, xmm3
nop word [rax + rax]
movd xmm1, r8d
lea eax, [r8 + 2]
pshufd xmm1, xmm1, 0
lea rdx, [rdx + 0x10]
movq xmm2, xmm5
movq xmm0, xmm4
paddd xmm1, xmm2
add r8d, 4
pmulld xmm1, xmm0
movq qword [rbp + rdx + 0x210], xmm1
movq qword [rbp + rdx + 0x890], xmm1
movd xmm1, eax
pshufd xmm1, xmm1, 0
movdqu xmmword [rbp + rcx + 0x21a0], xmm3
movdqu xmmword [rbp + rcx + 0x1e80], xmm3
paddd xmm1, xmm2
pmulld xmm1, xmm0
movq qword [rbp + rdx + 0x218], xmm1
movq qword [rbp + rdx + 0x898], xmm1
movdqu xmmword [rbp + rcx + 0x21b0], xmm3
movdqu xmmword [rbp + rcx + 0x1e90], xmm3
lea rcx, [rcx + 0x20]
cmp r8d, 0x64
jl 0x1801fffa0
jmp 0x1802000fd
xor ecx, ecx
lea rax, [rbp + 0x1e80]
xorps xmm0, xmm0
lea edx, [rcx + 6]
nop dword [rax]
nop word [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rdx, 1
jne 0x180200050
movups xmmword [rax], xmm0
mov edx, 6
movups xmmword [rax + 0x10], xmm0
lea rax, [rbp + 0x21a0]
xorps xmm0, xmm0
nop dword [rax]
nop word [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rdx, 1
jne 0x1802000a0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
xor eax, eax
nop word [rax + rax]
mov dword [rbp + rax + 0x220], ecx
mov dword [rbp + rax + 0x8a0], ecx
lea rax, [rax + 4]
sub ecx, 0x64
cmp ecx, 0xffffd8f0
jg 0x1802000e0
cmp dword [rdi + 0x58], 0
mov eax, 0x63
mov ebx, dword [rbp + 0xa2c]
mov dword [rbp - 0x40], eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], ebx
je 0x180200225
lea rcx, [rbp + 0x540]
sub rcx, r12
nop word [rax + rax]
movzx eax, byte [r12]
mov byte [rcx + r12], al
lea r12, [r12 + 1]
test al, al
jne 0x180200130
cmp dword [rdi + 0x48], 0
lea r8, [rbp + 0x540]
je 0x1802001ca
mov edx, 0x64
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
cmp eax, 0xffffffff
je 0x180200217
movsxd rcx, eax
lea r9, [rbp + 0x80]
lea r8, [rbp + rcx*2 + 0x7e]
lea rcx, [rbp + 0x80]
cmp rcx, r8
jae 0x1802001ad
nop dword [rax]
nop dword [rax + rax]
movzx edx, word [r8]
movzx ecx, word [r9]
mov word [r9], dx
add r9, 2
mov word [r8], cx
sub r8, 2
cmp r9, r8
jb 0x180200190
mov r9d, eax
lea r8, [rbp + 0x80]
mov edx, 0x100
lea rcx, [rbp + 0x540]
call fcn.1801f5d50
jmp 0x180200217
lea rcx, [rbp + 0x540]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x1802001e0
lea rdx, [rbp + rax + 0x53f]
lea rax, [rbp + 0x540]
cmp rax, rdx
jae 0x180200217
nop
movzx eax, byte [rdx]
movzx ecx, byte [r8]
mov byte [r8], al
inc r8
mov byte [rdx], cl
dec rdx
cmp r8, rdx
jb 0x180200200
lea r12, [rbp + 0x540]
mov qword [rbp + 0x2520], r12
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r12 + rax], 0
jne 0x180200230
cmp dword [rdi + 0x48], 0
mov qword [rbp - 0x48], rax
je 0x180200261
mov r8, r12
lea rcx, [rbp + 0x7d0]
mov edx, 0x64
call fcn.1801f5e50
mov r10d, eax
mov rax, qword [rbp - 0x48]
jmp 0x180200264
mov r10d, eax
mov dword [rsp + 0x68], r10d
mov ebx, 1
cmp r10d, 0xffffffff
jne 0x180200285
mov dword [rdi + 0x48], 0
mov r10d, eax
mov dword [rsp + 0x68], eax
mov dword [rbp + 0x48], ebx
mov rax, qword [rdi + 0x30]
xor r15d, r15d
mov qword [rsp + 0x25c8], r13
mov r14d, 0xffffffff
mov dword [rsp + 0x6c], r14d
test rax, rax
je 0x180200335
mov r13, qword [rax + 0x20d0]
mov qword [rbp - 0x68], r13
test r13, r13
je 0x18020033c
lea rdx, [rbp + 0x3b0]
mov rcx, r12
sub rdx, r12
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1802002d0
movzx eax, byte [rbp + 0x3b0]
lea rdx, [rbp + 0x3b0]
mov r8, qword [rdi + 0x40]
test al, al
je 0x18020031a
nop dword [rax]
nop dword [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r8 + rcx*2]
movzx ecx, byte [rcx + rax + 2]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180200300
mov r9, r13
lea rdx, [rbp + 0x1b60]
mov r8d, r10d
lea rcx, [rbp + 0x3b0]
call fcn.180215880
jmp 0x18020033c
xor r13d, r13d
mov qword [rbp - 0x68], r13
movsxd r9, dword [rbp + 0x2538]
mov qword [rbp + 0x78], 0xc8
test r9, r9
jle 0x180200415
xor r8d, r8d
mov rsi, 0xffffffffffffffff
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x38], rsi
jmp 0x180200380
mov rdi, qword [rbp + 0x2510]
mov r8, qword [rbp - 0x60]
movsxd r9, dword [rbp + 0x2538]
nop word [rax + rax]
test r15, r15
je 0x1802003a0
mov r15, qword [r15 + 0x10]
mov qword [rbp - 0x50], r15
test r15, r15
jne 0x180200447
nop word [rax + rax]
mov rax, qword [rbp + 0x2530]
inc r14d
inc rsi
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x38], rsi
mov rax, qword [rax + r8*8]
movsxd rcx, dword [rax]
cmp r14d, ecx
jge 0x1802003f4
mov rax, qword [rax + 8]
mov rdx, rcx
lea rcx, [rax + rsi*8]
nop dword [rax]
mov r15, qword [rcx]
mov qword [rbp - 0x50], r15
test r15, r15
jne 0x180200447
inc r14d
inc rsi
add rcx, 8
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x38], rsi
cmp rsi, rdx
jl 0x1802003d0
inc r8
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r8
mov rsi, 0xffffffffffffffff
mov r14d, esi
cmp r8, r9
jl 0x1802003a0
mov qword [rbp - 0x68], r13
lea ebx, [rsi + 2]
movsxd r11, dword [rsp + 0x68]
mov eax, 3
xor r14d, r14d
mov qword [rbp - 0x60], r11
mov dword [rsp + 0x70], r14d
mov rsi, rbx
mov qword [rbp - 0x80], rbx
mov r15d, eax
lea ecx, [rax + 0x27]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rax
jmp 0x180201c1c
mov r11, qword [r15 + 8]
test r11, r11
je 0x1802005cb
mov rdi, qword [rdi + 0x30]
test rdi, rdi
je 0x1802005cb
movsx r9d, word [r15 + 2]
xor r8d, r8d
movzx ebx, word [rdi + 0x2064]
sub r9d, 1
mov r10d, r9d
js 0x1802004b2
nop dword [rax]
lea eax, [r10 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [r11 + rcx*2]
cmp dx, bx
je 0x180200368
lea ecx, [rax - 1]
cmovbe ecx, r10d
inc eax
cmp bx, dx
mov r10d, ecx
cmovae r8d, eax
cmp r8d, ecx
jle 0x180200480
xor r8d, r8d
mov r10d, r9d
test r9d, r9d
js 0x180200502
mov dword [rsp + 0x6c], r14d
mov ebx, 0xffe7
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x68], r13
nop
lea eax, [r10 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [r11 + rcx*2]
cmp dx, bx
je 0x180200368
lea ecx, [rax - 1]
cmovbe ecx, r10d
inc eax
cmp bx, dx
mov r10d, ecx
cmovae r8d, eax
cmp r8d, ecx
jle 0x1802004d0
movzx ebx, word [rdi + 0x2066]
xor r8d, r8d
mov r10d, r9d
test r9d, r9d
js 0x180200553
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x68], r13
lea eax, [r10 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [r11 + rcx*2]
cmp dx, bx
je 0x180200368
lea ecx, [rax - 1]
cmovbe ecx, r10d
inc eax
cmp bx, dx
mov r10d, ecx
cmovae r8d, eax
cmp r8d, ecx
jle 0x180200521
movzx r10d, word [rdi + 0x2190]
xor r8d, r8d
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x38], rsi
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x50], r15
test r9d, r9d
js 0x1802005cb
mov qword [rbp - 0x50], r15
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x68], r13
nop word [rax + rax]
mov rdi, qword [rbp + 0x2510]
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
movzx edx, word [r11 + rcx*2]
cmp dx, r10w
je 0x18020036f
lea ecx, [rax - 1]
cmovbe ecx, r9d
inc eax
cmp r10w, dx
mov r9d, ecx
cmovae r8d, eax
cmp r8d, ecx
jle 0x180200590
mov r14, qword [rbp + 0x2510]
lea r13, [r15 + 0x21]
xor ebx, ebx
mov qword [rbp - 0x80], r13
mov dword [rsp + 0x60], ebx
cmp dword [r14 + 0x48], ebx
je 0x180200723
mov r8, r12
lea edx, [rbx + 0x64]
lea rcx, [rbp + 0x150]
call fcn.1801f5e50
mov edi, eax
lea edx, [rbx + 0x64]
mov r8, r13
mov qword [rsp + 0x58], rdi
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
mov r13d, eax
test eax, eax
jle 0x18020071a
cmp edi, 0xffffffff
je 0x18020071a
mov r8d, dword [r14 + 0x4c]
lea rcx, [rbp + 0x80]
mov edx, eax
call fcn.1801f6b80
mov eax, edi
lea ecx, [r13 - 1]
sub eax, r13d
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x64], eax
lea esi, [rbx + 1]
nop
xor r15d, r15d
movsxd r10, esi
add eax, ecx
movsxd r12, eax
js 0x1802006ef
lea r14, [rbp + 0x150]
movsxd rdi, ecx
lea rax, [rbp + 0x81]
sub r14, rax
inc r12
xor ebx, ebx
test rdi, rdi
js 0x1802006dd
lea r11, [rbp + 0x81]
mov r9, r14
nop dword [rax]
xor r8d, r8d
xor edx, edx
test esi, esi
jle 0x1802006c3
mov rcx, r11
nop dword [rax]
movzx eax, byte [rcx - 1]
cmp byte [r9 + rcx], al
jne 0x1802006c3
movzx eax, byte [rcx]
cmp byte [r9 + rcx + 1], al
jne 0x1802006c3
inc r8d
inc rdx
add rcx, 2
cmp rdx, r10
jl 0x1802006a0
cmp r8d, esi
je 0x1802006da
inc rbx
add r11, 2
sub r9, 2
cmp rbx, rdi
jle 0x180200690
jmp 0x1802006dd
inc r15d
add r14, 2
sub r12, 1
jne 0x180200678
mov ebx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
add ebx, r15d
mov dword [rsp + 0x60], ebx
cmp r15d, 2
jl 0x180200831
mov eax, dword [rsp + 0x64]
dec ecx
inc esi
mov dword [rsp + 0x50], ecx
cmp esi, 3
jle 0x180200650
jmp 0x180200831
lea r13, [r15 + 0x21]
jmp 0x18020085b
mov r9, 0xffffffffffffffff
nop word [rax + rax]
inc r9
cmp byte [r12 + r9], bl
jne 0x180200730
mov qword [rsp + 0x58], r9
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rax + r13], bl
jne 0x180200745
mov qword [rbp - 0x70], rax
test eax, eax
je 0x18020085b
lea rdx, [rbp + 0x1cf0]
mov rcx, r13
sub rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180200770
movzx eax, byte [rbp + 0x1cf0]
lea rdx, [rbp + 0x1cf0]
mov r8, qword [r14 + 0x40]
test al, al
je 0x1802007ba
nop dword [rax]
nop dword [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r8 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x1802007a0
mov eax, 1
mov r13d, eax
mov r12d, eax
xor esi, esi
mov eax, r9d
sub eax, r13d
js 0x180200816
mov rcx, qword [rbp + 0x2520]
lea r14d, [rax + 1]
mov rdi, rcx
lea rbx, [r12 + rcx]
movzx r15d, byte [rbx]
lea rcx, [rbp + 0x1cf0]
mov rdx, rdi
mov byte [rbx], 0
call fcn.180299a60
test rax, rax
je 0x1802007fe
inc esi
mov byte [rbx], r15b
inc rdi
inc rbx
sub r14, 1
jne 0x1802007e1
mov ebx, dword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
add ebx, esi
mov dword [rsp + 0x60], ebx
cmp esi, 2
jl 0x18020082d
inc r13d
inc r12
cmp r12, 3
jle 0x1802007c5
mov r13, qword [rbp - 0x70]
sub r13d, dword [rsp + 0x58]
xor eax, eax
mov r15, qword [rbp - 0x50]
sub r13d, 2
mov r12, qword [rbp + 0x2520]
test r13d, r13d
mov r14, qword [rbp + 0x2510]
cmovg eax, r13d
mov r13, qword [rbp - 0x80]
sub ebx, eax
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.1802057b0
movzx edx, byte [r15 + 0x20]
lea esi, [rbx + rax]
mov dword [rsp + 0x60], esi
test dl, 4
je 0x180200b9c
test dl, dl
je 0x180200b9c
movzx ecx, byte [r15]
add rcx, 0x22
add rcx, r15
test dl, 2
je 0x180200899
mov rcx, qword [rcx]
test rcx, rcx
je 0x180200b9c
lea rdx, [0x180379ee4]
call fcn.180299a60
test rax, rax
je 0x180200b9c
movzx edx, byte [rax + 3]
lea r8, [rbp + 0xa30]
add rax, 3
cmp dl, 0x20
je 0x1802008ed
nop dword [rax + rax]
lea ecx, [rdx - 9]
cmp cl, 1
jbe 0x1802008ed
test dl, dl
je 0x1802008ed
inc rax
mov byte [r8], dl
inc r8
movzx edx, byte [rax]
cmp dl, 0x20
jne 0x1802008d0
xor ebx, ebx
mov byte [r8], 0
mov dword [rsp + 0x50], ebx
cmp dword [r14 + 0x48], ebx
je 0x180200a42
mov r8, r12
lea edx, [rbx + 0x64]
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
mov edi, eax
lea r8, [rbp + 0xa30]
lea edx, [rbx + 0x64]
mov qword [rsp + 0x58], rdi
lea rcx, [rbp + 0x150]
call fcn.1801f5e50
mov r13d, eax
test eax, eax
jle 0x180200a39
cmp edi, 0xffffffff
je 0x180200a39
mov r8d, dword [r14 + 0x4c]
lea rcx, [rbp + 0x150]
mov edx, eax
call fcn.1801f6b80
mov eax, edi
lea ecx, [r13 - 1]
sub eax, r13d
mov dword [rsp + 0x64], ecx
mov dword [rbp - 0x78], eax
lea esi, [rbx + 1]
nop dword [rax]
xor r15d, r15d
movsxd r10, esi
add eax, ecx
movsxd r12, eax
js 0x180200a0f
lea r14, [rbp + 0x150]
movsxd rdi, ecx
lea rax, [rbp + 0x81]
sub r14, rax
lea rbx, [rbp + 0x81]
inc r12
nop
xor r11d, r11d
test rdi, rdi
js 0x1802009f9
mov r9, r14
nop dword [rax + rax]
xor r8d, r8d
xor edx, edx
test esi, esi
jle 0x1802009e3
mov rcx, rbx
nop dword [rax]
movzx eax, byte [r9 + rcx]
cmp byte [rcx - 1], al
jne 0x1802009e3
movzx eax, byte [r9 + rcx + 1]
cmp byte [rcx], al
jne 0x1802009e3
inc r8d
inc rdx
add rcx, 2
cmp rdx, r10
jl 0x1802009c0
cmp r8d, esi
je 0x1802009f6
inc r11
add r9, 2
cmp r11, rdi
jle 0x1802009b0
jmp 0x1802009f9
inc r15d
sub r14, 2
add rbx, 2
sub r12, 1
jne 0x1802009a0
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x64]
add ebx, r15d
mov dword [rsp + 0x50], ebx
cmp r15d, 2
jl 0x180200b51
mov eax, dword [rbp - 0x78]
dec ecx
inc esi
mov dword [rsp + 0x64], ecx
cmp esi, 3
jle 0x180200970
jmp 0x180200b51
lea r13, [r15 + 0x21]
jmp 0x180200b7f
mov r9, 0xffffffffffffffff
nop dword [rax]
inc r9
cmp byte [r12 + r9], bl
jne 0x180200a50
mov qword [rsp + 0x58], r9
lea rcx, [rbp + 0xa30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x180200a70
mov qword [rbp - 0x70], rax
test eax, eax
je 0x180200b7f
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0xa30]
mov byte [rbp + rcx + 0x1520], al
lea rcx, [rcx + 1]
test al, al
jne 0x180200a90
movzx eax, byte [rbp + 0x1520]
lea rdx, [rbp + 0x1520]
mov r8, qword [r14 + 0x40]
test al, al
je 0x180200ada
nop dword [rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r8 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180200ac0
mov eax, 1
mov r13d, eax
mov r12d, eax
xor esi, esi
mov eax, r9d
sub eax, r13d
js 0x180200b36
mov rcx, qword [rbp + 0x2520]
lea r14d, [rax + 1]
mov rdi, rcx
lea rbx, [r12 + rcx]
movzx r15d, byte [rbx]
lea rcx, [rbp + 0x1520]
mov rdx, rdi
mov byte [rbx], 0
call fcn.180299a60
test rax, rax
je 0x180200b1e
inc esi
mov byte [rbx], r15b
inc rdi
inc rbx
sub r14, 1
jne 0x180200b01
mov ebx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
add ebx, esi
mov dword [rsp + 0x50], ebx
cmp esi, 2
jl 0x180200b4d
inc r13d
inc r12
cmp r12, 3
jle 0x180200ae5
mov r13, qword [rbp - 0x70]
sub r13d, dword [rsp + 0x58]
xor eax, eax
mov r15, qword [rbp - 0x50]
sub r13d, 2
mov r12, qword [rbp + 0x2520]
test r13d, r13d
mov esi, dword [rsp + 0x60]
mov r14, qword [rbp + 0x2510]
cmovg eax, r13d
mov r13, qword [rbp - 0x80]
sub ebx, eax
lea r8, [rbp + 0xa30]
mov rdx, r12
mov rcx, r14
call fcn.1802057b0
add eax, ebx
cmp eax, esi
cmovg esi, eax
mov dword [rsp + 0x60], esi
mov r9, qword [rbp - 0x68]
test r9, r9
je 0x180200e72
cmp esi, 2
jle 0x180200e72
movzx ecx, byte [r15 + 1]
mov eax, dword [rsp + 0x68]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x180200e72
lea rdx, [rbp + 0x3b0]
mov rcx, r13
sub rdx, r13
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180200be0
movzx eax, byte [rbp + 0x3b0]
lea rdx, [rbp + 0x3b0]
mov r8, qword [r14 + 0x40]
test al, al
je 0x180200c2a
nop dword [rax]
nop dword [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r8 + rcx*2]
movzx ecx, byte [rcx + rax + 2]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180200c10
mov r8d, 0xffffffff
lea rdx, [rbp + 0xbc0]
lea rcx, [rbp + 0x3b0]
call fcn.180215880
xor ebx, ebx
mov dword [rsp + 0x50], ebx
cmp dword [r14 + 0x48], ebx
je 0x180200d79
lea r8, [rbp + 0x1b60]
lea edx, [rbx + 0x64]
lea rcx, [rbp + 0x150]
call fcn.1801f5e50
mov edi, eax
lea r8, [rbp + 0xbc0]
lea edx, [rbx + 0x64]
mov qword [rsp + 0x58], rdi
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
mov r13d, eax
test eax, eax
jle 0x180200e6c
cmp edi, 0xffffffff
je 0x180200e6c
lea ecx, [rax - 1]
mov eax, edi
sub eax, r13d
mov dword [rsp + 0x64], ecx
mov dword [rbp - 0x78], eax
lea esi, [rbx + 1]
nop dword [rax]
xor r15d, r15d
movsxd r10, esi
add eax, ecx
movsxd r12, eax
js 0x180200d4f
lea r14, [rbp + 0x80]
movsxd rdi, ecx
lea rax, [rbp + 0x151]
sub r14, rax
lea rbx, [rbp + 0x151]
inc r12
nop
xor r11d, r11d
test rdi, rdi
js 0x180200d39
mov r9, r14
nop dword [rax + rax]
xor r8d, r8d
xor edx, edx
test esi, esi
jle 0x180200d23
mov rcx, rbx
nop dword [rax]
movzx eax, byte [r9 + rcx]
cmp byte [rcx - 1], al
jne 0x180200d23
movzx eax, byte [r9 + rcx + 1]
cmp byte [rcx], al
jne 0x180200d23
inc r8d
inc rdx
add rcx, 2
cmp rdx, r10
jl 0x180200d00
cmp r8d, esi
je 0x180200d36
inc r11
add r9, 2
cmp r11, rdi
jle 0x180200cf0
jmp 0x180200d39
inc r15d
sub r14, 2
add rbx, 2
sub r12, 1
jne 0x180200ce0
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x64]
add ebx, r15d
mov dword [rsp + 0x50], ebx
cmp r15d, 2
jl 0x180200e50
mov eax, dword [rbp - 0x78]
dec ecx
inc esi
mov dword [rsp + 0x64], ecx
cmp esi, 3
jle 0x180200cb0
jmp 0x180200e50
lea rax, [rbp + 0x1b60]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], bl
jne 0x180200d87
mov qword [rsp + 0x58], rdx
lea rcx, [rbp + 0xbc0]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x180200da2
mov qword [rbp - 0x70], rax
test eax, eax
je 0x180200e6c
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rbp + rcx + 0xbc0]
mov byte [rbp + rcx + 0x1200], al
lea rcx, [rcx + 1]
test al, al
jne 0x180200dc0
mov eax, 1
mov r13d, eax
mov r12d, eax
xor esi, esi
mov eax, edx
sub eax, r13d
js 0x180200e35
lea rbx, [rbp + 0x1b60]
add rbx, r12
lea rdi, [rbp + 0x1b60]
lea r14d, [rax + 1]
movzx r15d, byte [rbx]
lea rcx, [rbp + 0x1200]
mov rdx, rdi
mov byte [rbx], 0
call fcn.180299a60
test rax, rax
je 0x180200e1d
inc esi
mov byte [rbx], r15b
inc rdi
inc rbx
sub r14, 1
jne 0x180200e00
mov ebx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
add ebx, esi
mov dword [rsp + 0x50], ebx
cmp esi, 2
jl 0x180200e4c
inc r13d
inc r12
cmp r12, 3
jle 0x180200de2
mov r13, qword [rbp - 0x70]
sub r13d, dword [rsp + 0x58]
xor eax, eax
mov r15, qword [rbp - 0x50]
sub r13d, 2
mov esi, dword [rsp + 0x60]
test r13d, r13d
cmovg eax, r13d
sub ebx, eax
add ebx, ebx
mov dword [rsp + 0x74], ebx
movsxd rax, dword [rbp - 0x40]
cmp esi, dword [rbp + rax*4 + 0x220]
jle 0x180201514
lea r9, [rbp + 0x224]
mov dword [rbp + rax*4 + 0x220], esi
mov qword [rsp + 0x58], r9
mov qword [rbp + rax*8 + 0x21a0], r15
mov dword [rsp + 0x50], 0
nop word [rax + rax]
mov ecx, dword [r9 - 4]
cmp ecx, esi
mov edx, dword [r9]
cmovge ecx, esi
cmp edx, ecx
mov dword [rbp - 0x78], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 4]
cmp ecx, edx
mov dword [rsp + 0x64], edx
cmovge ecx, edx
mov edx, dword [r9 + 8]
cmp edx, ecx
mov dword [rbp + 0x4c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0xc]
cmp ecx, edx
mov dword [rbp + 0x50], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x10]
cmp edx, ecx
mov dword [rbp + 0x54], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x14]
cmp ecx, edx
mov dword [rbp + 0x58], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x18]
cmp edx, ecx
mov dword [rbp + 0x5c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x1c]
cmp ecx, edx
mov dword [rbp + 0x60], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x20]
cmp edx, ecx
mov dword [rbp + 0x64], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x24]
cmp ecx, edx
mov dword [rbp + 0x68], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x28]
cmp edx, ecx
mov dword [rbp + 0x6c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x2c]
cmp ecx, edx
mov dword [rbp + 0x70], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x30]
cmp edx, ecx
mov dword [rbp - 0x30], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x34]
cmp ecx, edx
mov dword [rbp - 0x2c], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x38]
cmp edx, ecx
mov dword [rbp - 0x28], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x3c]
cmp ecx, edx
mov dword [rbp - 0x24], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x40]
cmp edx, ecx
mov dword [rbp - 0x20], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x44]
cmp ecx, edx
mov dword [rbp - 0x1c], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x48]
cmp edx, ecx
mov dword [rbp - 0x18], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x4c]
mov dword [rbp - 0x14], edx
cmp ecx, edx
mov eax, dword [r9 + 0x80]
cmovge ecx, edx
mov edx, dword [r9 + 0x50]
cmp edx, ecx
mov dword [rbp - 0x10], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x54]
cmp ecx, edx
mov dword [rbp - 0xc], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x58]
cmp edx, ecx
mov dword [rbp - 8], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x5c]
cmp ecx, edx
mov dword [rbp - 4], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x60]
cmp edx, ecx
mov dword [rbp], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x64]
cmp ecx, edx
mov dword [rbp + 4], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x68]
cmp edx, ecx
mov dword [rbp + 8], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x6c]
cmp ecx, edx
mov dword [rbp + 0xc], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x70]
cmp edx, ecx
mov dword [rbp + 0x10], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x74]
cmp ecx, edx
mov dword [rbp + 0x14], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x78]
cmp edx, ecx
mov dword [rbp + 0x18], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x7c]
cmp ecx, edx
mov dword [rbp + 0x1c], edx
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp + 0x20], ecx
mov eax, dword [r9 + 0x84]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp + 0x24], edx
mov eax, dword [r9 + 0x88]
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp + 0x28], ecx
mov eax, dword [r9 + 0x8c]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp + 0x2c], edx
mov eax, dword [r9 + 0x90]
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp + 0x30], ecx
mov eax, dword [r9 + 0x94]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp + 0x34], edx
cmovge ecx, edx
mov dword [rbp + 0x38], ecx
mov r15d, dword [r9 + 0xac]
mov r12d, r15d
mov r13d, dword [r9 + 0xa8]
mov eax, dword [r9 + 0x98]
mov edx, eax
cmp eax, ecx
mov edi, dword [r9 + 0xb0]
mov eax, dword [r9 + 0x9c]
mov esi, edi
cmovge edx, ecx
mov r11d, dword [r9 + 0xb4]
mov r8d, dword [r9 + 0xb8]
cmp eax, edx
mov ecx, eax
mov dword [rsp + 0x78], r13d
mov eax, dword [r9 + 0xa0]
cmovge ecx, edx
cmp eax, ecx
mov dword [rbp + 0x40], ecx
mov dword [rbp + 0x3c], edx
mov ebx, r11d
mov edx, eax
mov dword [rbp - 0x74], r15d
mov eax, dword [r9 + 0xa4]
cmovge edx, ecx
cmp eax, edx
mov dword [rbp + 0x44], edx
mov ecx, eax
mov r10d, r8d
cmovge ecx, edx
mov eax, r13d
mov edx, dword [r9 + 0xbc]
cmp r13d, ecx
mov r13, qword [rsp + 0x58]
mov r14d, edx
cmovge eax, ecx
mov r9d, dword [r9 + 0xc0]
cmp r15d, eax
mov dword [rbp - 0x58], ecx
mov r15d, dword [rsp + 0x60]
cmovge r12d, eax
mov dword [rbp - 0x70], eax
mov eax, dword [rsp + 0x50]
cmp edi, r12d
mov ecx, eax
cmovge esi, r12d
cmp r11d, esi
cmovge ebx, esi
cmp r8d, ebx
cmovge r10d, ebx
cmp edx, r10d
cmovge r14d, r10d
cmp dword [r13 - 4], r15d
mov r15, qword [rsp + 0x58]
cmovge ecx, dword [rbp - 0x40]
inc eax
mov r13d, dword [rbp - 0x78]
cmp dword [r15], r13d
mov r13d, dword [rsp + 0x64]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 2
cmp dword [r15 + 4], r13d
mov r13d, dword [rbp + 0x4c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 3
cmp dword [r15 + 8], r13d
mov r13d, dword [rbp + 0x50]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 4
cmp dword [r15 + 0xc], r13d
mov r13d, dword [rbp + 0x54]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 5
cmp dword [r15 + 0x10], r13d
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 6
mov r13d, dword [rbp + 0x58]
cmp dword [r15 + 0x14], r13d
mov r13d, dword [rbp + 0x5c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 7
cmp dword [r15 + 0x18], r13d
mov r13d, dword [rbp + 0x60]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 8
cmp dword [r15 + 0x1c], r13d
mov r13d, dword [rbp + 0x64]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 9
cmp dword [r15 + 0x20], r13d
mov r13d, dword [rbp + 0x68]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xa
cmp dword [r15 + 0x24], r13d
mov r13d, dword [rbp + 0x6c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xb
cmp dword [r15 + 0x28], r13d
mov r13d, dword [rbp + 0x70]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xc
cmp dword [r15 + 0x2c], r13d
mov r13d, dword [rbp - 0x30]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xd
cmp dword [r15 + 0x30], r13d
mov r13d, dword [rbp - 0x2c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xe
cmp dword [r15 + 0x34], r13d
mov r13d, dword [rbp - 0x28]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xf
cmp dword [r15 + 0x38], r13d
mov r13d, dword [rbp - 0x24]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x10
cmp dword [r15 + 0x3c], r13d
mov r13d, dword [rbp - 0x20]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x11
cmp dword [r15 + 0x40], r13d
mov r13d, dword [rbp - 0x1c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x12
cmp dword [r15 + 0x44], r13d
mov r13d, dword [rbp - 0x18]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x13
cmp dword [r15 + 0x48], r13d
mov r13d, dword [rbp - 0x14]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x14
cmp dword [r15 + 0x4c], r13d
mov r13d, dword [rbp - 0x10]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x15
cmp dword [r15 + 0x50], r13d
mov r13d, dword [rbp - 0xc]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x16
cmp dword [r15 + 0x54], r13d
mov r13d, dword [rbp - 8]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x17
cmp dword [r15 + 0x58], r13d
mov r13d, dword [rbp - 4]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x18
cmp dword [r15 + 0x5c], r13d
mov r13d, dword [rbp]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x19
cmp dword [r15 + 0x60], r13d
mov r13d, dword [rbp + 4]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1a
cmp dword [r15 + 0x64], r13d
mov r13d, dword [rbp + 8]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1b
cmp dword [r15 + 0x68], r13d
mov r13d, dword [rbp + 0xc]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1c
cmp dword [r15 + 0x6c], r13d
mov r13d, dword [rbp + 0x10]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1d
cmp dword [r15 + 0x70], r13d
mov r13d, dword [rbp + 0x14]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1e
cmp dword [r15 + 0x74], r13d
mov r13d, dword [rbp + 0x18]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1f
cmp dword [r15 + 0x78], r13d
mov r13d, dword [rbp + 0x1c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x20
cmp dword [r15 + 0x7c], r13d
mov r13d, dword [rbp + 0x20]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x21
cmp dword [r15 + 0x80], r13d
mov r13d, dword [rbp + 0x24]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x22
cmp dword [r15 + 0x84], r13d
mov r13d, dword [rbp + 0x28]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x23
cmp dword [r15 + 0x88], r13d
mov r13d, dword [rbp + 0x2c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x24
cmp dword [r15 + 0x8c], r13d
mov r13d, dword [rbp + 0x30]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x25
cmp dword [r15 + 0x90], r13d
mov r13d, dword [rbp + 0x34]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x26
cmp dword [r15 + 0x94], r13d
cmovge ecx, eax
mov r13d, dword [rbp + 0x38]
mov eax, dword [rsp + 0x50]
add eax, 0x27
cmp dword [r15 + 0x98], r13d
mov r13d, dword [rbp + 0x3c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x28
cmp dword [r15 + 0x9c], r13d
mov r13d, dword [rbp + 0x40]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x29
cmp dword [r15 + 0xa0], r13d
mov r13d, dword [rbp + 0x44]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x2a
cmp dword [r15 + 0xa4], r13d
mov r13d, dword [rsp + 0x78]
mov r15d, dword [rbp - 0x74]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x2b
cmp r13d, dword [rbp - 0x58]
mov r13d, dword [rsp + 0x50]
cmovge eax, ecx
cmp r15d, dword [rbp - 0x70]
lea ecx, [r13 + 0x2c]
cmovge ecx, eax
cmp edi, r12d
lea eax, [r13 + 0x2d]
cmovge eax, ecx
cmp r11d, esi
lea ecx, [r13 + 0x2e]
mov esi, r9d
cmovge ecx, eax
cmp r8d, ebx
lea eax, [r13 + 0x2f]
cmovge eax, ecx
cmp edx, r10d
lea ecx, [r13 + 0x30]
cmovge ecx, eax
cmp r9d, r14d
lea eax, [r13 + 0x31]
cmovge eax, ecx
add qword [rsp + 0x58], 0xc8
add r13d, 0x32
mov dword [rbp - 0x40], eax
cmp r9d, r14d
mov dword [rsp + 0x50], r13d
mov r9, qword [rsp + 0x58]
cmovge esi, r14d
mov dword [rsp + 0x60], esi
cmp r13d, 0x64
jl 0x180200eb0
mov dword [rbp - 0x40], eax
movsxd rax, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x74]
mov rsi, qword [rbp - 0x38]
mov r14d, dword [rsp + 0x6c]
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x2520]
mov r13, qword [rbp - 0x68]
mov rdi, qword [rbp + 0x2510]
mov r8, qword [rbp - 0x60]
movsxd r9, dword [rbp + 0x2538]
cmp ebx, dword [rbp + rax*4 + 0x8a0]
jle 0x180200380
mov rcx, qword [rbp - 0x80]
lea r9, [rbp + 0x8a4]
mov qword [rbp + rax*8 + 0x1e80], rcx
mov edx, ebx
mov qword [rsp + 0x58], r9
mov dword [rbp + rax*4 + 0x8a0], ebx
mov dword [rsp + 0x64], ebx
mov dword [rsp + 0x50], 0
mov ecx, dword [r9 - 4]
cmp ecx, edx
cmovge ecx, edx
mov edx, dword [r9]
cmp edx, ecx
mov dword [rbp - 0x70], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 4]
cmp ecx, edx
mov dword [rbp - 0x74], edx
cmovge ecx, edx
mov edx, dword [r9 + 8]
cmp edx, ecx
mov dword [rbp - 0x58], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0xc]
cmp ecx, edx
mov dword [rsp + 0x78], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x10]
cmp edx, ecx
mov dword [rbp + 0x44], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x14]
cmp ecx, edx
mov dword [rbp + 0x40], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x18]
cmp edx, ecx
mov dword [rbp + 0x3c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x1c]
cmp ecx, edx
mov dword [rbp + 0x38], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x20]
cmp edx, ecx
mov dword [rbp + 0x34], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x24]
cmp ecx, edx
mov dword [rbp + 0x30], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x28]
cmp edx, ecx
mov dword [rbp + 0x2c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x2c]
cmp ecx, edx
mov dword [rbp + 0x28], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x30]
cmp edx, ecx
mov dword [rbp + 0x24], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x34]
cmp ecx, edx
mov dword [rbp + 0x20], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x38]
cmp edx, ecx
mov dword [rbp + 0x1c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x3c]
cmp ecx, edx
mov dword [rbp + 0x18], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x40]
cmp edx, ecx
mov dword [rbp + 0x14], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x44]
cmp ecx, edx
mov dword [rbp + 0x10], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x48]
cmp edx, ecx
mov dword [rbp + 0xc], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x4c]
mov dword [rbp + 8], edx
cmp ecx, edx
mov eax, dword [r9 + 0x80]
cmovge ecx, edx
mov edx, dword [r9 + 0x50]
cmp edx, ecx
mov dword [rbp + 4], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x54]
cmp ecx, edx
mov dword [rbp], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x58]
cmp edx, ecx
mov dword [rbp - 4], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x5c]
cmp ecx, edx
mov dword [rbp - 8], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x60]
cmp edx, ecx
mov dword [rbp - 0xc], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x64]
cmp ecx, edx
mov dword [rbp - 0x10], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x68]
cmp edx, ecx
mov dword [rbp - 0x14], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x6c]
cmp ecx, edx
mov dword [rbp - 0x18], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x70]
cmp edx, ecx
mov dword [rbp - 0x1c], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x74]
cmp ecx, edx
mov dword [rbp - 0x20], edx
cmovge ecx, edx
mov edx, dword [r9 + 0x78]
cmp edx, ecx
mov dword [rbp - 0x24], ecx
cmovge edx, ecx
mov ecx, dword [r9 + 0x7c]
cmp ecx, edx
mov dword [rbp - 0x28], edx
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp - 0x2c], ecx
mov eax, dword [r9 + 0x84]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp - 0x30], edx
mov eax, dword [r9 + 0x88]
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp + 0x70], ecx
mov eax, dword [r9 + 0x8c]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp + 0x6c], edx
mov eax, dword [r9 + 0x90]
cmovge ecx, edx
mov edx, eax
cmp eax, ecx
mov dword [rbp + 0x68], ecx
mov eax, dword [r9 + 0x94]
cmovge edx, ecx
mov ecx, eax
cmp eax, edx
mov dword [rbp + 0x64], edx
cmovge ecx, edx
mov dword [rbp + 0x60], ecx
mov r15d, dword [r9 + 0xac]
mov r12d, r15d
mov r13d, dword [r9 + 0xa8]
mov eax, dword [r9 + 0x98]
mov edx, eax
cmp eax, ecx
mov edi, dword [r9 + 0xb0]
mov eax, dword [r9 + 0x9c]
mov esi, edi
cmovge edx, ecx
mov r11d, dword [r9 + 0xb4]
mov r8d, dword [r9 + 0xb8]
cmp eax, edx
mov ecx, eax
mov dword [rbp + 0x50], r13d
mov eax, dword [r9 + 0xa0]
cmovge ecx, edx
cmp eax, ecx
mov dword [rbp + 0x58], ecx
mov dword [rbp + 0x5c], edx
mov ebx, r11d
mov edx, eax
mov dword [rbp - 0x78], r15d
mov eax, dword [r9 + 0xa4]
cmovge edx, ecx
cmp eax, edx
mov dword [rbp + 0x54], edx
mov ecx, eax
mov r10d, r8d
cmovge ecx, edx
mov eax, r13d
mov edx, dword [r9 + 0xbc]
cmp r13d, ecx
mov r13, qword [rsp + 0x58]
mov r14d, edx
cmovge eax, ecx
mov r9d, dword [r9 + 0xc0]
cmp r15d, eax
mov dword [rbp + 0x4c], ecx
mov r15d, dword [rsp + 0x64]
cmovge r12d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x50]
cmp edi, r12d
mov ecx, eax
cmovge esi, r12d
cmp r11d, esi
cmovge ebx, esi
cmp r8d, ebx
cmovge r10d, ebx
cmp edx, r10d
cmovge r14d, r10d
cmp dword [r13 - 4], r15d
mov r15, qword [rsp + 0x58]
cmovge ecx, dword [rsp + 0x70]
inc eax
mov r13d, dword [rbp - 0x70]
cmp dword [r15], r13d
mov r13d, dword [rbp - 0x74]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 2
cmp dword [r15 + 4], r13d
mov r13d, dword [rbp - 0x58]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 3
cmp dword [r15 + 8], r13d
mov r13d, dword [rsp + 0x78]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 4
cmp dword [r15 + 0xc], r13d
mov r13d, dword [rbp + 0x44]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 5
cmp dword [r15 + 0x10], r13d
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 6
mov r13d, dword [rbp + 0x40]
cmp dword [r15 + 0x14], r13d
mov r13d, dword [rbp + 0x3c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 7
cmp dword [r15 + 0x18], r13d
mov r13d, dword [rbp + 0x38]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 8
cmp dword [r15 + 0x1c], r13d
mov r13d, dword [rbp + 0x34]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 9
cmp dword [r15 + 0x20], r13d
mov r13d, dword [rbp + 0x30]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xa
cmp dword [r15 + 0x24], r13d
mov r13d, dword [rbp + 0x2c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xb
cmp dword [r15 + 0x28], r13d
mov r13d, dword [rbp + 0x28]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xc
cmp dword [r15 + 0x2c], r13d
mov r13d, dword [rbp + 0x24]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xd
cmp dword [r15 + 0x30], r13d
mov r13d, dword [rbp + 0x20]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0xe
cmp dword [r15 + 0x34], r13d
mov r13d, dword [rbp + 0x1c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0xf
cmp dword [r15 + 0x38], r13d
mov r13d, dword [rbp + 0x18]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x10
cmp dword [r15 + 0x3c], r13d
mov r13d, dword [rbp + 0x14]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x11
cmp dword [r15 + 0x40], r13d
mov r13d, dword [rbp + 0x10]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x12
cmp dword [r15 + 0x44], r13d
mov r13d, dword [rbp + 0xc]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x13
cmp dword [r15 + 0x48], r13d
mov r13d, dword [rbp + 8]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x14
cmp dword [r15 + 0x4c], r13d
mov r13d, dword [rbp + 4]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x15
cmp dword [r15 + 0x50], r13d
mov r13d, dword [rbp]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x16
cmp dword [r15 + 0x54], r13d
mov r13d, dword [rbp - 4]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x17
cmp dword [r15 + 0x58], r13d
mov r13d, dword [rbp - 8]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x18
cmp dword [r15 + 0x5c], r13d
mov r13d, dword [rbp - 0xc]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x19
cmp dword [r15 + 0x60], r13d
mov r13d, dword [rbp - 0x10]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1a
cmp dword [r15 + 0x64], r13d
mov r13d, dword [rbp - 0x14]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1b
cmp dword [r15 + 0x68], r13d
mov r13d, dword [rbp - 0x18]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1c
cmp dword [r15 + 0x6c], r13d
mov r13d, dword [rbp - 0x1c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1d
cmp dword [r15 + 0x70], r13d
mov r13d, dword [rbp - 0x20]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x1e
cmp dword [r15 + 0x74], r13d
mov r13d, dword [rbp - 0x24]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x1f
cmp dword [r15 + 0x78], r13d
mov r13d, dword [rbp - 0x28]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x20
cmp dword [r15 + 0x7c], r13d
mov r13d, dword [rbp - 0x2c]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x21
cmp dword [r15 + 0x80], r13d
mov r13d, dword [rbp - 0x30]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x22
cmp dword [r15 + 0x84], r13d
mov r13d, dword [rbp + 0x70]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x23
cmp dword [r15 + 0x88], r13d
mov r13d, dword [rbp + 0x6c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x24
cmp dword [r15 + 0x8c], r13d
mov r13d, dword [rbp + 0x68]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x25
cmp dword [r15 + 0x90], r13d
mov r13d, dword [rbp + 0x64]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x26
cmp dword [r15 + 0x94], r13d
cmovge ecx, eax
mov r13d, dword [rbp + 0x60]
mov eax, dword [rsp + 0x50]
add eax, 0x27
cmp dword [r15 + 0x98], r13d
mov r13d, dword [rbp + 0x5c]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x28
cmp dword [r15 + 0x9c], r13d
mov r13d, dword [rbp + 0x58]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x29
cmp dword [r15 + 0xa0], r13d
mov r13d, dword [rbp + 0x54]
cmovge eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, 0x2a
cmp dword [r15 + 0xa4], r13d
mov r13d, dword [rbp + 0x50]
mov r15d, dword [rbp - 0x78]
cmovge ecx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x2b
cmp r13d, dword [rbp + 0x4c]
mov r13d, dword [rsp + 0x50]
cmovge eax, ecx
cmp r15d, dword [rsp + 0x60]
lea ecx, [r13 + 0x2c]
cmovge ecx, eax
cmp edi, r12d
lea eax, [r13 + 0x2d]
cmovge eax, ecx
cmp r11d, esi
lea ecx, [r13 + 0x2e]
cmovge ecx, eax
cmp r8d, ebx
lea eax, [r13 + 0x2f]
cmovge eax, ecx
cmp edx, r10d
lea ecx, [r13 + 0x30]
mov edx, r9d
cmovge ecx, eax
cmp r9d, r14d
lea eax, [r13 + 0x31]
cmovge eax, ecx
add qword [rsp + 0x58], 0xc8
add r13d, 0x32
mov dword [rsp + 0x70], eax
cmp r9d, r14d
mov dword [rsp + 0x50], r13d
mov r9, qword [rsp + 0x58]
cmovge edx, r14d
mov dword [rsp + 0x64], edx
cmp r13d, 0x64
jl 0x180201581
mov rsi, qword [rbp - 0x38]
mov r14d, dword [rsp + 0x6c]
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp + 0x2520]
mov r13, qword [rbp - 0x68]
mov dword [rsp + 0x70], eax
jmp 0x180200368
mov rdi, qword [rbp + 0x2510]
mov ebx, 1
cmp dword [rdi + 0x48], 0
je 0x180201edf
mov rax, rsi
cmp rsi, r11
jge 0x180201c41
nop
mov word [rbp + rax*2 + 0x7d0], cx
add rax, 4
cmp rax, r11
jl 0x180201c30
lea rax, [rbp + 0x7d0]
lea r11, [rax + r11*2]
lea rax, [rbp + 0x7d0]
lea rcx, [rbp + 0x640]
lea r8, [rbp + 0x7d0]
cmp rax, r11
jae 0x180201d60
nop word [rax + rax]
lea rax, [rbp + 0x7d0]
cmp rcx, rax
jae 0x180201d60
movzx edx, byte [r8 + 1]
lea r10, [rcx + 1]
test dl, dl
je 0x180201d1f
cmp dl, 8
jb 0x180201ceb
movzx eax, dl
shr al, 4
sub al, 0x20
mov byte [rcx], al
lea rax, [rbp + 0x7d0]
mov rcx, r10
cmp r10, rax
jae 0x180201d53
movzx r9d, byte [r8]
and dl, 0xf
sub dl, 0x20
movzx eax, r9b
shr al, 6
inc rcx
shl dl, 2
add dl, al
lea rax, [rbp + 0x7d0]
mov byte [r10], dl
cmp rcx, rax
jae 0x180201d53
and r9b, 0x3f
add r9b, 0x80
mov byte [rcx], r9b
inc rcx
jmp 0x180201d53
movzx r9d, byte [r8]
sub dl, 0x10
movzx eax, r9b
shl dl, 2
shr al, 6
add al, dl
mov byte [rcx], al
lea rax, [rbp + 0x7d0]
mov rcx, r10
cmp r10, rax
jae 0x180201d53
and r9b, 0x3f
add r9b, 0x80
mov byte [r10], r9b
inc rcx
jmp 0x180201d53
movzx edx, byte [r8]
test dl, dl
jns 0x180201d4e
movzx eax, dl
shr al, 6
sub al, 0x40
mov byte [rcx], al
lea rax, [rbp + 0x7d0]
mov rcx, r10
cmp r10, rax
jae 0x180201d53
and dl, 0x3f
add dl, 0x80
mov byte [r10], dl
inc rcx
jmp 0x180201d53
mov byte [rcx], dl
mov rcx, r10
add r8, 2
cmp r8, r11
jb 0x180201c70
mov byte [rcx], 0
xor r13d, r13d
mov r8, r12
lea rcx, [rbp + 0x80]
lea edx, [r13 + 0x64]
call fcn.1801f5e50
lea r8, [rbp + 0x640]
mov dword [rbp - 0x58], eax
lea edx, [r13 + 0x64]
mov edi, eax
lea rcx, [rbp + 0x150]
call fcn.1801f5e50
mov dword [rbp - 0x74], eax
mov ebx, eax
test eax, eax
jle 0x180201f62
cmp edi, 0xffffffff
je 0x180201f62
mov rax, qword [rbp + 0x2510]
lea rcx, [rbp + 0x150]
mov edx, ebx
mov r8d, dword [rax + 0x4c]
call fcn.1801f6b80
mov edx, dword [rsp + 0x68]
mov esi, 1
cmp edx, esi
jl 0x180201eb6
mov eax, edi
lea ecx, [rbx - 1]
sub eax, ebx
mov dword [rbp + 0x2538], ecx
mov dword [rbp - 0x70], eax
xor r15d, r15d
movsxd r10, esi
add eax, ecx
movsxd r12, eax
js 0x180201e81
lea r14, [rbp + 0x150]
movsxd rdi, ecx
lea rax, [rbp + 0x81]
sub r14, rax
lea rbx, [rbp + 0x81]
inc r12
xor r11d, r11d
test rdi, rdi
js 0x180201e69
mov r9, r14
nop
xor r8d, r8d
xor edx, edx
test esi, esi
jle 0x180201e53
mov rax, rbx
nop dword [rax]
movzx ecx, byte [r9 + rax]
cmp byte [rax - 1], cl
jne 0x180201e53
movzx ecx, byte [r9 + rax + 1]
cmp byte [rax], cl
jne 0x180201e53
inc r8d
inc rdx
add rax, 2
cmp rdx, r10
jl 0x180201e30
cmp r8d, esi
je 0x180201e66
inc r11
add r9, 2
cmp r11, rdi
jle 0x180201e20
jmp 0x180201e69
inc r15d
sub r14, 2
add rbx, 2
sub r12, 1
jne 0x180201e14
mov ecx, dword [rbp + 0x2538]
mov edx, dword [rsp + 0x68]
add r13d, r15d
cmp r15d, 2
jl 0x180201e9f
mov eax, dword [rbp - 0x70]
dec ecx
inc esi
mov dword [rbp + 0x2538], ecx
cmp esi, edx
jle 0x180201de5
mov ebx, dword [rbp - 0x74]
mov edi, dword [rbp - 0x58]
mov r14d, dword [rsp + 0x70]
mov r15, qword [rsp + 0x58]
mov r12, qword [rbp + 0x2520]
mov rsi, qword [rbp - 0x80]
sub ebx, edi
xor ecx, ecx
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
sub eax, 2
test eax, eax
cmovg ecx, eax
sub r13d, ecx
mov dword [rbp + 0x2538], r13d
mov eax, r13d
jmp 0x180202083
lea rdx, [rbp + 0x640]
mov rcx, r12
sub rdx, r12
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180201ef0
mov rax, rsi
cmp rsi, r11
jge 0x180201f21
nop word [rax + rax]
mov byte [rbp + rax + 0x640], 0x2a
add rax, 4
cmp rax, r11
jl 0x180201f10
xor r10d, r10d
mov r13, 0xffffffffffffffff
mov dword [rbp + 0x2538], r10d
inc r13
cmp byte [r12 + r13], r10b
jne 0x180201f32
lea rax, [rbp + 0x640]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r10b
jne 0x180201f50
mov qword [rbp - 0x50], r8
test r8d, r8d
jne 0x180201f69
xor eax, eax
jmp 0x180202083
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rbp + rcx + 0x640]
mov byte [rbp + rcx + 0xbc0], al
lea rcx, [rcx + 1]
test al, al
jne 0x180201f70
movzx eax, byte [rbp + 0xbc0]
lea rdx, [rbp + 0xbc0]
mov r9, qword [rdi + 0x40]
test al, al
je 0x180201fba
nop dword [rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r9 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180201fa0
mov dword [rsp + 0x74], ebx
mov ecx, ebx
mov r12, rbx
cmp rbx, r11
jg 0x18020205a
nop dword [rax]
xor esi, esi
mov eax, r13d
sub eax, ecx
js 0x18020202b
mov rcx, qword [rbp + 0x2520]
lea r14d, [rax + 1]
mov rdi, rcx
lea rbx, [r12 + rcx]
nop dword [rax + rax]
movzx r15d, byte [rbx]
lea rcx, [rbp + 0xbc0]
mov rdx, rdi
mov byte [rbx], 0
call fcn.180299a60
test rax, rax
je 0x18020200d
inc esi
mov byte [rbx], r15b
inc rdi
inc rbx
sub r14, 1
jne 0x180201ff0
mov ecx, dword [rsp + 0x74]
mov r10d, dword [rbp + 0x2538]
mov r11, qword [rbp - 0x60]
add r10d, esi
mov dword [rbp + 0x2538], r10d
cmp esi, 2
jl 0x180202048
inc ecx
inc r12
mov dword [rsp + 0x74], ecx
cmp r12, r11
jle 0x180201fd0
mov r8, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x80]
mov r14d, dword [rsp + 0x70]
mov r15, qword [rsp + 0x58]
mov r12, qword [rbp + 0x2520]
sub r8d, r13d
xor ecx, ecx
mov eax, r8d
cdq
xor eax, edx
sub eax, edx
sub eax, 2
test eax, eax
cmovg ecx, eax
sub r10d, ecx
mov dword [rbp + 0x2538], r10d
mov eax, r10d
mov r11, qword [rbp - 0x60]
add r14d, eax
inc rsi
mov dword [rsp + 0x70], r14d
sub r15, 1
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x58], r15
mov ecx, 0x2a
jne 0x180201c10
mov eax, 0x55555556
imul r14d
mov r12d, edx
shr r12d, 0x1f
dec r12d
add r12d, edx
cmp dword [0x1803df878], 2
jl 0x1802021c6
movdqa xmm5, xmmword [0x18037e940]
lea edx, [rcx - 0x26]
movdqa xmm4, xmmword [0x18037ead0]
lea r8, [rbp + 0x1208]
xor ecx, ecx
xorps xmm3, xmm3
mov r9d, 0xc8
movq xmm2, xmm5
lea eax, [rdx - 4]
movd xmm1, eax
lea r8, [r8 + 0x20]
pshufd xmm1, xmm1, 0
lea eax, [rdx - 2]
paddd xmm1, xmm2
movq xmm0, xmm4
pmulld xmm1, xmm0
movq qword [r8 - 0x28], xmm1
movd xmm1, eax
lea eax, [rdx + 2]
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
pmulld xmm1, xmm0
movq qword [r8 - 0x20], xmm1
movd xmm1, edx
add edx, 8
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
pmulld xmm1, xmm0
movq qword [r8 - 0x18], xmm1
movd xmm1, eax
lea eax, [rdx - 4]
pshufd xmm1, xmm1, 0
movdqu xmmword [rbp + rcx + 0x1520], xmm3
movdqu xmmword [rbp + rcx + 0xbc0], xmm3
movdqu xmmword [rbp + rcx + 0x1530], xmm3
movdqu xmmword [rbp + rcx + 0xbd0], xmm3
movdqu xmmword [rbp + rcx + 0x1540], xmm3
movdqu xmmword [rbp + rcx + 0xbe0], xmm3
paddd xmm1, xmm2
pmulld xmm1, xmm0
movq qword [r8 - 0x10], xmm1
movdqu xmmword [rbp + rcx + 0x1550], xmm3
movdqu xmmword [rbp + rcx + 0xbf0], xmm3
lea rcx, [rcx + 0x40]
cmp eax, r9d
jl 0x1802020f1
jmp 0x180202251
mov r8d, 0x19
lea rdx, [rbp + 0x1200]
mov r9d, r8d
lea rax, [rbp + 0xbc0]
xor ecx, ecx
nop
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov qword [rax - 0x18], rcx
mov qword [rax - 0x10], rcx
mov qword [rax - 8], rcx
sub r9, 1
jne 0x1802021e0
lea rax, [rbp + 0x1520]
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov qword [rax - 0x18], rcx
mov qword [rax - 0x10], rcx
mov qword [rax - 8], rcx
sub r8, 1
jne 0x180202210
nop dword [rax]
mov dword [rdx], ecx
lea rdx, [rdx + 4]
sub ecx, 0x64
cmp ecx, 0xffffb1e0
jg 0x180202240
mov edx, 0x18
lea ecx, [rdx + 0x4c]
call fcn.1802aacc0
mov qword [rbp - 0x60], rax
mov rdi, rax
test rax, rax
jne 0x180202289
cmp dword [rbp + 0x48], eax
je 0x18020227e
mov rax, qword [rbp + 0x2510]
mov ecx, 1
mov dword [rax + 0x48], ecx
mov eax, dword [rbp + 0x2528]
jmp 0x1802037fd
lea r13, [rbp + 0x21a0]
mov r14d, 0x64
mov qword [rbp - 0x80], r13
mov esi, 0xc7
mov qword [rsp + 0x58], r14
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [r13]
test rbx, rbx
je 0x18020248c
movzx edx, byte [rbx + 0x20]
test dl, 4
je 0x180202330
test dl, dl
je 0x180202330
movzx ecx, byte [rbx]
add rcx, 0x22
add rcx, rbx
test dl, 2
je 0x1802022dc
mov rcx, qword [rcx]
test rcx, rcx
je 0x180202330
lea rdx, [0x180379ee4]
call fcn.180299a60
test rax, rax
je 0x180202330
movzx edx, byte [rax + 3]
lea r8, [rbp + 0xa30]
add rax, 3
cmp dl, 0x20
je 0x180202323
lea ecx, [rdx - 9]
cmp cl, 1
jbe 0x180202323
test dl, dl
je 0x180202323
inc rax
mov byte [r8], dl
inc r8
movzx edx, byte [rax]
cmp dl, 0x20
jne 0x180202306
mov byte [r8], 0
lea rax, [rbp + 0xa30]
jmp 0x180202332
xor eax, eax
movzx ecx, byte [rbx]
lea r9, [rbx + 0x21]
mov qword [rsp + 0x48], rax
mov rdx, rdi
mov rax, qword [rbp - 0x48]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x2520]
mov qword [rsp + 0x38], rax
movzx eax, word [rbx + 2]
mov word [rsp + 0x30], ax
mov rax, qword [rbx + 8]
mov rbx, qword [rbp + 0x2510]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbx + 0x30]
call fcn.1802109c0
movsxd r15, eax
test eax, eax
jle 0x18020248c
mov r13, qword [rbp + 0x2520]
mov r14, rdi
jmp 0x180202399
mov rbx, qword [rbp + 0x2510]
mov r9, qword [r14]
mov r8, r13
mov edx, dword [rsp + 0x68]
mov rcx, rbx
mov dword [rsp + 0x20], 6
call fcn.1802054b0
mov r8, qword [r14]
mov rdx, r13
mov rcx, qword [rbp + 0x2510]
mov edi, eax
call fcn.1802057b0
add edi, eax
cmp edi, r12d
jle 0x18020245b
cmp edi, dword [rbp + rsi*4 + 0x1200]
jle 0x18020245b
mov rcx, qword [rbp + rsi*8 + 0x1520]
test rcx, rcx
je 0x180202403
call fcn.1802a430c
mov rcx, qword [rbp + rsi*8 + 0xbc0]
test rcx, rcx
je 0x180202403
call fcn.1802a430c
mov rax, qword [r14]
xor edx, edx
mov r8, qword [rbp - 0x68]
xor ecx, ecx
mov qword [rbp + rsi*8 + 0x1520], rax
mov r13d, 0xc8
mov rax, qword [r14 + 0x10]
mov qword [rbp + rsi*8 + 0xbc0], rax
mov dword [rbp + rsi*4 + 0x1200], edi
nop
mov eax, dword [rbp + rcx*4 + 0x1200]
cmp eax, edi
cmovl rsi, rcx
inc edx
inc rcx
cmp eax, edi
cmovge eax, edi
mov edi, eax
cmp edx, r13d
jl 0x180202430
mov r13, qword [rbp + 0x2520]
mov qword [rbp - 0x68], r8
jmp 0x180202471
mov rcx, qword [r14]
call fcn.1802a430c
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x180202471
call fcn.1802a430c
add r14, 0x18
sub r15, 1
jne 0x180202392
mov r13, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x60]
mov r14, qword [rsp + 0x58]
add r13, 8
sub r14, 1
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x58], r14
jne 0x1802022b0
mov rcx, rdi
call fcn.1802a430c
xor r14d, r14d
lea rsi, [rbp + 0x1204]
mov edi, 1
mov r15d, 0xc8
mov r8d, dword [rsi]
mov r11d, edi
mov r10, rsi
mov rdx, r14
nop dword [rax]
mov ebx, dword [r10 - 4]
cmp ebx, r8d
jge 0x180202530
mov rcx, qword [rbp + rdx + 0x1520]
dec r11d
mov rax, qword [rbp + rdx + 0x1528]
mov qword [rbp + rdx + 0x1520], rax
mov rax, qword [rbp + rdx + 0xbc8]
mov qword [rbp + rdx + 0x1528], rcx
mov rcx, qword [rbp + rdx + 0xbc0]
mov qword [rbp + rdx + 0xbc0], rax
mov qword [rbp + rdx + 0xbc8], rcx
sub rdx, 8
mov dword [r10 - 4], r8d
mov dword [r10], ebx
add r10, 0xfffffffffffffffc
test r11d, r11d
jg 0x1802024d0
inc edi
add rsi, 4
add r14, 8
cmp edi, r15d
jl 0x1802024c0
cmp qword [rbp - 0x68], 0
je 0x18020283c
mov r11d, 3
lea rsi, [rbp + 0x8ac]
lea r14, [rbp + 0x1e98]
nop
lea edi, [r11 - 2]
test edi, edi
jle 0x1802025a0
mov r8d, dword [rsi - 8]
lea rbx, [rsi - 8]
lea r9, [r14 - 0x10]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x1802025a0
mov rcx, qword [r9 - 8]
dec edi
mov rax, qword [r9]
mov qword [r9 - 8], rax
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx - 4], r8d
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x180202574
lea edi, [r11 - 1]
test edi, edi
jle 0x1802025e0
mov r8d, dword [rsi - 4]
lea rbx, [rsi - 4]
lea r9, [r14 - 8]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x1802025e0
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802025b4
mov edi, r11d
test r11d, r11d
jle 0x18020261d
mov r8d, dword [rsi]
mov r9, r14
mov rbx, rsi
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020261d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802025f1
lea edi, [r11 + 1]
test edi, edi
jle 0x18020265d
mov r8d, dword [rsi + 4]
lea rbx, [rsi + 4]
lea r9, [r14 + 8]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020265d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x180202631
lea edi, [r11 + 2]
test edi, edi
jle 0x18020269d
mov r8d, dword [rsi + 8]
lea rbx, [rsi + 8]
lea r9, [r14 + 0x10]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020269d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x180202671
lea edi, [r11 + 3]
test edi, edi
jle 0x1802026dd
mov r8d, dword [rsi + 0xc]
lea rbx, [rsi + 0xc]
lea r9, [r14 + 0x18]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x1802026dd
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802026b1
lea edi, [r11 + 4]
test edi, edi
jle 0x18020271d
mov r8d, dword [rsi + 0x10]
lea rbx, [rsi + 0x10]
lea r9, [r14 + 0x20]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020271d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802026f1
lea edi, [r11 + 5]
test edi, edi
jle 0x18020275d
mov r8d, dword [rsi + 0x14]
lea rbx, [rsi + 0x14]
lea r9, [r14 + 0x28]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020275d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x180202731
lea edi, [r11 + 6]
test edi, edi
jle 0x18020279d
mov r8d, dword [rsi + 0x18]
lea rbx, [rsi + 0x18]
lea r9, [r14 + 0x30]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020279d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x180202771
lea edi, [r11 + 7]
test edi, edi
jle 0x1802027dd
mov r8d, dword [rsi + 0x1c]
lea rbx, [rsi + 0x1c]
lea r9, [r14 + 0x38]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x1802027dd
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802027b1
lea edi, [r11 + 8]
test edi, edi
jle 0x18020281d
mov r8d, dword [rsi + 0x20]
lea rbx, [rsi + 0x20]
lea r9, [r14 + 0x40]
mov r15d, dword [rbx - 4]
cmp r15d, r8d
jge 0x18020281d
mov rax, qword [r9]
dec edi
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [rbx - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [rbx], r15d
add rbx, 0xfffffffffffffffc
test edi, edi
jg 0x1802027f1
add r11d, 0xb
add r14, 0x58
add rsi, 0x2c
lea eax, [r11 - 2]
cmp eax, 0x64
jl 0x180202560
mov r15d, 0xc8
xor r13d, r13d
lea rax, [rbp + 0x1200]
lea rcx, [rbp + 0x1520]
mov dword [rbp + 0x2538], r13d
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x48], rcx
nop dword [rax]
mov r8, qword [rcx]
test r8, r8
je 0x180202d9d
mov rbx, qword [rbp + 0x2510]
cmp dword [rbx + 0x48], 0
je 0x1802029c8
mov edx, 0x64
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
mov r8d, dword [rbx + 0x4c]
lea rcx, [rbp + 0x80]
movsxd r14, eax
mov edx, r14d
call fcn.1801f6b80
lea r11, [rbp + 0x80]
lea r11, [r11 + r14*2]
lea rax, [rbp + 0x80]
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x80]
cmp rax, r11
jae 0x1802029c2
nop dword [rax]
lea rax, [rbp + 0x3b0]
cmp r8, rax
jae 0x1802029c2
movzx ecx, byte [rdx + 1]
lea r10, [r8 + 1]
test cl, cl
je 0x180202980
cmp cl, 8
jb 0x18020294b
movzx eax, cl
shr al, 4
sub al, 0x20
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x1802029b5
movzx r9d, byte [rdx]
and cl, 0xf
sub cl, 0x20
movzx eax, r9b
shr al, 6
inc r8
shl cl, 2
add cl, al
lea rax, [rbp + 0x3b0]
mov byte [r10], cl
cmp r8, rax
jae 0x1802029b5
and r9b, 0x3f
add r9b, 0x80
mov byte [r8], r9b
inc r8
jmp 0x1802029b5
movzx r9d, byte [rdx]
sub cl, 0x10
movzx eax, r9b
shl cl, 2
shr al, 6
add al, cl
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x1802029b5
and r9b, 0x3f
add r9b, 0x80
mov byte [r10], r9b
inc r8
jmp 0x1802029b5
movzx ecx, byte [rdx]
test cl, cl
jns 0x1802029af
movzx eax, cl
shr al, 6
sub al, 0x40
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x1802029b5
and cl, 0x3f
add cl, 0x80
mov byte [r10], cl
inc r8
jmp 0x1802029b5
mov byte [r8], cl
mov r8, r10
add rdx, 2
cmp rdx, r11
jb 0x1802028d0
mov byte [r8], 0
jmp 0x180202a3b
lea rdx, [rbp + 0x220]
mov rcx, r8
sub rdx, r8
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1802029e0
movzx eax, byte [rbp + 0x220]
lea rdx, [rbp + 0x220]
mov r9, qword [rbx + 0x40]
test al, al
je 0x180202a2a
nop dword [rax]
nop dword [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r9 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180202a10
mov r14, 0xffffffffffffffff
inc r14
cmp byte [r8 + r14], 0
jne 0x180202a31
mov r12, qword [rbp + 0x2520]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x70]
lea rax, [rbp - 0x74]
mov rdx, r12
lea r8, [rbp + 0x220]
mov qword [rsp + 0x20], rax
mov rcx, rbx
xor r15d, r15d
call fcn.1802059a0
mov r9, qword [rbp - 0x60]
test r9, r9
je 0x180202ab5
mov ecx, dword [rbp - 0x70]
mov r10d, dword [rbp - 0x74]
mov edx, r10d
test ecx, ecx
je 0x180202aad
test edx, edx
je 0x180202aad
lea eax, [r10 + 1]
imul eax, ecx
add eax, edx
cdqe
movzx r8d, byte [rax + r9]
cmp r8b, 2
jne 0x180202b6b
inc r15d
dec ecx
dec edx
test ecx, ecx
jne 0x180202a84
mov rcx, r9
call fcn.1802a430c
mov eax, dword [rsp + 0x68]
cmp eax, r14d
jne 0x180202ac7
cmp eax, r15d
je 0x180202f72
mov r8, qword [rbp + 0x2510]
xor esi, esi
xor edi, edi
xor ebx, ebx
xor r12d, r12d
cmp dword [r8 + 0x48], ebx
je 0x180202bfd
mov r8, qword [rbp + 0x2520]
lea edx, [rsi + 0x64]
lea rcx, [rbp + 0x150]
call fcn.1801f5e50
lea r8, [rbp + 0x220]
mov dword [rsp + 0x74], eax
lea edx, [rsi + 0x64]
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
movsxd r13, eax
lea edx, [rsi + 1]
mov rax, qword [rbp + 0x2510]
lea rcx, [rbp + r13*2 + 0x7e]
mov r8d, dword [rax + 0x4c]
cmp dword [rax + 0x58], ebx
jne 0x180202b33
lea rcx, [rbp + 0x80]
call fcn.1801f6b80
movsxd r8, dword [rsp + 0x74]
xor ecx, ecx
xor edx, edx
test r8, r8
jle 0x180202d3b
nop word [rax + rax]
cmp ecx, r13d
jge 0x180202b94
movzx eax, word [rbp + rdx*2 + 0x80]
cmp word [rbp + rdx*2 + 0x150], ax
jne 0x180202b7b
inc esi
jmp 0x180202b8a
test r8b, r8b
jne 0x180202aa7
dec ecx
jmp 0x180202aa9
cmp rbx, 2
jge 0x180202b85
mov dword [rsp + rbx*4 + 0x58], ecx
inc edi
inc rbx
inc ecx
inc rdx
cmp rdx, r8
jl 0x180202b50
cmp edi, 2
jne 0x180202d3b
cmp dword [rsp + 0x74], r13d
jne 0x180202d3b
movsxd rax, dword [rsp + 0x5c]
lea rcx, [rax + rax]
movsxd rax, dword [rsp + 0x58]
lea rdx, [rax + rax]
movzx eax, word [rbp + rcx + 0x80]
cmp word [rbp + rdx + 0x150], ax
jne 0x180202d3b
movzx eax, word [rbp + rdx + 0x80]
mov r13d, dword [rbp + 0x2538]
mov r10, qword [rbp + 0x2520]
cmp word [rbp + rcx + 0x150], ax
jne 0x180202d49
lea r12d, [rdi - 1]
jmp 0x180202d49
xor ecx, ecx
nop
movzx eax, byte [rbp + rcx + 0x220]
mov byte [rbp + rcx + 0x3b0], al
lea rcx, [rcx + 1]
test al, al
jne 0x180202c00
cmp dword [r8 + 0x58], ebx
je 0x180202c5b
lea rcx, [rbp + 0x3b0]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x180202c30
cdqe
lea rdx, [rbp + rax + 0x3af]
movzx eax, byte [rbp + rax + 0x3af]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x40]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx], cl
jmp 0x180202c9a
movzx eax, byte [rbp + 0x3b0]
lea rdx, [rbp + 0x3b0]
mov r8, qword [r8 + 0x40]
test al, al
je 0x180202c9a
nop dword [rax]
nop word [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r8 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180202c80
mov r10, qword [rbp + 0x2520]
xor ecx, ecx
xor r8d, r8d
cmp byte [r10], cl
je 0x180202d49
lea r9, [rbp + 0x3b0]
mov rax, r10
sub r9, r10
nop dword [rax]
movzx edx, byte [r9 + rax]
test dl, dl
je 0x180202ced
cmp byte [rax], dl
jne 0x180202cd1
inc esi
jmp 0x180202ce0
cmp rbx, 2
jge 0x180202cdb
mov dword [rsp + rbx*4 + 0x58], ecx
inc edi
inc rbx
inc rax
inc ecx
inc r8
cmp byte [rax], r12b
jne 0x180202cc0
cmp edi, 2
jne 0x180202d49
cmp byte [r8 + r10], r12b
jne 0x180202d49
cmp byte [rbp + r8 + 0x3b0], r12b
jne 0x180202d49
mov r8, qword [rbp + 0x2520]
movsxd rcx, dword [rsp + 0x5c]
mov r10, r8
movsxd rdx, dword [rsp + 0x58]
movzx eax, byte [rbp + rcx + 0x3b0]
cmp byte [rdx + r8], al
jne 0x180202d49
movzx eax, byte [rbp + rdx + 0x3b0]
cmp byte [rcx + r8], al
mov eax, 1
cmove r12d, eax
jmp 0x180202d49
mov r10, qword [rbp + 0x2520]
mov r13d, dword [rbp + 0x2538]
mov rcx, qword [rbp + 0x2510]
lea r8, [rbp + 0x220]
mov rdx, r10
call fcn.1802057b0
mov r8d, eax
mov eax, dword [rsp + 0x68]
sub eax, r14d
cdq
xor eax, edx
sub eax, edx
xor edx, edx
cmp r15d, esi
sete dl
neg r12d
sbb ecx, ecx
and ecx, 0x3e8
add edx, ecx
lea ecx, [rdx + r15*2]
mov r15d, 0xc8
sub ecx, eax
mov rax, qword [rbp - 0x80]
add r8d, ecx
mov rcx, qword [rbp - 0x48]
add dword [rax], r8d
inc r13d
add rcx, 8
add rax, 4
mov dword [rbp + 0x2538], r13d
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x80], rax
cmp r13d, r15d
jl 0x180202860
mov r12, qword [rbp + 0x2520]
mov edi, 1
lea rsi, [rbp + 0x1204]
xor r14d, r14d
nop word [rax + rax]
mov r8d, dword [rsi]
mov r11d, edi
mov r10, rsi
mov rdx, r14
nop dword [rax]
mov ebx, dword [r10 - 4]
cmp ebx, r8d
jge 0x180202e50
mov rcx, qword [rbp + rdx + 0x1520]
dec r11d
mov rax, qword [rbp + rdx + 0x1528]
mov qword [rbp + rdx + 0x1520], rax
mov rax, qword [rbp + rdx + 0xbc8]
mov qword [rbp + rdx + 0x1528], rcx
mov rcx, qword [rbp + rdx + 0xbc0]
mov qword [rbp + rdx + 0xbc0], rax
mov qword [rbp + rdx + 0xbc8], rcx
sub rdx, 8
mov dword [r10 - 4], r8d
mov dword [r10], ebx
add r10, 0xfffffffffffffffc
test r11d, r11d
jg 0x180202df0
inc edi
add rsi, 4
add r14, 8
cmp edi, r15d
jl 0x180202de0
cmp qword [rbp - 0x68], 0
je 0x180203477
lea rsi, [rbp + 0x8a0]
mov r15d, 0x64
lea r14, [rbp + 0x1e80]
nop
mov r8, qword [r14]
test r8, r8
je 0x180203123
mov r13, qword [rbp + 0x2510]
cmp dword [r13 + 0x48], 0
je 0x180203008
mov edx, 0x64
lea rcx, [rbp + 0x80]
call fcn.1801f5e50
mov r8d, dword [r13 + 0x4c]
lea rcx, [rbp + 0x80]
movsxd rbx, eax
mov edx, ebx
call fcn.1801f6b80
lea r11, [rbp + 0x80]
lea r11, [r11 + rbx*2]
lea rax, [rbp + 0x80]
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x80]
cmp rax, r11
jae 0x180203002
nop dword [rax]
lea rax, [rbp + 0x3b0]
cmp r8, rax
jae 0x180203002
movzx ecx, byte [rdx + 1]
lea r10, [r8 + 1]
test cl, cl
je 0x180202fc0
cmp cl, 8
jb 0x180202f8b
movzx eax, cl
shr al, 4
sub al, 0x20
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x180202ff5
movzx r9d, byte [rdx]
and cl, 0xf
sub cl, 0x20
movzx eax, r9b
shr al, 6
inc r8
shl cl, 2
add cl, al
lea rax, [rbp + 0x3b0]
mov byte [r10], cl
cmp r8, rax
jae 0x180202ff5
and r9b, 0x3f
add r9b, 0x80
mov byte [r8], r9b
inc r8
jmp 0x180202ff5
movsxd rax, r13d
mov r15d, 0xc8
add dword [rbp + rax*4 + 0x1200], 0x7d0
jmp 0x180202dc7
movzx r9d, byte [rdx]
sub cl, 0x10
movzx eax, r9b
shl cl, 2
shr al, 6
add al, cl
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x180202ff5
and r9b, 0x3f
add r9b, 0x80
mov byte [r10], r9b
inc r8
jmp 0x180202ff5
movzx ecx, byte [rdx]
test cl, cl
jns 0x180202fef
movzx eax, cl
shr al, 6
sub al, 0x40
mov byte [r8], al
lea rax, [rbp + 0x3b0]
mov r8, r10
cmp r10, rax
jae 0x180202ff5
and cl, 0x3f
add cl, 0x80
mov byte [r10], cl
inc r8
jmp 0x180202ff5
mov byte [r8], cl
mov r8, r10
add rdx, 2
cmp rdx, r11
jb 0x180202ef0
mov byte [r8], 0
jmp 0x18020307b
lea rdx, [rbp + 0x220]
mov rcx, r8
sub rdx, r8
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180203020
movzx eax, byte [rbp + 0x220]
lea rdx, [rbp + 0x220]
mov r9, qword [r13 + 0x40]
test al, al
je 0x18020306a
nop dword [rax]
nop dword [rax + rax]
movzx ecx, al
lea rdx, [rdx + 1]
lea rax, [r9 + rcx*2]
movzx ecx, byte [rcx + rax + 1]
mov byte [rdx - 1], cl
movzx eax, byte [rdx]
test al, al
jne 0x180203050
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], 0
jne 0x180203071
lea rax, [rbp - 0x48]
mov rdx, r12
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x2538]
lea rax, [rbp + 0x2520]
mov rcx, r13
lea r8, [rbp + 0x220]
mov qword [rsp + 0x20], rax
xor edi, edi
call fcn.1802059a0
mov r9, qword [rbp - 0x48]
test r9, r9
je 0x1802030f8
mov ecx, dword [rbp + 0x2538]
mov r10d, dword [rbp + 0x2520]
mov edx, r10d
test ecx, ecx
je 0x1802030f0
test edx, edx
je 0x1802030f0
lea eax, [r10 + 1]
imul eax, ecx
add eax, edx
cdqe
movzx r8d, byte [rax + r9]
cmp r8b, 2
jne 0x1802034fa
inc edi
dec ecx
dec edx
test ecx, ecx
jne 0x1802030c8
mov rcx, r9
call fcn.1802a430c
lea r8, [rbp + 0x220]
mov rdx, r12
mov rcx, r13
call fcn.1802057b0
mov r8d, eax
lea ecx, [rdi + rdi]
mov eax, dword [rsp + 0x68]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
sub ecx, eax
add r8d, ecx
add dword [rsi], r8d
add r14, 8
add rsi, 4
sub r15, 1
jne 0x180202e80
lea rdi, [rbp + 0x8ac]
lea rsi, [rbp + 0x1e98]
mov rax, qword [rsp + 0x78]
lea ebx, [rax - 2]
test ebx, ebx
jle 0x180203191
mov r8d, dword [rdi - 8]
lea r11, [rdi - 8]
lea r9, [rsi - 0x10]
nop dword [rax + rax]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x18020318c
mov rcx, qword [r9 - 8]
dec ebx
mov rax, qword [r9]
mov qword [r9 - 8], rax
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11 - 4], r8d
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203160
mov rax, qword [rsp + 0x78]
lea ebx, [rax - 1]
test ebx, ebx
jle 0x1802031d5
mov r8d, dword [rdi - 4]
lea r11, [rdi - 4]
lea r9, [rsi - 8]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x1802031d0
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x1802031a4
mov rax, qword [rsp + 0x78]
mov ebx, eax
test eax, eax
jle 0x180203215
mov r8d, dword [rdi]
mov r9, rsi
mov r11, rdi
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x180203210
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x1802031e4
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 1]
test ebx, ebx
jle 0x180203261
mov r8d, dword [rdi + 4]
lea r11, [rdi + 4]
lea r9, [rsi + 8]
nop dword [rax + rax]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x18020325c
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203230
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 2]
test ebx, ebx
jle 0x1802032a5
mov r8d, dword [rdi + 8]
lea r11, [rdi + 8]
lea r9, [rsi + 0x10]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x1802032a0
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203274
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 3]
test ebx, ebx
jle 0x1802032f1
mov r8d, dword [rdi + 0xc]
lea r11, [rdi + 0xc]
lea r9, [rsi + 0x18]
nop dword [rax + rax]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x1802032ec
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x1802032c0
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 4]
test ebx, ebx
jle 0x180203335
mov r8d, dword [rdi + 0x10]
lea r11, [rdi + 0x10]
lea r9, [rsi + 0x20]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x180203330
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203304
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 5]
test ebx, ebx
jle 0x180203381
mov r8d, dword [rdi + 0x14]
lea r11, [rdi + 0x14]
lea r9, [rsi + 0x28]
nop dword [rax + rax]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x18020337c
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203350
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 6]
test ebx, ebx
jle 0x1802033c5
mov r8d, dword [rdi + 0x18]
lea r11, [rdi + 0x18]
lea r9, [rsi + 0x30]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x1802033c0
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203394
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 7]
test ebx, ebx
jle 0x180203411
mov r8d, dword [rdi + 0x1c]
lea r11, [rdi + 0x1c]
lea r9, [rsi + 0x38]
nop dword [rax + rax]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x18020340c
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x1802033e0
mov rax, qword [rsp + 0x78]
lea ebx, [rax + 8]
test ebx, ebx
jle 0x180203455
mov r8d, dword [rdi + 0x20]
lea r11, [rdi + 0x20]
lea r9, [rsi + 0x40]
mov r14d, dword [r11 - 4]
cmp r14d, r8d
jge 0x180203450
mov rax, qword [r9]
dec ebx
mov rcx, qword [r9 - 8]
mov qword [r9 - 8], rax
mov dword [r11 - 4], r8d
mov qword [r9], rcx
add r9, 0xfffffffffffffff8
mov dword [r11], r14d
add r11, 0xfffffffffffffffc
test ebx, ebx
jg 0x180203424
mov rax, qword [rsp + 0x78]
add eax, 0xb
add rsi, 0x58
mov qword [rsp + 0x78], rax
add rdi, 0x2c
add eax, 0xfffffffe
cmp eax, 0x64
jl 0x180203143
mov r15d, 0xc8
movsxd r8, dword [rbp + 0x2528]
lea r13, [rbp + 0x1200]
xor edx, edx
mov qword [rbp - 0x48], r13
mov ecx, r8d
mov dword [rbp + 0x2538], edx
xor r12d, r12d
mov dword [rbp + 0x2520], ecx
mov qword [rbp - 0x80], r12
mov rsi, r8
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp + r12 + 0x1520]
mov rdi, qword [rbp + 0x2510]
test rbx, rbx
je 0x180203617
add ecx, dword [rdi + 0x54]
cmp r8d, ecx
jge 0x18020373e
cmp r8d, dword [rdi + 0x38]
jge 0x18020373e
test edx, edx
je 0x18020350a
cmp dword [r13], 0x3e8
jle 0x18020373e
mov eax, 1
mov r15d, eax
jmp 0x18020351c
test r8b, r8b
jne 0x1802030ea
dec ecx
jmp 0x1802030ec
cmp dword [r13], 0x3e8
mov eax, 1
mov r15d, eax
jle 0x180203522
mov dword [rbp + 0x2538], eax
xor edi, edi
test rsi, rsi
jle 0x1802035a2
mov r14, qword [rbp + r12 + 0xbc0]
mov r12, qword [rbp + 0x2518]
mov r13, qword [rbp + 0x2510]
nop
mov rdx, qword [r12 + rdi*8]
mov rcx, rbx
test r14, r14
je 0x18020354f
mov rcx, r14
call fcn.180299a60
test rax, rax
jne 0x180203588
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180203560
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.180203820
test eax, eax
jne 0x18020358b
xor r15d, r15d
inc rdi
cmp rdi, rsi
jl 0x180203540
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x48]
mov r8d, dword [rbp + 0x2528]
lea rdi, [rbp + 0xbc0]
add rdi, r12
mov rdi, qword [rdi]
test r15d, r15d
je 0x1802035e4
mov r14, qword [rbp + 0x2518]
inc r8d
mov dword [rbp + 0x2528], r8d
mov qword [r14 + rsi*8], rbx
inc rsi
test rdi, rdi
je 0x180203761
mov rcx, rbx
call fcn.1802a430c
mov qword [r14 + rsi*8 - 8], rdi
jmp 0x1802035f9
mov rcx, rbx
call fcn.1802a430c
test rdi, rdi
je 0x1802035f9
mov rcx, rdi
call fcn.1802a430c
mov rdi, qword [rbp + 0x2510]
mov r15, qword [rbp + 0x78]
mov r8d, dword [rbp + 0x2528]
mov edx, dword [rbp + 0x2538]
mov ecx, dword [rbp + 0x2520]
add r13, 4
add r12, 8
sub r15, 1
mov qword [rbp - 0x48], r13
mov qword [rbp + 0x78], r15
mov qword [rbp - 0x80], r12
jne 0x1802034b0
cmp qword [rbp - 0x68], 0
mov eax, r8d
mov dword [rbp + 0x2538], eax
je 0x1802037e5
xor r15d, r15d
movsxd rsi, r8d
mov dword [rbp + 0x2520], r15d
lea r12, [rbp + 0x1e80]
nop dword [rax]
mov rbx, qword [r12]
mov r13d, r8d
mov dword [rbp - 0x70], r8d
test rbx, rbx
je 0x1802037c5
add eax, 2
cmp r8d, eax
jge 0x1802037bf
cmp r8d, dword [rdi + 0x38]
jge 0x1802037bf
xor edi, edi
lea r14d, [rdi + 1]
test rsi, rsi
jle 0x180203707
mov r13, qword [rbp + 0x2510]
mov r15, qword [rbp + 0x2518]
mov rdx, qword [r15 + rdi*8]
mov rcx, rbx
call fcn.180299a60
test rax, rax
jne 0x1802036e8
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x1802036c0
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.180203820
test eax, eax
jne 0x1802036eb
xor r14d, r14d
inc rdi
cmp rdi, rsi
jl 0x1802036a3
mov r15d, dword [rbp + 0x2520]
mov r13d, dword [rbp - 0x70]
test r14d, r14d
je 0x1802037b8
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x180203710
inc eax
movsxd r14, eax
mov rcx, r14
call fcn.1802a4320
mov rdi, rax
test rax, rax
je 0x180203771
mov r8, r14
mov rdx, rbx
mov rcx, rax
call fcn.180298b10
jmp 0x18020378c
mov rcx, rbx
call fcn.1802a430c
mov rcx, qword [rbp + r12 + 0xbc0]
test rcx, rcx
je 0x180203604
call fcn.1802a430c
jmp 0x180203604
mov rdi, qword [rbp + 0x2510]
mov r15, qword [rbp + 0x78]
jmp 0x18020360b
mov ecx, 2
call fcn.1802af008
mov rcx, rax
lea rdx, str.Cant_allocate_memory._n
call fcn.1800f14a0
xor edi, edi
mov r14, qword [rbp + 0x2518]
mov r8d, dword [rbp + 0x2528]
inc r8d
mov dword [rbp + 0x2528], r8d
mov qword [r14 + rsi*8], rdi
inc rsi
cmp qword [r14 + rsi*8 - 8], 0
jne 0x1802037bf
mov eax, r13d
jmp 0x1802037fd
mov r8d, dword [rbp + 0x2528]
mov eax, dword [rbp + 0x2538]
inc r15d
add r12, 8
mov dword [rbp + 0x2520], r15d
cmp r15d, 0x64
jge 0x1802037e5
mov rdi, qword [rbp + 0x2510]
jmp 0x180203660
cmp dword [rbp + 0x48], 0
je 0x1802037fa
mov rax, qword [rbp + 0x2510]
mov ecx, 1
mov dword [rax + 0x48], ecx
mov eax, r8d
mov r13, qword [rsp + 0x25c8]
add rsp, 0x25d0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret