Function at 0x18001d6f0
Capabilities:
Check http status code
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x320]
sub rsp, 0x420
mov rax, qword [0x18008b088]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov r14, qword [rbp + 0x380]
mov r11, rcx
mov ebx, dword [rbp + 0x38]
mov edi, r9d
mov qword [rsp + 0x78], rcx
mov r10, r8
lea ecx, [r9 + 0xdce]
mov dword [rbp - 0x4c], r9d
mov qword [rsp + 0x50], r8
mov rsi, rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], r14
mov dword [rsp + 0x60], ecx
cmp r9d, ecx
jae 0x18001d8ad
mov r15d, dword [rsp + 0x58]
mov r12, qword [rbp - 0x20]
mov r13d, dword [rsp + 0x5c]
mov dword [rbp - 8], ebx
cmp edi, 0x31a
ja 0x18001da0c
je 0x18001d990
cmp edi, 0x114
ja 0x18001d88b
je 0x18001d86a
mov eax, edi
sub eax, 0x17
je 0x18001d80e
sub eax, 0x43
je 0x18001d7ea
sub eax, 0x63
je 0x18001d7bb
cmp eax, 0x2f
jne 0x18001d850
mov dword [rbp + 0x40], 0
jmp 0x18001d850
mov rax, qword [rsi]
lea r9, [rbp + 0x50]
mov r8, r10
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x30]
mov qword [rbp + 0x30], 1
mov ecx, 0xf7
mov qword [rsp + 0x20], 0
call fcn.180032210
jmp 0x18001d842
lea r9, [rbp + 0xe0]
mov dword [rsp + 0x40], 1
mov r8d, 0x10d
lea rdx, [rsp + 0x40]
mov rcx, r10
call fcn.180037c70
jmp 0x18001d842
lea rdi, [r10 + 0x168]
mov esi, 0x30d40
lea r14, [r10 + 0x104]
mov r9, rdi
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, r14
mov ecx, 0x10c
call fcn.18001ab70
sub rsi, 1
jne 0x18001d821
mov edi, dword [rbp - 0x4c]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x60]
add edi, 0xba
mov dword [rbp - 0x4c], edi
cmp edi, ecx
jae 0x18001d8ad
mov rsi, qword [rbp + 0x20]
mov r14, qword [rbp + 0x28]
jmp 0x18001d771
lea rax, [rbp + 0xe0]
mov r9d, 0xcb
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rsi
xor ecx, ecx
call fcn.18003c260
jmp 0x18001d842
mov eax, edi
sub eax, 0x1a6
je 0x18001d95f
sub eax, 0x28
je 0x18001d941
sub eax, 0x92
je 0x18001d8d9
cmp eax, 0x28
jne 0x18001d850
mov eax, ebx
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.18006d4c0
mov rbx, qword [rsp + 0x478]
add rsp, 0x420
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, dword [r14]
lea r8, [rbp - 0x78]
mov r14d, dword [r10 + 0x1c]
xor edx, edx
shl r14d, cl
xor r9d, r9d
mov eax, r14d
mov qword [rsp + 0x30], 0
shr eax, 1
mov dword [rbp + 0x58], eax
mov eax, dword [rsi]
imul eax, r14d
mov dword [rbp - 0x2c], r14d
mov dword [rbp - 0x50], eax
mov eax, dword [r10]
sub eax, ecx
lea ecx, [rdx + 0xa]
mov dword [rsp + 0x40], eax
mov eax, dword [r10 + 4]
mov dword [rbp - 0x78], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18000c040
mov dword [rsp + 0x58], eax
mov r15d, eax
jmp 0x18001d842
xor r8d, r8d
lea rdx, [rbp + 0xe0]
mov ecx, 0x85
call fcn.180013e20
mov ebx, eax
mov dword [rbp - 8], eax
jmp 0x18001d842
movsxd rcx, dword [rsi]
xor eax, eax
movsxd rdx, dword [r14]
mov dword [rbp - 0x70], eax
mov rax, qword [r10 + 0x68]
mov dword [rbp + 0x3c], 0xffffffff
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r11]
mov rax, qword [rax + rdx*8]
cmp qword [rax + rcx*8], 0
jne 0x18001d8ad
jmp 0x18001d84c
mov eax, dword [r10]
lea r8, [rsp + 0x40]
sub eax, dword [r14]
xor edx, edx
mov dword [rbp - 0x28], eax
xor r9d, r9d
mov eax, dword [r10 + 8]
mov dword [rsp + 0x40], eax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], 0
lea ecx, [rdx + 0xa]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18000c040
xor ecx, ecx
mov dword [rbp - 0x10], eax
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x28]
xor edx, edx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x40]
xor r9d, r9d
mov dword [rbp - 0x28], 1
mov dword [rsp + 0x40], r15d
lea ecx, [rdx + 0xa]
call fcn.18000c040
mov dword [rbp - 0x28], eax
jmp 0x18001d842
cmp edi, 0x6bc
ja 0x18001dc89
je 0x18001dc7c
cmp edi, 0x3d4
je 0x18001dbc1
cmp edi, 0x48e
je 0x18001db35
cmp edi, 0x548
je 0x18001da9a
cmp edi, 0x602
jne 0x18001d850
mov edi, dword [r10 + 0x48]
lea rcx, [rbp + 0x110]
xor edx, edx
lea r8d, [rdi + 1]
shl r8, 2
call sub.VCRUNTIME140.dll_memset
cmp dword [rsi], 0
jne 0x18001da84
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov rax, qword [rdx + 0x50]
movsxd rcx, dword [rsi]
mov dword [rax + rcx*4], 0
mov edi, dword [rdx + 0x48]
xor eax, eax
mov dword [rbp - 0x48], 0xffffffff
test edi, edi
sete al
mov dword [rbp - 0x30], eax
jmp 0x18001d83f
mov rdi, qword [rbp - 0x20]
lea r8, [rsp + 0x40]
xor eax, eax
mov edx, 0xf3
test r13d, r13d
mov rcx, rdi
sete al
mov dword [rsp + 0x40], eax
call fcn.180030220
mov r9, qword [rsp + 0x50]
xor edx, edx
add r9, 0x78
xor ecx, ecx
lea r8d, [rdx + 0x79]
call fcn.180037c70
movsxd rdx, dword [rsi]
mov r12, rdi
movsxd r8, dword [r14]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x78]
mov dword [rbp - 0x80], 0
mov rcx, qword [r10 + 0x68]
mov rcx, qword [rcx + rdx*8]
movsxd rdx, dword [r11]
mov rcx, qword [rcx + r8*8]
mov qword [rcx + rdx*8], rax
lea rax, [0x180038c40]
mov qword [rdi + 0x1018], rax
movsxd rcx, dword [rsi]
mov rax, qword [r10 + 0x68]
movsxd rdx, dword [r14]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r11]
mov rax, qword [rax + rdx*8]
mov rcx, qword [rax + rcx*8]
mov qword [rdi + 0x1020], rcx
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
movsxd r9, dword [r11]
mov rax, qword [r10 + 0x38]
mov r8d, dword [rsi]
movsxd rdx, dword [rax + r9*4]
mov eax, r8d
imul eax, dword [rbp - 0x2c]
mov rcx, qword [r10 + rdx*8 + 0x28]
imul eax, dword [rbp - 0x68]
add rax, qword [rcx + r9*8]
mov qword [rbp - 0x58], rax
mov eax, 1
sub eax, edx
mov edx, dword [rbp - 0x14]
cdqe
mov rcx, qword [r10 + rax*8 + 0x28]
mov eax, r8d
imul eax, edx
imul eax, dword [rbp + 0x58]
add rax, qword [rcx + r9*8]
mov qword [rbp], rax
lea rcx, [rax + rdx]
mov qword [rbp + 0x18], rcx
test r8d, r8d
je 0x18001db9d
test dword [r10 + 0x44], 0x200
mov dword [rsp + 0x5c], 0
je 0x18001dba5
mov dword [rsp + 0x5c], 1
mov r13d, dword [rsp + 0x5c]
imul rax, r9, 0x1028
add rax, qword [r10 + 0x70]
mov qword [rbp - 0x20], rax
mov r12, rax
jmp 0x18001d84c
mov eax, dword [rbp - 0x10]
lea r8, [rbp - 0x78]
xor edx, edx
mov dword [rbp - 0x78], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov dword [rsp + 0x40], 1
lea ecx, [rdx + 0xa]
mov qword [rsp + 0x20], 0
call fcn.18000c040
xor esi, esi
mov dword [rbp + 0x38], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0xc8]
xor r9d, r9d
mov dword [rsp + 0x40], 3
lea ecx, [rsi + 0xa]
mov dword [rbp + 0xc8], r15d
xor edx, edx
mov qword [rsp + 0x20], rsi
call fcn.18000c040
mov dword [rbp - 0x68], eax
lea r8, [rbp + 0xb8]
mov eax, dword [rbp - 0x28]
lea ecx, [rsi + 0xa]
mov dword [rbp + 0xb8], eax
xor r9d, r9d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x40], 3
call fcn.18000c040
mov dword [rbp - 0x14], eax
jmp 0x18001d842
mov dword [rsp + 0x70], 0
jmp 0x18001d850
cmp edi, 0x776
je 0x18001e184
cmp edi, 0x830
je 0x18001e102
cmp edi, 0x8ea
je 0x18001dcba
cmp edi, 0x9a4
je 0x18001d8ad
jmp 0x18001d850
movsxd rcx, dword [rsi]
lea r8, [rbp + 0x68]
movsxd rdx, dword [r14]
mov rax, qword [r10 + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r11]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov eax, dword [r10 + 0x44]
and eax, 0x200
bts eax, 0xa
shr eax, 9
mov dword [rbp + 0x68], eax
call fcn.180038c60
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x78]
test dword [r10 + 0x44], 0x200
je 0x18001dd16
movsxd rcx, dword [r11]
mov rax, qword [r10 + 0x50]
mov dword [rax + rcx*4], 0
mov edx, dword [rbp - 0x48]
cmp edx, 0xffffffff
je 0x18001d84c
test dword [r10 + 0x44], 0x100
je 0x18001df7c
mov edi, 0x124
nop word [rax + rax]
mov eax, edi
sub eax, 0x124
je 0x18001df57
sub eax, 1
je 0x18001df19
sub eax, 1
je 0x18001dde3
cmp eax, 1
jne 0x18001df61
movsxd r8, dword [r11]
movsxd rdx, dword [rsi]
mov rax, qword [r10 + 0x68]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [r10 + 0x50]
mov rdx, qword [rcx + r8*8]
mov ecx, dword [rax + r8*4]
lea r8, [rbp + 0x70]
mov dword [rbp + 0x70], ecx
mov ecx, 0x5a
call fcn.180038c60
movsxd rcx, dword [rsi]
lea r8, [rbp + 0x78]
movsxd rdx, dword [r14]
mov rax, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rsi]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0x78], 0
call fcn.180038c60
mov r10, qword [rsp + 0x50]
mov edx, dword [rbp - 0x48]
mov rsi, qword [rbp + 0x20]
jmp 0x18001df61
movsxd rcx, dword [rsi]
lea r8, [rbp + 0x80]
movsxd rdx, dword [r14]
mov rax, qword [r10 + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r11]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0x80], 6
call fcn.180038c60
movsxd rcx, dword [rsi]
lea r8, [rbp + 0x88]
movsxd rdx, dword [r14]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov rax, qword [rsi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0x88], 0
call fcn.180038c60
mov rax, qword [rbp + 0x20]
lea r8, [rbp + 0x90]
mov rdx, qword [rbp + 0x28]
movsxd rcx, dword [rax]
movsxd rdx, dword [rdx]
mov rax, qword [rsi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0x90], 0
call fcn.180038c60
mov rax, qword [rbp + 0x20]
lea r8, [rbp + 0x98]
mov rdx, qword [rbp + 0x28]
movsxd rcx, dword [rax]
movsxd rdx, dword [rdx]
mov rax, qword [rsi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0x98], 0
call fcn.180038c60
mov rax, qword [rbp + 0x20]
lea r8, [rbp + 0xa0]
mov rdx, qword [rbp + 0x28]
movsxd rcx, dword [rax]
movsxd rdx, dword [rdx]
mov rax, qword [rsi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0xa0], 0
call fcn.180038c60
mov edx, dword [rbp - 0x48]
mov r10, rsi
mov rsi, qword [rbp + 0x20]
mov r14, qword [rbp + 0x28]
jmp 0x18001df61
movsxd rcx, dword [rsi]
lea r8, [rbp + 0xa8]
movsxd rdx, dword [r14]
mov rax, qword [r10 + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r11]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0xa8], 0xff
call fcn.180038c60
mov r10, qword [rsp + 0x50]
mov edx, dword [rbp - 0x48]
jmp 0x18001df61
movsxd rcx, dword [r11]
mov rax, qword [r10 + 0x50]
mov dword [rax + rcx*4], edx
mov r11, qword [rsp + 0x78]
inc edi
cmp edi, 0x128
jb 0x18001dd40
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
mov rsi, qword [rsp + 0x78]
mov edi, 0x11a
mov ebx, dword [rbp + 0x3c]
nop dword [rax]
cmp edi, 0x11a
je 0x18001e06d
cmp edi, 0xae0c
je 0x18001e021
cmp edi, 0x15afe
jne 0x18001e0e2
mov r14, qword [rbp + 0xd0]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], edx
mov ecx, 0x5a
mov rdx, r14
call fcn.180038c60
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov rdx, r14
mov ecx, 0x5a
call fcn.180038c60
mov rax, qword [rbp + 0x20]
xor r8d, r8d
mov rdx, qword [rbp + 0x28]
mov r9, r14
movsxd rcx, dword [rax]
movsxd rdx, dword [rdx]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rsi]
mov rax, qword [rax + rdx*8]
lea edx, [r8 + 0x6a]
lea rcx, [rax + rcx*8]
call fcn.180029420
jmp 0x18001e0da
mov r14, qword [rbp + 0xd0]
lea r8, [rsp + 0x40]
mov eax, ebx
mov rdx, r14
sar eax, 0x10
mov ecx, 0x5a
movzx eax, al
mov dword [rsp + 0x40], eax
call fcn.180038c60
mov eax, ebx
lea r8, [rsp + 0x40]
sar eax, 8
mov rdx, r14
movzx eax, al
mov ecx, 0x5a
mov dword [rsp + 0x40], eax
call fcn.180038c60
movzx eax, bl
mov dword [rsp + 0x40], eax
jmp 0x18001e0c8
xor edx, edx
lea r9, [r10 + 0x78]
xor ecx, ecx
lea r8d, [rdx + 0x79]
call fcn.180037c70
lea r8, [rsp + 0x40]
mov qword [rbp + 0xd0], rax
mov rdx, rax
mov dword [rsp + 0x40], 0xff
mov ecx, 0x5a
mov r14, rax
call fcn.180038c60
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], 6
mov rdx, r14
mov ecx, 0x5a
call fcn.180038c60
mov ecx, ebx
sar ecx, 0x18
movzx ecx, cl
mov dword [rsp + 0x40], ecx
lea r8, [rsp + 0x40]
mov rdx, r14
mov ecx, 0x5a
call fcn.180038c60
mov r10, qword [rsp + 0x50]
mov edx, dword [rbp - 0x48]
add edi, 0xacf2
cmp edi, 0x206d6
jbe 0x18001df90
mov ebx, dword [rbp - 8]
mov r11, rsi
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
mov rdx, r12
mov ecx, 0xa0
call fcn.180019e40
movsxd r8, dword [rsi]
xor edx, edx
movsxd rcx, dword [r14]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov rax, qword [rdi + 0x68]
mov r8, qword [rax + r8*8]
movsxd rax, dword [rsi]
mov r8, qword [r8 + rcx*8]
mov ecx, 0xed
mov r8, qword [r8 + rax*8]
call fcn.18005b150
movsxd rdx, dword [r14]
lea r8, [rbp + 0xb0]
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax]
mov rax, qword [rdi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rsi]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x5a
mov dword [rbp + 0xb0], 0xff
call fcn.180038c60
mov r10, rdi
mov r11, rsi
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
mov r9d, dword [rsp + 0x5c]
mov edx, dword [rbp - 0x50]
test r9d, r9d
je 0x18001e19f
mov r13, qword [rbp + 8]
xor r14d, r14d
mov dword [rsp + 0x48], r14d
jmp 0x18001e20c
mov r11, qword [rbp - 0x58]
mov eax, dword [rbp - 0x68]
mov r13, r11
sub r13, rax
mov qword [rbp + 8], r13
cmp edx, 1
jbe 0x18001e330
mov r8, r13
sub r8, rax
mov qword [rbp + 0x48], r8
nop dword [rax]
nop word [rax + rax]
mov r14d, 1
mov dword [rsp + 0x48], r14d
cmp r13, r11
jae 0x18001e203
movzx ecx, byte [r13]
inc r13
movzx eax, byte [r8]
inc r8
mov qword [rbp + 0x48], r8
mov qword [rbp + 8], r13
cmp cl, al
je 0x18001e1d0
xor r14d, r14d
mov dword [rsp + 0x48], r14d
mov ecx, dword [rsp + 0x60]
mov r11, qword [rsp + 0x78]
mov rax, qword [rbp + 0x28]
cmp dword [rax], 0
jne 0x18001ec54
xor esi, esi
mov dword [rsp + 0x40], esi
cmp dword [rbp - 0x2c], esi
jbe 0x18001f6a0
nop dword [rax + rax]
cmp edx, dword [rbp - 0x10]
jae 0x18001f68a
cmp dword [rbp - 0x30], 0
jne 0x18001e434
mov r15d, dword [rbp - 0x80]
cmp r15d, 0x800
jbe 0x18001e434
mov ebx, dword [rbp - 0x38]
mov edi, 0x6a
mov r14d, dword [rbp - 0x34]
cmp edi, 0x6a
je 0x18001e372
cmp edi, 0xcd6
jne 0x18001e410
mov r12d, dword [rbp - 0x18]
mov edx, r15d
mov r9d, r15d
sub edx, r12d
shr r9d, 3
cmp edx, r9d
jae 0x18001e366
mov rax, qword [r10 + 0x50]
movsxd rcx, dword [r11]
movsxd r10, dword [rax + rcx*4]
lea r11, [rax + rcx*4]
mov eax, r12d
mov r8d, dword [rbp + r10*4 + 0x110]
sub eax, r8d
cmp eax, edx
jbe 0x18001e361
mov ecx, r15d
shr ecx, 4
cmp eax, ecx
jbe 0x18001e361
sub r8d, r15d
lea eax, [r8 + r12]
cmp eax, edx
jbe 0x18001e361
cmp eax, ecx
jbe 0x18001e361
mov ecx, r12d
mov eax, r15d
sub ecx, ebx
shr eax, 2
cmp ecx, eax
jbe 0x18001e361
test r10d, r10d
jne 0x18001e302
mov eax, dword [rbp + 0x110]
cmp eax, r12d
cmovbe eax, r12d
sub eax, dword [rbp + 0x10]
cmp eax, r9d
jbe 0x18001e361
mov r10, qword [rsp + 0x50]
mov dword [rbp - 0x48], r14d
test dword [r10 + 0x44], 0x100
jne 0x18001e366
mov dword [rbp + 0x3c], esi
mov dword [r11], r14d
mov dword [rbp - 0x30], 1
jmp 0x18001e410
mov r14d, 1
mov dword [rsp + 0x48], r14d
cmp r13, r11
jae 0x18001e207
movzx eax, byte [r13]
inc r13
mov qword [rbp + 8], r13
test al, al
je 0x18001e330
xor r14d, r14d
mov dword [rsp + 0x48], r14d
jmp 0x18001e207
mov r10, qword [rsp + 0x50]
mov dword [rbp - 0x30], 1
jmp 0x18001e410
mov r9d, dword [r10 + 0x48]
xor r12d, r12d
xor ebx, ebx
mov dword [rbp - 0x18], r12d
test byte [r10 + 0x44], 0x40
mov eax, 5
mov r8d, 3
mov dword [rbp - 0x34], ebx
cmovne r8d, eax
mov r11d, 0xffffffff
mov dword [rbp - 0x38], r11d
cmp r8d, r9d
ja 0x18001e3f5
nop word [rax + rax]
mov edx, dword [rbp + r8*4 + 0x110]
mov ecx, r8d
cmp edx, r12d
mov eax, edx
cmovbe eax, r12d
cmp edx, r11d
mov r12d, eax
mov eax, edx
cmovae eax, r11d
mov r11d, eax
movsxd rax, ebx
cmp edx, dword [rbp + rax*4 + 0x110]
cmovbe ecx, ebx
inc r8d
mov ebx, ecx
cmp r8d, r9d
jbe 0x18001e3b0
mov dword [rbp - 0x18], r12d
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x34], ecx
cmp dword [rbp + 0x110], r11d
mov ecx, r11d
mov ebx, dword [rbp - 0x38]
cmovb ecx, dword [rbp + 0x110]
mov r14d, dword [rbp - 0x34]
mov dword [rbp + 0x10], ecx
mov r11, qword [rsp + 0x78]
add edi, 0xc6c
cmp edi, 0x18d8
jbe 0x18001e260
mov ebx, dword [rbp - 8]
mov r14d, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x5c]
mov edx, dword [r10 + 0x44]
test dl, 8
je 0x18001e518
mov r15, qword [rbp - 0x58]
mov qword [rbp + 8], r15
mov r13, r15
test esi, esi
jne 0x18001e482
test r9d, r9d
je 0x18001e482
mov edi, dword [rbp - 0x68]
lea rcx, [rdi + r15]
nop dword [rax]
mov r12d, 1
mov dword [rsp + 0x70], r12d
cmp r13, rcx
jae 0x18001e4c3
movzx eax, byte [r13]
inc r13
mov qword [rbp + 8], r13
test al, al
je 0x18001e460
jmp 0x18001e4bb
mov edi, dword [rbp - 0x68]
mov r8, r15
sub r8, rdi
mov qword [rbp + 0x48], r8
nop
mov r12d, 1
mov dword [rsp + 0x70], r12d
cmp r8, r15
jae 0x18001e4c3
movzx ecx, byte [r13]
inc r13
movzx eax, byte [r8]
inc r8
mov qword [rbp + 0x48], r8
mov qword [rbp + 8], r13
cmp cl, al
je 0x18001e490
xor r12d, r12d
mov dword [rsp + 0x70], r12d
mov r9, qword [rbp - 0x20]
xor eax, eax
cmp r12d, r14d
mov ecx, 0x195
mov r8d, 0x36
sete al
test dl, 0x40
mov dword [rbp - 0x78], eax
lea rdx, [rbp - 0x78]
mov eax, 0xe5
cmovne eax, ecx
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
call fcn.1800352b0
mov dword [rsp + 0x48], r12d
mov r14d, r12d
test r12d, r12d
je 0x18001e513
add r15, rdi
mov qword [rbp - 0x58], r15
jmp 0x18001e912
mov r10, qword [rsp + 0x50]
mov edi, dword [rsp + 0x5c]
xor eax, eax
xor r13d, r13d
mov dword [rbp - 0x70], eax
xor r12d, r12d
test esi, esi
jne 0x18001e539
test edi, edi
je 0x18001e539
mov r8d, dword [rbp - 0x68]
mov r11, qword [rbp - 0x58]
jmp 0x18001e54f
mov r11, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x68]
mov rax, r11
sub rax, r8
movzx r12d, byte [rax]
shl r12d, 8
mov rdx, r8
mov qword [rbp + 0x50], rdx
cmp esi, 1
ja 0x18001e55f
test edi, edi
jne 0x18001e571
lea rax, [rdx + rdx]
mov rcx, r11
sub rcx, rax
movzx r13d, byte [rcx]
shl r13d, 8
mov r9d, dword [rsp + 0x58]
xor r15d, r15d
test r9d, r9d
je 0x18001e912
xor r14d, r14d
lea r8d, [r8*8 - 8]
mov ecx, 1
mov dword [rbp + 0x30], r8d
sub rcx, rdx
mov dword [rbp - 0x78], r14d
mov qword [rbp + 0xd8], rcx
mov ebx, r14d
nop word [rax + rax]
movzx eax, byte [r11]
or ebx, eax
cmp r15d, r8d
jae 0x18001e5e5
test esi, esi
jne 0x18001e5c3
test edi, edi
jne 0x18001e5e5
movzx eax, byte [rcx + r11]
or r12d, eax
cmp esi, 1
ja 0x18001e5d4
test edi, edi
jne 0x18001e5e5
lea rax, [rdx + rdx]
mov rcx, r11
sub rcx, rax
movzx eax, byte [rcx + 1]
or r13d, eax
test byte [r10 + 0x44], 0x40
je 0x18001e960
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rbp - 0x80]
nop dword [rax + rax]
mov rax, qword [rsp + 0x78]
add r13d, r13d
mov edi, ecx
mov dword [rbp - 0x40], r13d
add ebx, ebx
add r12d, r12d
mov esi, r9d
movsxd rcx, dword [rax]
mov rax, qword [r10 + 0x50]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
je 0x18001e673
cmp r8d, r15d
jbe 0x18001e62f
xor edx, edx
jmp 0x18001e658
mov edx, r15d
mov ecx, 7
and edx, 7
sub edx, r8d
movzx eax, dl
and al, 7
sub cl, al
movsxd rax, edx
sar rax, 3
movzx edx, byte [rax + r11]
shr edx, cl
and edx, 1
shl edx, 4
mov ecx, r12d
mov eax, ebx
shr ecx, 1
and eax, 0x1e00
and ecx, 0x7c000
or ecx, eax
shr ecx, 9
or ecx, edx
jmp 0x18001e68a
mov ecx, r12d
mov eax, ebx
shr ecx, 1
and eax, 0x1e00
and ecx, 0x7e000
or ecx, eax
shr ecx, 9
mov r9, qword [rbp - 0x20]
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x68], ecx
mov r14d, ebx
shr r14d, 8
lea rcx, [rsp + 0x68]
and r14d, 1
mov r8d, 0x36
mov dword [rbp - 0x70], r14d
call fcn.1800352b0
cmp dword [rbp - 0x30], 0
mov ecx, edi
mov dword [rsp + 0x68], ecx
mov r9d, esi
mov dword [rbp - 0x80], esi
jne 0x18001e8b0
mov rax, qword [rsp + 0x50]
mov edx, dword [rsp + 0x58]
mov dword [rbp - 0x80], esi
mov dword [rsp + 0x68], ecx
mov r10d, dword [rax + 0x48]
cmp r15d, r10d
jb 0x18001e8b4
lea eax, [rdx - 2]
mov dword [rbp - 0x80], esi
mov dword [rsp + 0x68], ecx
cmp r15d, eax
jae 0x18001e8b4
mov dword [rbp - 0x80], esi
mov r11d, 0xf3
mov esi, edi
mov r13d, 5
mov edi, dword [rbp - 0x78]
nop
mov eax, r11d
movd xmm0, esi
pshufd xmm0, xmm0, 0
sub eax, 0xf3
je 0x18001e94c
sub eax, 1
je 0x18001e741
cmp eax, 1
jne 0x18001e896
inc r9d
mov dword [rbp - 0x80], r9d
jmp 0x18001e896
xor eax, eax
mov ecx, r12d
shr ecx, 0xe
mov r9d, r13d
and ecx, 1
cmp ecx, esi
sete al
add dword [rbp + 0x110], eax
cmp r10d, r13d
jb 0x18001e7aa
nop
cmp r9d, r15d
ja 0x18001e7aa
mov eax, r9d
lea r8, [rbp + 0x110]
lea r8, [r8 + rax*4]
mov edx, edi
sub edx, r9d
mov ecx, 7
movzx eax, dl
and al, 7
sub cl, al
movsxd rax, edx
mov rdx, qword [rbp - 0x58]
sar rax, 3
movzx edx, byte [rax + rdx]
xor eax, eax
shr edx, cl
and edx, 1
cmp edx, esi
sete al
inc r9d
add dword [r8], eax
cmp r9d, r10d
jbe 0x18001e760
mov eax, r10d
sub eax, r9d
inc eax
cmp r9d, r10d
ja 0x18001e892
cmp eax, 0x10
jb 0x18001e866
xorps xmm2, xmm2
lea r8d, [r9 + 8]
pcmpeqd xmm2, xmm0
and eax, 0xf
pand xmm2, xmmword [0x1800833d0]
mov edx, r10d
sub edx, eax
nop
mov eax, r9d
movdqa xmm1, xmm2
add r9d, 0x10
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0x110], xmm1
lea eax, [r8 - 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0x110], xmm1
lea eax, [r8 + 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + r8*4 + 0x110]
paddd xmm1, xmm0
movdqu xmmword [rbp + r8*4 + 0x110], xmm1
lea r8d, [r8 + 0x10]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0x110], xmm1
cmp r9d, edx
jbe 0x18001e7e0
cmp r9d, r10d
ja 0x18001e892
xor ecx, ecx
test esi, esi
sete cl
nop dword [rax]
nop word [rax + rax]
mov eax, r9d
inc r9d
add dword [rbp + rax*4 + 0x110], ecx
cmp r9d, r10d
jbe 0x18001e880
mov r9d, dword [rbp - 0x80]
inc r11d
cmp r11d, 0xf6
jb 0x18001e710
mov r13d, dword [rbp - 0x40]
mov ecx, esi
mov dword [rsp + 0x68], esi
mov edx, dword [rsp + 0x58]
mov r11, qword [rbp - 0x58]
inc r15d
mov r14d, r15d
and r14d, 7
mov dword [rbp - 0x78], r14d
je 0x18001e8d6
mov r10, qword [rsp + 0x50]
cmp r15d, edx
jb 0x18001e600
mov r9d, dword [rsp + 0x58]
mov rdx, qword [rbp + 0x50]
inc r11
mov rcx, qword [rbp + 0xd8]
mov r8d, dword [rbp + 0x30]
mov esi, dword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov edi, dword [rsp + 0x5c]
mov qword [rbp - 0x58], r11
cmp r15d, r9d
jb 0x18001e5b0
mov r14d, dword [rsp + 0x48]
mov dword [rbp - 0x70], ebx
mov ebx, dword [rbp - 8]
mov edx, dword [rbp - 0x50]
inc esi
mov r10, qword [rsp + 0x50]
inc edx
mov r11, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x40], esi
mov dword [rbp - 0x50], edx
cmp esi, dword [rbp - 0x2c]
jb 0x18001e230
mov r15d, dword [rsp + 0x58]
mov r13d, r9d
mov r12, qword [rbp - 0x20]
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
mov esi, r14d
jmp 0x18001e896
mov esi, 0xc3
mov eax, esi
sub eax, 0xc2
je 0x18001e984
cmp eax, 1
jne 0x18001ec08
add ebx, ebx
add r12d, r12d
add r13d, r13d
jmp 0x18001ec08
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax]
mov rax, qword [r10 + 0x50]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
je 0x18001e9f8
cmp r8d, r15d
jbe 0x18001e9a2
xor edx, edx
jmp 0x18001e9d0
mov eax, r15d
mov edx, r15d
and eax, 0xfffffff8
mov ecx, 7
sub edx, eax
sub edx, r8d
movzx eax, dl
and al, 7
sub cl, al
movsxd rax, edx
sar rax, 3
movzx edx, byte [rax + r11]
shr edx, cl
and edx, 1
shl edx, 2
mov ecx, r12d
mov eax, ebx
shr ecx, 3
and eax, 0x600
and ecx, 0xf000
or ecx, eax
mov eax, r13d
shr ecx, 1
and eax, 0x38000
or ecx, eax
shr ecx, 8
or ecx, edx
jmp 0x18001ea1c
mov ecx, r12d
mov eax, ebx
shr ecx, 3
and eax, 0x600
and ecx, 0xf800
or ecx, eax
mov eax, r13d
and eax, 0x38000
shr ecx, 1
or ecx, eax
shr ecx, 8
mov r9, qword [rbp - 0x20]
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x78], ecx
mov edi, ebx
shr edi, 8
lea rcx, [rbp - 0x78]
and edi, 1
mov r8d, 0x36
mov dword [rbp - 0x40], edi
call fcn.1800352b0
cmp dword [rbp - 0x30], 0
mov r9d, dword [rsp + 0x58]
jne 0x18001ebff
mov rax, qword [rsp + 0x50]
mov r10d, dword [rax + 0x48]
cmp r15d, r10d
jb 0x18001ec4f
lea eax, [r9 - 2]
cmp r15d, eax
jae 0x18001ebff
mov eax, dword [rsp + 0x68]
mov r11d, 0x52
nop dword [rax]
movd xmm0, eax
pshufd xmm0, xmm0, 0
cmp r11d, 0x52
je 0x18001ec34
cmp r11d, 0x109
je 0x18001eab1
cmp r11d, 0x1c0
jne 0x18001ebe6
inc dword [rbp - 0x80]
jmp 0x18001ebe6
mov r9d, 3
cmp r10d, r9d
jb 0x18001eb0d
nop dword [rax]
cmp r9d, r15d
ja 0x18001eb0d
mov eax, r9d
lea r8, [rbp + 0x110]
lea r8, [r8 + rax*4]
mov edx, r14d
sub edx, r9d
mov ecx, 7
movzx eax, dl
and al, 7
sub cl, al
movsxd rax, edx
mov rdx, qword [rbp - 0x58]
sar rax, 3
movzx edx, byte [rax + rdx]
xor eax, eax
shr edx, cl
and edx, 1
cmp edx, dword [rsp + 0x68]
sete al
inc r9d
add dword [r8], eax
cmp r9d, r10d
jbe 0x18001eac0
mov eax, r10d
sub eax, r9d
inc eax
cmp r9d, r10d
ja 0x18001ebe2
cmp eax, 0x10
jb 0x18001ebc2
xorps xmm1, xmm1
lea r8d, [r9 + 8]
pcmpeqd xmm1, xmm0
and eax, 0xf
pand xmm1, xmmword [0x1800833d0]
mov edx, r10d
sub edx, eax
nop dword [rax]
nop word [rax + rax]
mov eax, r9d
add r9d, 0x10
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm0, xmm1
movdqu xmmword [rbp + rax*4 + 0x110], xmm0
lea eax, [r8 - 4]
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm0, xmm1
movdqu xmmword [rbp + rax*4 + 0x110], xmm0
lea eax, [r8 + 4]
movdqu xmm0, xmmword [rbp + r8*4 + 0x110]
paddd xmm0, xmm1
movdqu xmmword [rbp + r8*4 + 0x110], xmm0
lea r8d, [r8 + 0x10]
movdqu xmm0, xmmword [rbp + rax*4 + 0x110]
paddd xmm0, xmm1
movdqu xmmword [rbp + rax*4 + 0x110], xmm0
cmp r9d, edx
jbe 0x18001eb50
cmp r9d, r10d
ja 0x18001ebe2
xor ecx, ecx
cmp dword [rsp + 0x68], ecx
sete cl
mov eax, r9d
inc r9d
add dword [rbp + rax*4 + 0x110], ecx
cmp r9d, r10d
jbe 0x18001ebd0
mov eax, dword [rsp + 0x68]
add r11d, 0xb7
cmp r11d, 0x277
jb 0x18001ea80
mov r9d, dword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov r11, qword [rbp - 0x58]
dec esi
cmp esi, 0xc1
ja 0x18001e965
inc r15d
mov r14d, r15d
and r14d, 7
je 0x18001ec2b
cmp r15d, r9d
jb 0x18001e960
mov dword [rbp - 0x78], r14d
jmp 0x18001e8db
mov eax, r12d
mov dword [rsp + 0x68], edi
shr eax, 0xe
not eax
and eax, 1
xor eax, edi
add dword [rbp + 0x110], eax
mov eax, edi
jmp 0x18001ebe6
mov r10, rax
jmp 0x18001ec04
mov r14d, dword [rbp - 0x2c]
xor r9d, r9d
mov dword [rsp + 0x48], r9d
test r14d, r14d
je 0x18001f6a8
mov ebx, dword [rbp - 0x70]
nop dword [rax]
mov r12d, dword [rbp - 0x10]
cmp edx, r12d
jae 0x18001f676
cmp dword [rbp - 0x30], 0
jne 0x18001ee55
mov esi, dword [rbp - 0x80]
cmp esi, 0x800
jbe 0x18001ee55
mov r13d, dword [rbp - 0x38]
mov edi, 0xc8
mov r15d, dword [rbp - 0x34]
mov ebx, dword [rbp + 0x10]
nop word [rax + rax]
cmp edi, 0xc8
je 0x18001ee7d
cmp edi, 0x56b8
je 0x18001edaa
cmp edi, 0xaca8
je 0x18001ed9b
cmp edi, 0x10298
jne 0x18001ee24
mov r14d, dword [rbp - 0x18]
mov edx, esi
mov r9d, esi
sub edx, r14d
shr r9d, 3
cmp edx, r9d
jae 0x18001ed8a
mov rax, qword [r10 + 0x50]
movsxd rcx, dword [r11]
movsxd r10, dword [rax + rcx*4]
lea r11, [rax + rcx*4]
mov eax, r14d
mov r8d, dword [rbp + r10*4 + 0x110]
sub eax, r8d
cmp eax, edx
jbe 0x18001ed85
mov ecx, esi
shr ecx, 4
cmp eax, ecx
jbe 0x18001ed85
sub r8d, esi
lea eax, [r8 + r14]
cmp eax, edx
jbe 0x18001ed85
cmp eax, ecx
jbe 0x18001ed85
mov ecx, r14d
mov eax, esi
sub ecx, r13d
shr eax, 2
cmp ecx, eax
jbe 0x18001ed85
test r10d, r10d
jne 0x18001ed5a
mov eax, dword [rbp + 0x110]
cmp eax, r14d
cmovbe eax, r14d
sub eax, ebx
cmp eax, r9d
jbe 0x18001ed85
mov r10, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov dword [rbp - 0x48], r15d
test dword [r10 + 0x44], 0x100
jne 0x18001ed8f
mov dword [rbp + 0x3c], r9d
mov dword [r11], r15d
mov dword [rbp - 0x30], 1
jmp 0x18001ee24
mov r10, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov dword [rbp - 0x30], 1
jmp 0x18001ee24
mov ebx, dword [rbp + 0x110]
cmp ebx, r13d
cmovae ebx, r13d
jmp 0x18001ee24
mov r9d, dword [r10 + 0x48]
mov r8d, 3
cmp r9d, r8d
jb 0x18001ee1f
mov r14d, dword [rbp - 0x18]
mov r12d, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x34]
nop word [rax + rax]
mov eax, r8d
mov ecx, r8d
mov edx, dword [rbp + rax*4 + 0x110]
cmp edx, r14d
mov eax, edx
cmovbe eax, r14d
cmp edx, r12d
mov r14d, eax
mov eax, edx
cmovae eax, r12d
mov r12d, eax
movsxd rax, r11d
cmp edx, dword [rbp + rax*4 + 0x110]
cmovbe ecx, r11d
inc r8d
mov r11d, ecx
cmp r8d, r9d
jbe 0x18001edd0
mov dword [rbp - 0x18], r14d
mov r13d, r12d
mov dword [rbp - 0x38], r12d
mov r15d, ecx
mov dword [rbp - 0x34], ecx
mov r9d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x78]
add edi, 0x55f0
cmp edi, 0x157c0
jbe 0x18001ecb0
mov r15d, dword [rsp + 0x58]
mov r13, qword [rbp + 8]
mov edx, dword [rbp - 0x50]
mov r14d, dword [rbp - 0x2c]
mov r12d, dword [rbp - 0x10]
mov dword [rbp + 0x10], ebx
mov ebx, dword [rbp - 0x70]
mov ecx, dword [rbp + 0x58]
mov eax, r9d
dec ecx
shr eax, 1
cmp eax, ecx
jae 0x18001ee70
mov ecx, dword [rbp + 0x38]
mov eax, edx
dec ecx
shr eax, 1
cmp eax, ecx
jb 0x18001ee98
mov rcx, qword [rbp]
mov r8, rcx
mov qword [rbp + 0x18], rcx
jmp 0x18001eea0
mov ebx, 0xffffffff
mov dword [rbp - 0x18], 0
xor r15d, r15d
mov dword [rbp - 0x38], ebx
mov r13d, ebx
mov dword [rbp - 0x34], r15d
jmp 0x18001ee24
mov rcx, qword [rbp]
mov r8, qword [rbp + 0x18]
test byte [r10 + 0x44], 0x10
je 0x18001f16f
test r9b, 1
jne 0x18001f16f
mov esi, dword [rbp - 0xc]
mov edi, 0xa7
mov r15d, dword [rsp + 0x70]
mov dword [rsp + 0x40], edi
nop word [rax + rax]
mov eax, edi
sub eax, 0xa3
je 0x18001f1a5
sub eax, 1
je 0x18001ef94
sub eax, 1
je 0x18001ef41
sub eax, 1
je 0x18001ef14
cmp eax, 1
jne 0x18001f141
mov rax, qword [rbp - 0x58]
mov r13, rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x60], rcx
jmp 0x18001f141
lea eax, [r14 - 1]
cmp r9d, eax
jae 0x18001f141
lea eax, [r12 - 1]
cmp edx, eax
jae 0x18001f141
mov eax, dword [rbp - 0x68]
add rax, qword [rbp - 0x58]
mov qword [rbp + 0xc0], rax
jmp 0x18001f141
cmp r9d, 1
ja 0x18001ef59
cmp dword [rsp + 0x5c], 0
je 0x18001ef59
mov r12, qword [rbp + 0x60]
xor edx, edx
mov dword [rbp - 0x60], edx
jmp 0x18001ef6f
mov eax, dword [rbp - 0x14]
mov r12, qword [rbp + 0x60]
mov rcx, r12
sub rcx, rax
movzx eax, byte [rcx]
shl eax, 8
mov dword [rbp - 0x60], eax
mov rax, qword [rbp + 0x48]
mov r15d, 1
movzx esi, byte [r12]
shl esi, 8
mov dword [rsp + 0x70], r15d
movzx ecx, byte [rax]
shl ecx, 8
mov dword [rbp - 0x64], ecx
jmp 0x18001f141
mov r14d, dword [rbp - 0x28]
xor edx, edx
test r14d, r14d
je 0x18001f141
mov eax, dword [rsp + 0x70]
mov r12, qword [rbp + 0x60]
mov r15, qword [rbp + 0x48]
nop
test eax, eax
je 0x18001f13c
mov ecx, dword [rbp - 0x14]
lea eax, [rcx*8 - 8]
cmp edx, eax
jae 0x18001eff9
cmp r9d, 1
ja 0x18001efd3
cmp dword [rsp + 0x5c], 0
jne 0x18001efe3
mov rax, rcx
mov rcx, r12
sub rcx, rax
movzx eax, byte [rcx + 1]
or dword [rbp - 0x60], eax
movzx eax, byte [r12 + 1]
mov r11d, dword [rbp - 0x64]
or esi, eax
movzx eax, byte [r15 + 1]
or r11d, eax
jmp 0x18001effd
mov r11d, dword [rbp - 0x64]
mov r9d, dword [rbp - 0x60]
mov edi, dword [rbp + 0x40]
mov eax, edx
shr eax, 2
cmp eax, dword [rbp - 0x68]
jae 0x18001f030
mov r14, qword [rbp + 0xc0]
movzx ebx, byte [r13]
inc r13
movzx edi, byte [r14]
inc r14
mov qword [rbp + 0xc0], r14
mov r14d, dword [rbp - 0x28]
nop
mov r8d, 0xd2
nop word [rax + rax]
mov eax, r8d
sub eax, 0xd2
je 0x18001f0d1
cmp eax, 1
jne 0x18001f0df
mov ecx, r9d
mov eax, esi
shr ecx, 3
and eax, 0x38000
and ecx, 0x7000
or ecx, eax
mov eax, r11d
shr ecx, 3
and eax, 0x38000
or ecx, eax
shr ecx, 9
test ecx, ecx
jne 0x18001f097
mov eax, edi
or eax, ebx
test eax, 0x300
jne 0x18001f0bc
mov rax, qword [r10 + 0x90]
mov byte [rdx + rax], cl
jmp 0x18001f0df
cmp ecx, 0x1ff
jne 0x18001f0c4
mov eax, edi
and eax, ebx
and eax, 0x300
cmp eax, 0x300
jne 0x18001f0bc
mov rax, qword [r10 + 0x90]
mov byte [rdx + rax], 1
jmp 0x18001f0df
xor eax, eax
mov dword [rsp + 0x70], eax
jmp 0x18001f0e3
mov rax, qword [r10 + 0x90]
mov byte [rdx + rax], 2
jmp 0x18001f0df
add r9d, r9d
shl ebx, 2
add esi, esi
add r11d, r11d
shl edi, 2
mov eax, dword [rsp + 0x70]
inc r8d
cmp r8d, 0xd4
jb 0x18001f040
inc edx
mov dword [rbp - 0x64], r11d
mov dword [rbp - 0x60], r9d
test dl, 3
je 0x18001f10b
cmp edx, r14d
jb 0x18001f030
test dl, 7
je 0x18001f119
cmp edx, r14d
jb 0x18001f004
mov r9d, dword [rsp + 0x48]
inc r15
inc r12
mov dword [rbp + 0x40], edi
mov edi, dword [rsp + 0x40]
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x60], r12
cmp edx, r14d
jb 0x18001efb0
mov r15d, dword [rsp + 0x70]
mov edx, dword [rbp - 0x50]
dec edi
mov rcx, qword [rbp]
mov r8, qword [rbp + 0x18]
mov r14d, dword [rbp - 0x2c]
mov r12d, dword [rbp - 0x10]
mov dword [rsp + 0x40], edi
cmp edi, 0xa2
ja 0x18001eed0
mov r15d, dword [rsp + 0x58]
mov qword [rbp + 8], r13
xor edx, edx
xor ebx, ebx
xor r14d, r14d
mov dword [rbp - 0x60], edx
xor esi, esi
mov dword [rbp - 0x70], ebx
test r9d, r9d
jne 0x18001f18b
mov eax, dword [rsp + 0x5c]
test eax, eax
jne 0x18001f1dd
mov r8, qword [rbp - 0x58]
mov r11d, dword [rbp - 0x68]
mov rcx, r8
mov eax, dword [rsp + 0x5c]
sub rcx, r11
movzx esi, byte [rcx]
shl esi, 8
jmp 0x18001f1e5
mov r9, qword [rbp - 0x20]
lea rdx, [rbp + 0x30]
xor eax, eax
mov dword [rbp - 0x40], 0xc3f
test r15d, r15d
lea rcx, [rbp - 0x40]
mov r8d, 0x36
sete al
mov dword [rbp + 0x30], eax
call fcn.1800352b0
mov r9d, dword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
jmp 0x18001f141
mov r8, qword [rbp - 0x58]
mov r11d, dword [rbp - 0x68]
cmp r9d, 1
ja 0x18001f1fb
test eax, eax
je 0x18001f1fb
mov eax, dword [rbp - 0x14]
mov rcx, qword [rbp]
mov r12d, eax
jmp 0x18001f229
mov r12d, dword [rbp - 0x14]
mov rax, r8
mov ecx, r11d
add rcx, rcx
sub rax, rcx
mov rcx, qword [rbp]
movzx r14d, byte [rax]
mov rax, rcx
sub rax, r12
shl r14d, 8
movzx edx, byte [rax]
mov eax, dword [rbp - 0x14]
shl edx, 8
mov dword [rbp - 0x60], edx
movzx r11d, byte [rcx]
xor edi, edi
mov rcx, qword [rbp + 0x18]
shl r11d, 8
mov qword [rbp + 0x50], r12
mov dword [rbp - 0xc], r11d
movzx ecx, byte [rcx]
shl ecx, 8
mov dword [rbp - 0x64], ecx
test r15d, r15d
je 0x18001f628
lea r13d, [rax*8 - 8]
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x78], r13d
lea r15d, [rax*8 - 8]
mov dword [rsp + 0x40], r15d
nop dword [rax]
mov eax, edi
shr eax, 1
cmp eax, r13d
jae 0x18001f2ae
cmp r9d, 1
ja 0x18001f286
cmp dword [rsp + 0x5c], 0
jne 0x18001f296
mov rax, qword [rbp]
sub rax, r12
movzx eax, byte [rax + 1]
or edx, eax
mov dword [rbp - 0x60], edx
mov rax, qword [rbp]
movzx eax, byte [rax + 1]
or r11d, eax
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 1]
or ecx, eax
mov dword [rbp - 0x64], ecx
mov r13d, dword [rbp - 0x60]
movzx eax, byte [r8]
or ebx, eax
cmp edi, r15d
jae 0x18001f2f4
mov edx, dword [rsp + 0x5c]
test r9d, r9d
jne 0x18001f2ca
test edx, edx
jne 0x18001f2f4
mov ecx, dword [rbp - 0x68]
mov rax, r8
sub rax, rcx
movzx eax, byte [rax + 1]
or esi, eax
cmp r9d, 1
ja 0x18001f2e3
test edx, edx
jne 0x18001f2f4
lea rax, [rcx + rcx]
mov rcx, r8
sub rcx, rax
movzx eax, byte [rcx + 1]
or r14d, eax
mov r9d, dword [rbp - 0x64]
mov r15d, dword [rbp - 0x80]
mov r12, qword [rbp - 0x58]
add r9d, r9d
add r11d, r11d
add r13d, r13d
mov dword [rbp - 0x64], r9d
cmp dword [rsp + 0x70], 0
mov dword [rbp - 0xc], r11d
je 0x18001f340
mov rax, qword [r10 + 0x90]
mov ecx, edi
shr rcx, 1
cmp byte [rcx + rax], 2
jge 0x18001f340
shl ebx, 2
shl esi, 2
shl r14d, 2
add edi, 2
jmp 0x18001f5c5
add ebx, ebx
add esi, esi
add r14d, r14d
test byte [r10 + 0x44], 4
je 0x18001f445
mov r8, qword [r10 + 0x58]
mov ecx, edi
mov eax, r11d
and ecx, 1
and eax, 0x30000
test byte [rbp - 0x50], 1
jne 0x18001f3d0
test ecx, ecx
mov ecx, r13d
jne 0x18001f3a2
shr rcx, 2
and ecx, 0xc000
or rcx, rax
mov eax, esi
and eax, 0x38000
shr rcx, 4
or rcx, rax
mov eax, ebx
and eax, 0x200
shr rcx, 5
or rcx, rax
shr rcx, 5
jmp 0x18001f43a
shr ecx, 2
and ecx, 0xc000
or ecx, eax
mov eax, esi
shr ecx, 4
and eax, 0x70000
or ecx, eax
mov eax, ebx
shr ecx, 5
and eax, 0x600
or ecx, eax
shr ecx, 5
add ecx, 0x100
jmp 0x18001f43a
mov edx, r13d
shr edx, 2
and edx, 0xc000
or edx, eax
mov eax, r14d
shr edx, 4
test ecx, ecx
mov ecx, esi
jne 0x18001f413
and ecx, 0x38000
and eax, 0x38000
or ecx, edx
shr ecx, 3
or ecx, eax
mov eax, ebx
shr ecx, 2
and eax, 0x200
or ecx, eax
shr ecx, 5
add ecx, 0x300
jmp 0x18001f43a
and ecx, 0x70000
and eax, 0x70000
or ecx, edx
shr ecx, 3
or ecx, eax
mov eax, ebx
shr ecx, 2
and eax, 0x600
or ecx, eax
shr ecx, 5
add ecx, 0xb00
cmp byte [rcx + r8], 2
jl 0x18001f5af
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax]
mov rax, qword [r10 + 0x50]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
je 0x18001f4b4
cmp r8d, edi
jbe 0x18001f463
xor edx, edx
jmp 0x18001f48b
mov edx, edi
mov ecx, 7
and edx, 7
sub edx, r8d
movzx eax, dl
and al, 7
sub cl, al
movsxd rax, edx
sar rax, 3
movzx edx, byte [rax + r12]
shr edx, cl
and edx, 1
shl edx, 4
mov eax, esi
mov ecx, r14d
shr eax, 2
and ecx, 0x10000
and eax, 0x6000
or eax, ecx
mov ecx, ebx
shr eax, 2
and ecx, 0x600
or eax, ecx
shr eax, 9
or eax, edx
jmp 0x18001f4d9
mov eax, esi
mov ecx, r14d
shr eax, 2
and ecx, 0x10000
and eax, 0xe000
or eax, ecx
mov ecx, ebx
and ecx, 0x600
shr eax, 2
or eax, ecx
shr eax, 9
mov edx, r11d
mov ecx, r9d
test dil, 1
je 0x18001f4ff
and edx, 0x18000
and ecx, 0x18000
bts edx, 0x13
shr edx, 2
or edx, ecx
shr edx, 7
jmp 0x18001f513
shr edx, 2
and ecx, 0x30000
and edx, 0xc000
or edx, ecx
shr edx, 8
mov r9, qword [rbp - 0x20]
mov ecx, ebx
shr ecx, 8
mov r8d, 0x36
and ecx, 1
mov dword [rbp + 0x30], ecx
mov ecx, dword [rbp - 0x50]
and ecx, 1
shl ecx, 0xb
or ecx, edx
lea rdx, [rbp + 0x30]
or ecx, eax
mov dword [rbp - 0x40], ecx
lea rcx, [rbp - 0x40]
call fcn.1800352b0
cmp dword [rbp - 0x30], 0
mov r10, qword [rsp + 0x50]
jne 0x18001f5a7
mov r8d, dword [r10 + 0x48]
cmp edi, r8d
jb 0x18001f5a7
mov eax, esi
mov ecx, 3
shr eax, 6
not eax
xor eax, ebx
shr eax, 8
and eax, 1
add dword [rbp + 0x110], eax
cmp r8d, ecx
jb 0x18001f5a4
nop dword [rax + rax]
mov eax, ecx
lea rdx, [rbp + 0x110]
lea rdx, [rdx + rax*4]
mov eax, ebx
shr eax, cl
inc ecx
not eax
xor eax, ebx
shr eax, 8
and eax, 1
add dword [rdx], eax
cmp ecx, r8d
jbe 0x18001f580
inc r15d
mov r11d, dword [rbp - 0xc]
mov r9d, dword [rbp - 0x64]
inc edi
test dil, 1
je 0x18001f5c1
cmp edi, dword [rsp + 0x58]
jb 0x18001f340
mov dword [rbp - 0x80], r15d
mov eax, dword [rsp + 0x58]
test dil, 7
je 0x18001f5d7
cmp edi, eax
jb 0x18001f300
mov r15d, dword [rsp + 0x40]
mov r8, r12
inc r8
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x70], ebx
mov qword [rbp - 0x58], r8
test dil, 0xf
je 0x18001f600
mov r9d, dword [rsp + 0x48]
cmp edi, eax
jb 0x18001f2b2
inc qword [rbp + 0x18]
inc qword [rbp]
mov r12, qword [rbp + 0x50]
mov r13d, dword [rbp - 0x78]
mov r9d, dword [rsp + 0x48]
mov edx, dword [rbp - 0x60]
mov ecx, dword [rbp - 0x64]
cmp edi, eax
jb 0x18001f270
mov r15d, dword [rsp + 0x58]
mov edx, dword [rbp - 0x50]
mov ecx, r9d
mov rax, qword [rbp + 0x18]
inc edx
mov r14d, dword [rbp - 0x2c]
sub rax, r12
mov r13, qword [rbp + 8]
inc r9d
mov r11, qword [rsp + 0x78]
and ecx, 1
mov dword [rsp + 0x48], r9d
cmovne rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp]
sub rax, r12
mov dword [rbp - 0x50], edx
test ecx, ecx
cmovne rax, qword [rbp]
mov qword [rbp], rax
cmp r9d, r14d
jb 0x18001ec70
mov ebx, dword [rbp - 8]
mov r12, qword [rbp - 0x20]
mov r13d, dword [rsp + 0x5c]
mov edi, dword [rbp - 0x4c]
jmp 0x18001d847
mov r15d, dword [rsp + 0x58]
mov r12, qword [rbp - 0x20]
mov r13d, dword [rsp + 0x5c]
mov edi, dword [rbp - 0x4c]
jmp 0x18001d84c
mov r13d, r9d
jmp 0x18001d850
mov r13d, dword [rsp + 0x5c]
jmp 0x18001d850