Function at 0x1800c3570
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 r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rbx, qword [rbp + 0xc0]
lea rax, [r8 + 0x70]
mov rdi, rdx
mov qword [rbp - 0x48], rax
mov rax, qword [rcx]
xor r12d, r12d
mov qword [rbp - 0x78], rax
mov r15d, r9d
movzx eax, byte [rbx + 0x40]
mov r9, r8
mov r14, qword [rbx + 0x60]
mov r11, rcx
imul rdx, rax, 0x68
mov qword [rbp - 0x70], r12
add rdx, 8
mov qword [rsp + 0x68], r14
add rdx, qword [r8 + 8]
mov qword [rbp - 0x30], rdx
mov r10d, dword [rdx + 0x44]
mov dword [rsp + 0x44], r10d
cmp dword [r8 + 0x260], r10d
jne 0x1800c35fb
lea eax, [r12 + 1]
jmp 0x1800c3635
movsxd r8, dword [r8 + 0x25c]
mov esi, 1
mov edx, esi
cmp r8, rdx
jle 0x1800c362e
mov ecx, esi
lea rax, [r9 + 0x264]
cmp dword [rax], r10d
je 0x1800c36d5
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1800c3617
mov rax, r12
mov rdx, qword [rbp - 0x30]
not rax
mov ecx, r15d
and rax, qword [rbp + 0xc8]
mov qword [rbx + 0x68], rax
mov r13d, dword [r11 + 0x44]
mov r10, qword [r9 + 0x68]
dec r13d
mov dword [r11 + 0x44], r13d
shr r10, cl
and r10d, 1
mov dword [rbx + 0x10], r13d
mov dword [rbx + 0xc], r13d
mov eax, dword [r11 + 0x44]
dec eax
mov qword [rsp + 0x78], r10
mov dword [r11 + 0x44], eax
mov dword [rsp + 0x60], r13d
mov dword [rbp - 0x50], eax
mov dword [rbx + 0x18], eax
cmp byte [rbx + 0x40], r12b
jbe 0x1800c370c
test byte [rdx + 0x3c], 8
je 0x1800c370c
mov edx, dword [r11 + 0x38]
inc edx
mov dword [r11 + 0x38], edx
mov dword [rbx], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c36e2
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.18004fc80
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0xa0]
mov r9, qword [rbp + 0xb0]
jmp 0x1800c370c
mov ecx, edx
mov rax, rsi
shl rax, cl
jmp 0x1800c3631
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov edx, r15d
test r15d, r15d
jle 0x1800c3740
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
imul rcx, rax, 0x70
cmp dword [rcx + r9 + 0x360], r12d
jne 0x1800c3740
cmp qword [rcx + r9 + 0x398], r12
jne 0x1800c3740
dec edx
test edx, edx
jg 0x1800c3720
movsxd rax, edx
imul rcx, rax, 0x70
mov rax, qword [rbp - 0x30]
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r9 + 0x36c]
test r8b, 0x20
je 0x1800c3894
movsxd rcx, dword [rdi + 0x90]
mov ebx, dword [rax + 0x34]
mov edx, dword [rax + 0x30]
cmp dword [rdi + 0x94], ecx
jg 0x1800c378e
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rdi
lea edx, [r9 + 0xb]
call fcn.18004fc80
jmp 0x1800c37bb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1800c37e6
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, 0xc
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
jmp 0x1800c3814
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov r8, qword [rbp + 0xc0]
mov dword [r8 + 0x48], edx
mov byte [r8 + 0x41], 9
mov rcx, r12
mov r10, qword [rbp - 0x48]
lea r9, [0x1800738b0]
mov rax, rcx
neg rax
sbb edx, edx
add edx, 2
mov dword [rbp + 0xb8], edx
nop dword [rax]
nop word [rax + rax]
mov r13d, dword [r10 + 0x14]
mov r15d, r12d
mov rbx, qword [r10 + 0x20]
test r13d, r13d
jle 0x1800c6a1e
movzx r10d, word [rbx + 0x12]
mov esi, r12d
test r10b, 6
jne 0x1800c69e7
mov r11, qword [r8 + 0x68]
test qword [rbx + 0x30], r11
je 0x1800c6807
mov rax, qword [rbp + 0xb0]
or dword [rax + 0x44], 2
jmp 0x1800c69e7
mov edx, dword [r14 + 0x38]
bt edx, 0xa
jae 0x1800c3f42
movzx eax, word [r14 + 0x3c]
mov dword [rsp + 0x48], eax
lea ecx, [rax + 2]
cmp ecx, 1
jne 0x1800c38e0
movzx eax, byte [r11 + 0x1f]
test al, al
jne 0x1800c38cd
inc dword [r11 + 0x38]
mov eax, dword [r11 + 0x38]
mov r13d, eax
mov dword [rsp + 0x40], eax
jmp 0x1800c3917
dec al
movzx eax, al
mov byte [r11 + 0x1f], al
mov r13d, dword [r11 + rax*4 + 0xe4]
jmp 0x1800c3912
mov edx, dword [r11 + 0x28]
mov r8d, dword [r11 + 0x2c]
mov dword [rsp + 0x40], r8d
cmp ecx, edx
jg 0x1800c3904
lea eax, [rcx + r8]
sub edx, ecx
mov dword [r11 + 0x2c], eax
mov r13d, r8d
mov dword [r11 + 0x28], edx
jmp 0x1800c3917
mov eax, dword [r11 + 0x38]
lea r13d, [rax + 1]
add eax, ecx
mov dword [r11 + 0x38], eax
mov dword [rsp + 0x40], r13d
mov esi, dword [rbx + 0xc]
mov ebx, r12d
mov dword [rbp + 0xb8], esi
cmp dword [rsp + 0x48], r12d
jbe 0x1800c3adb
add r13d, 2
mov rax, qword [r14 + 0x48]
mov rsi, qword [r12 + rax]
test rsi, rsi
je 0x1800c3abd
test byte [rsi + 0x14], 1
je 0x1800c3a2a
cmp ebx, 0x1f
ja 0x1800c395d
mov ecx, ebx
mov eax, 1
shl eax, cl
jmp 0x1800c395f
xor eax, eax
mov rcx, r11
test dword [r14 + 0x30], eax
je 0x1800c39f2
mov r14d, dword [r11 + 0x34]
mov r8d, r14d
inc dword [r11 + 0x38]
mov r15d, dword [r11 + 0x38]
lea eax, [r14 + 1]
mov dword [r11 + 0x34], eax
mov rdx, qword [rsi]
call fcn.18006c5a0
movsxd rcx, dword [rdi + 0x90]
lea edx, [rbx + r13]
cmp dword [rdi + 0x94], ecx
jg 0x1800c39c0
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0xae
mov r8d, r14d
mov rcx, rdi
call fcn.18004fc80
mov r14, qword [rsp + 0x68]
jmp 0x1800c3ab6
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], r14d
mov r14, qword [rsp + 0x68]
mov dword [rax + rcx*8], 0xae
mov dword [rax + rcx*8 + 0xc], r15d
jmp 0x1800c3aad
mov r15, qword [rbp + 0xc0]
lea eax, [rbx + r13]
mov dword [rsp + 0x28], eax
mov r8, r15
mov r9d, ebx
mov dword [rsp + 0x20], r10d
mov rdx, rsi
call fcn.1800c1f30
mov esi, dword [r15 + 0x10]
mov r11, qword [rbp + 0xa0]
mov dword [rbp + 0xb8], esi
jmp 0x1800c3ac3
mov rdx, qword [rsi]
lea r8d, [rbx + r13]
mov r9d, 1
mov rcx, r11
mov rdx, qword [rdx + 0x18]
call fcn.1800c3030
cmp byte [rsi + 0x17], 0x4a
jne 0x1800c3ab6
test byte [r14 + 0x1c], 2
je 0x1800c3ab6
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rdi + 0x90]
mov rax, qword [rax + 0x20]
mov edx, dword [rax + 0xc]
cmp dword [rdi + 0x94], ecx
jg 0x1800c3a89
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.18004fc80
jmp 0x1800c3ab6
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov dword [rax + rcx*8 + 8], edx
mov r11, qword [rbp + 0xa0]
mov esi, dword [rbp + 0xb8]
mov r10, qword [rsp + 0x78]
inc ebx
add r12, 8
cmp ebx, dword [rsp + 0x48]
jl 0x1800c3932
xor r12d, r12d
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r14 + 0x18]
mov ebx, dword [rsp + 0x40]
cmp dword [rdi + 0x94], ecx
jg 0x1800c3b0c
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov r9d, ebx
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c3b39
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [rdi + 0x90]
lea edx, [rbx + 1]
mov r13d, dword [rsp + 0x48]
cmp dword [rdi + 0x94], ecx
jg 0x1800c3b6a
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov r8d, r13d
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c3b98
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
test byte [r14 + 0x1c], 1
mov ecx, 0xfffffffa
mov r8d, dword [rsp + 0x44]
mov eax, 0xffffffff
cmovne eax, ecx
mov r9d, esi
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x28]
lea edx, [rcx + 0xc]
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.180050020
mov r9, qword [rbp - 0x78]
and dword [r14 + 0x1c], 0xfffffffe
cmp byte [r9 + 0x67], 0
je 0x1800c3be2
mov qword [r14 + 0x28], r12
mov r8, qword [rbp + 0xc0]
mov eax, 0x3f
mov r15, qword [rbp + 0xb0]
mov ecx, 0xb8
mov r10d, dword [rsp + 0x44]
mov r14d, r12d
mov dword [r8 + 0x44], r10d
cmp byte [r15 + 0x42], 0
cmovne eax, ecx
mov byte [r8 + 0x41], al
mov eax, dword [rdi + 0x90]
mov dword [r8 + 0x48], eax
test r13d, r13d
je 0x1800c3824
mov rdx, qword [rsp + 0x68]
lea r15d, [rbx + 2]
mov r13, r12
mov rax, qword [rdx + 0x48]
mov rbx, qword [rax + r13]
cmp r14d, 0x10
jae 0x1800c3cd5
movzx eax, word [rdx + 0x22]
movzx ecx, r14w
shr ax, cl
test al, 1
je 0x1800c3cd5
test byte [rbx + 0x12], 4
mov edx, r12d
jne 0x1800c3f26
cmp dword [r8], 0
je 0x1800c3c76
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1800c3f26
mov rax, qword [rbx + 0x30]
test qword [r8 + 0x68], rax
jne 0x1800c3f26
test edx, edx
je 0x1800c3ca1
movzx eax, word [rbx + 0x12]
bt ax, 0xa
jae 0x1800c3ca1
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x1800c3ca6
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1800c3f26
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1800c3f26
inc edx
test byte [rbx + 0x12], 4
je 0x1800c3c63
jmp 0x1800c3f26
test byte [rbx + 0x14], 1
je 0x1800c3f2b
cmp r14d, 0x1f
ja 0x1800c3cf1
mov ecx, r14d
mov eax, 1
shl eax, cl
jmp 0x1800c3cf4
mov eax, r12d
test dword [rdx + 0x30], eax
jne 0x1800c3f2b
cmp byte [r9 + 0x67], 0
jne 0x1800c3f2b
mov r10d, dword [r8 + 0x50]
mov r9d, r12d
test r10d, r10d
jle 0x1800c3ddd
mov rax, qword [rdi]
mov r8, r12
movzx r11d, byte [rax + 0x67]
test r11b, r11b
je 0x1800c3d31
lea rcx, [0x1801880d8]
jmp 0x1800c3d50
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax + 0x58]
movsxd rcx, dword [r8 + rax + 4]
mov rax, qword [rdi + 0x88]
lea rdx, [rcx + rcx*2]
lea rcx, [rax + rdx*8]
movzx edx, byte [rcx]
cmp dl, 0x5e
jne 0x1800c3d61
lea eax, [r15 + r14]
cmp dword [rcx + 0xc], eax
jmp 0x1800c3d6d
cmp dl, 0x87
jne 0x1800c3d6f
lea eax, [r15 + r14]
cmp dword [rcx + 8], eax
je 0x1800c3d7d
inc r9d
add r8, 0x14
cmp r9d, r10d
jl 0x1800c3d23
jmp 0x1800c3ddd
mov r10d, dword [rcx + 0xc]
mov r9d, dword [rcx + 8]
mov r8d, dword [rcx + 4]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c3da7
mov rcx, rdi
mov dword [rsp + 0x20], r10d
call fcn.18004fc80
jmp 0x1800c3ddd
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rbp + 0xa0]
mov edx, 0x48
mov rcx, qword [rax]
call fcn.180028ce0
mov rsi, rax
test rax, rax
je 0x1800c3e58
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
xor r9d, r9d
xor r8d, r8d
movups xmmword [rsi + 0x10], xmm0
mov rdx, rsi
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov eax, 0xffffffff
mov word [rsi + 0x32], ax
mov rax, qword [rbp + 0xa0]
mov byte [rsi], 0x35
mov rcx, qword [rax]
call fcn.180069430
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x94]
cmp dword [rsi + 0x28], r8d
jle 0x1800c3e58
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.18002c6f0
mov r9, qword [rbp - 0x78]
cmp byte [r9 + 0x67], 0
jne 0x1800c3f0b
mov rax, qword [rbx]
movsxd rcx, dword [rbx + 0x24]
mov rdx, qword [rax + 0x10]
test ecx, ecx
jle 0x1800c3e83
mov rax, qword [rdx + 0x20]
shl rcx, 5
mov rdx, qword [rcx + rax - 0x18]
mov qword [rsi + 0x10], rdx
mov rcx, r9
mov edx, 0x49
call fcn.180028ce0
mov rcx, rax
test rax, rax
je 0x1800c3eff
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov r9d, 0x10
mov rdx, rsi
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xb0
mov byte [rax], 0
lea eax, [r15 + r14]
mov dword [rcx + 0x28], 1
mov qword [rsi + 0x18], rcx
mov dword [rcx + 0x2c], eax
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xa0]
mov r8d, dword [rax + 0x18]
call fcn.1800729c0
jmp 0x1800c3f03
mov qword [rsi + 0x18], rcx
mov r9, qword [rbp - 0x78]
mov qword [rsi + 0x10], r12
test rsi, rsi
je 0x1800c3f1f
mov rdx, rsi
mov rcx, r9
call fcn.180069ca0
mov r9, qword [rbp - 0x78]
mov r8, qword [rbp + 0xc0]
mov rdx, qword [rsp + 0x68]
inc r14d
add r13, 8
cmp r14d, dword [rsp + 0x48]
jl 0x1800c3c31
jmp 0x1800c3824
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1800c411d
mov rax, qword [r14 + 0x48]
xor r9d, r9d
mov r13, qword [rbp + 0xc0]
mov rcx, r11
mov r8, r13
mov rdx, qword [rax]
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r10d
call fcn.1800c1f30
mov r14, qword [rbp + 0xa0]
mov esi, eax
cmp eax, ebx
je 0x1800c3faa
test ebx, ebx
je 0x1800c3faa
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1800c3faa
mov dword [r14 + rax*4 + 0xe4], ebx
inc byte [r14 + 0x1f]
mov ebx, dword [r13 + 0x10]
cmp dword [r13 + 0x34], r12d
je 0x1800c40ab
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c3fe1
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov edx, 0xd
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c400e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rdx, dword [rdi + 0x90]
mov r8d, dword [r13 + 0x34]
cmp dword [rdi + 0x94], edx
jg 0x1800c4039
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov edx, 0x40
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
jmp 0x1800c4066
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x40
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c408a
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], 1
mov rax, qword [rbp + 0xc8]
mov r9d, ebx
mov rdx, qword [rbp + 0xb0]
mov r8d, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1800c31e0
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c40e0
mov r8d, dword [rsp + 0x44]
mov r9d, ebx
mov edx, 0x1e
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.18004fc80
mov r8, r13
mov byte [r13 + 0x41], 0xb8
jmp 0x1800c3824
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov r8, r13
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r12
mov byte [r13 + 0x41], 0xb8
jmp 0x1800c3824
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1800c45ff
mov r8, qword [rsp + 0x68]
mov r14d, 0xb8
mov dword [rbp - 0x80], r14d
mov r15d, r14d
mov dword [rsp + 0x54], r12d
mov rsi, r12
mov rbx, r12
test dl, 0x20
je 0x1800c415f
mov rax, qword [r8 + 0x48]
mov ecx, 8
mov rbx, qword [rax]
jmp 0x1800c4162
mov rcx, r12
test dl, 0x10
je 0x1800c416f
mov rax, qword [r8 + 0x48]
mov rsi, qword [rcx + rax]
test r10d, r10d
je 0x1800c417d
mov rax, rbx
mov rbx, rsi
mov rsi, rax
test rbx, rbx
je 0x1800c4343
mov r14, qword [rbx]
mov dword [rbp + 0xb8], 0x17151618
mov rdx, qword [r14 + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x1800c41a2
movzx eax, byte [rdx + 2]
cmp al, 0xb1
jne 0x1800c41ac
mov rax, qword [rdx + 0x20]
jmp 0x1800c41b8
cmp al, 0x8a
jne 0x1800c4214
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1800c4214
movzx eax, byte [r11 + 0x1f]
test al, al
jne 0x1800c41d0
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
jmp 0x1800c41e1
dec al
movzx eax, al
mov byte [r11 + 0x1f], al
mov ebx, dword [r11 + rax*4 + 0xe4]
mov rdx, qword [r14 + 0x18]
mov r9d, 1
mov r8d, ebx
mov rcx, r11
call fcn.1800c3030
movzx eax, byte [r14]
mov r8d, ebx
inc rax
and eax, 2
or rax, 1
movzx edx, byte [rbp + rax + 0xb8]
jmp 0x1800c42b8
lea r8, [rsp + 0x48]
mov rcx, r11
call fcn.180071ce0
test byte [rbx + 0x12], 4
mov r8d, eax
mov edx, r12d
jne 0x1800c42a8
mov rdi, qword [rbp + 0xc0]
mov r13d, 0x200
nop
cmp dword [rdi], r12d
je 0x1800c424e
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1800c4298
mov rax, qword [rbx + 0x30]
test qword [rdi + 0x68], rax
jne 0x1800c4298
test edx, edx
je 0x1800c4271
movzx eax, word [rbx + 0x12]
bt ax, 0xa
jae 0x1800c4271
or ax, r13w
mov word [rbx + 0x12], ax
jmp 0x1800c4276
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1800c4298
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1800c4298
inc edx
test byte [rbx + 0x12], 4
je 0x1800c4240
mov rdi, qword [rbp + 0xa8]
mov r15d, dword [rbp - 0x80]
mov r13d, dword [rsp + 0x60]
movzx eax, byte [r14]
mov ebx, dword [rsp + 0x48]
movzx edx, byte [rbp + rax + 0x82]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c42e1
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x44]
mov rcx, rdi
movzx edx, dl
call fcn.18004fc80
jmp 0x1800c431a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], dl
mov edx, dword [rsp + 0x44]
mov dword [rax + rcx*8 + 4], edx
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
mov rcx, qword [rbp + 0xa0]
mov r14d, 0xb8
test ebx, ebx
je 0x1800c43b3
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1800c43b3
mov dword [rcx + rax*4 + 0xe4], ebx
inc byte [rcx + 0x1f]
jmp 0x1800c43b3
movsxd rcx, dword [rdi + 0x90]
mov eax, r10d
xor eax, 1
lea edx, [rax*4 + 0x20]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4373
mov r8d, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.18004fc80
jmp 0x1800c43ac
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], dl
mov edx, dword [rsp + 0x44]
mov dword [rax + rcx*8 + 4], edx
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
mov rcx, qword [rbp + 0xa0]
test rsi, rsi
je 0x1800c44d9
mov rbx, qword [rsi]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x54], eax
mov rdx, qword [rbx + 0x18]
call fcn.1800c3030
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xb0
jne 0x1800c43ee
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x1800c43f8
mov rax, qword [rcx + 0x20]
jmp 0x1800c4404
cmp al, 0x8a
jne 0x1800c4409
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x1800c4412
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
je 0x1800c4421
mov rax, qword [rsp + 0x78]
lea r15d, [rax*2 + 0x36]
jmp 0x1800c4430
mov eax, dword [rsp + 0x78]
xor eax, 1
lea r15d, [rax*2 + 0x37]
cmp dl, 0xb0
jne 0x1800c4439
movzx edx, byte [rcx + 2]
cmp dl, 0xb1
jne 0x1800c4444
mov rax, qword [rcx + 0x20]
jmp 0x1800c4451
cmp dl, 0x8a
jne 0x1800c445a
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x1800c44d9
test byte [rsi + 0x12], 4
mov edx, r12d
mov r8, qword [rbp + 0xc0]
jne 0x1800c44e0
mov r13d, 0x200
cmp dword [r8], r12d
je 0x1800c447e
mov rax, qword [rsi]
test byte [rax + 4], 1
je 0x1800c44cb
mov rax, qword [rsi + 0x30]
test qword [r8 + 0x68], rax
jne 0x1800c44cb
test edx, edx
je 0x1800c44a1
movzx eax, word [rsi + 0x12]
bt ax, 0xa
jae 0x1800c44a1
or ax, r13w
mov word [rsi + 0x12], ax
jmp 0x1800c44a6
or word [rsi + 0x12], 4
movsxd rax, dword [rsi + 0x18]
test eax, eax
js 0x1800c44cb
imul rcx, rax, 0x38
mov rax, qword [rsi + 8]
add rcx, qword [rax + 0x20]
mov rsi, rcx
add byte [rcx + 0x16], 0xff
jne 0x1800c44cb
inc edx
test byte [rcx + 0x12], 4
je 0x1800c4470
mov rdi, qword [rbp + 0xa8]
mov r13d, dword [rsp + 0x60]
jmp 0x1800c44e0
mov r8, qword [rbp + 0xc0]
mov ecx, dword [rdi + 0x90]
cmp dword [rsp + 0x78], r12d
mov r10d, dword [rsp + 0x44]
sete al
mov dword [r8 + 0x44], r10d
add al, 0x26
mov dword [r8 + 0x48], ecx
mov byte [r8 + 0x41], al
cmp r15d, r14d
je 0x1800c3824
mov rsi, qword [rbp + 0xa0]
inc dword [rsi + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov ebx, dword [rsi + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4540
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, r10d
mov edx, 0x87
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c456e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4596
mov r8d, dword [rsp + 0x54]
mov r9d, r13d
mov edx, r15d
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c45cf
mov edx, dword [rsp + 0x54]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], r15b
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
movsxd rax, dword [rdi + 0x90]
mov r8, qword [rbp + 0xc0]
test eax, eax
jle 0x1800c3824
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1800c3824
bt edx, 9
jae 0x1800c597c
movzx r13d, word [r14 + 0x18]
mov rbx, r12
mov r11, qword [rsp + 0x68]
xor r15b, r15b
movzx r14d, word [r14 + 0x1a]
mov r9, r12
mov qword [rbp - 0x60], r12
mov esi, r12d
mov qword [rbp - 0x58], rbx
mov r8d, r13d
mov rax, qword [r11 + 0x20]
movzx r10d, word [r11 + 0x1c]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0xc0]
mov word [rbp - 0x68], r10w
mov qword [rbp - 0x40], r12
mov byte [rsp + 0x70], bl
mov eax, dword [rax + 8]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x48], r13d
test dl, 0x20
je 0x1800c467d
mov rax, qword [r11 + 0x48]
inc r8d
mov esi, r14d
mov r9, qword [rax + r13*8]
mov qword [rbp - 0x60], r9
test dl, 0x10
je 0x1800c4796
mov rax, qword [r11 + 0x48]
cmp esi, r10d
mov ecx, r8d
mov ebx, r10d
cmova ebx, esi
mov rdx, qword [rax + rcx*8]
mov eax, pe_nt_image_headers64
mov qword [rbp - 0x58], rdx
test word [rdx + 0x12], ax
je 0x1800c4758
mov rax, qword [rbp + 0xa0]
mov rsi, qword [rbp + 0xc0]
inc dword [rax + 0x38]
mov edx, dword [rax + 0x38]
mov dword [rsi + 0x2c], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c46f3
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.18004fc80
mov r11, qword [rsp + 0x68]
jmp 0x1800c4724
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov eax, dword [rdi + 0x90]
mov ecx, r12d
mov edx, dword [rsi + 0x2c]
mov r10, qword [rbp - 0x70]
add edx, edx
mov r9, qword [rbp - 0x60]
mov dword [rsi + 0x2c], edx
mov dword [rsi + 0x30], eax
mov rax, qword [r10 + 0x38]
cmp byte [r13 + rax], 1
sete cl
xor ecx, dword [rsp + 0x78]
or ecx, edx
mov dword [rsi + 0x2c], ecx
jmp 0x1800c475c
mov r10, qword [rbp - 0x70]
mov r8, r13
mov esi, ebx
test r9, r9
jne 0x1800c4792
mov rax, qword [r10 + 8]
movsx r8, word [rax + r13*2]
test r8d, r8d
js 0x1800c4787
mov rax, qword [r10 + 0x18]
lea rdx, [r8 + r8*2]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
je 0x1800c478d
cmp r8d, 0xfffffffe
jne 0x1800c4792
mov r15b, 1
mov esi, ebx
mov rbx, qword [rbp - 0x58]
mov eax, dword [r11 + 0x38]
test al, 0x30
jne 0x1800c484a
bt eax, 0x13
jae 0x1800c484a
mov r8, qword [rbp + 0xa0]
mov esi, 1
mov rax, qword [rbp + 0xc0]
movzx r15d, sil
inc dword [r8 + 0x38]
mov edx, dword [r8 + 0x38]
mov dword [rsp + 0x4c], edx
mov dword [rax + 0x24], edx
cmp dword [rax], r12d
je 0x1800c4838
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c480e
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [rsi + 0x46]
xor r8d, r8d
mov rcx, rdi
call fcn.18004fc80
mov r9, qword [rbp - 0x60]
mov r11, qword [rsp + 0x68]
mov r8, qword [rbp + 0xa0]
jmp 0x1800c4838
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
dec dword [r8 + 0x44]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [r8 + 0x44]
mov dword [rdx + 0x28], eax
mov rax, qword [rbp - 0x70]
cmp r13w, word [rax + 0x60]
jae 0x1800c488a
mov rax, qword [rax + 0x38]
mov edx, r12d
cmp byte [r13 + rax], r12b
sete dl
cmp dword [rsp + 0x78], edx
jne 0x1800c488a
movzx eax, r14b
movzx r14d, word [rbp - 0x68]
mov qword [rbp - 0x60], rbx
mov rbx, r9
mov byte [rsp + 0x70], r15b
xor r15b, r15b
mov qword [rbp - 0x58], rbx
mov word [rbp - 0x68], ax
cmp dword [rbp + 0xb8], r12d
jle 0x1800c48f5
test dword [r11 + 0x38], 0x100000
je 0x1800c48f5
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c48c8
mov r8d, dword [rsp + 0x50]
xor r9d, r9d
mov edx, 0x88
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c48f5
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
mov r8d, dword [rsp + 0x78]
lea rax, [rbp - 0x38]
mov rcx, qword [rbp + 0xa0]
mov r9d, esi
mov rsi, qword [rbp + 0xc0]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.1800c2810
mov r8d, eax
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1800c4949
cmp word [rbp - 0x68], r12w
je 0x1800c4949
mov rcx, qword [rbp - 0x78]
lea rdx, [rax + r13]
call fcn.180029040
mov r8d, dword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov edx, dword [rsp + 0x4c]
test edx, edx
je 0x1800c495a
mov ecx, dword [rsi + 0x28]
mov dword [rsp + 0x58], ecx
jmp 0x1800c4961
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1800c497d
test byte [rax + 0x14], 0x28
jne 0x1800c497d
mov dword [rsp + 0x60], r12d
mov r9d, 1
jmp 0x1800c4988
mov r9d, 1
mov dword [rsp + 0x60], r9d
test rbx, rbx
je 0x1800c4998
test byte [rbx + 0x14], 0x28
mov dword [rsp + 0x5c], r12d
je 0x1800c499d
mov dword [rsp + 0x5c], r9d
test rax, rax
jne 0x1800c49f7
test r13w, r13w
jne 0x1800c49f7
mov ebx, r12d
mov ecx, r13d
mov esi, r13d
test r15b, r15b
je 0x1800c4c81
lea edx, [rcx + r8]
mov r13d, r12d
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4c4e
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.18004fc80
inc esi
mov ebx, 1
jmp 0x1800c4ce7
mov ecx, r13d
mov esi, r13d
mov ebx, r9d
test rax, rax
je 0x1800c49b1
mov rax, qword [rax]
lea esi, [r8 + r13]
mov rcx, qword [rbp + 0xa0]
mov r8d, esi
movzx r14d, r14w
mov r9d, r14d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1800c3030
mov rdx, qword [rbp - 0x60]
movzx eax, word [rdx + 0x12]
bt ax, 8
jae 0x1800c4a87
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
je 0x1800c4a4a
lea rcx, [0x1801880d8]
jmp 0x1800c4a63
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
mov r15, qword [rbp + 0xc0]
mov eax, dword [r15 + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [r15 + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
movzx eax, word [rdx + 0x12]
jmp 0x1800c4a8e
mov r15, qword [rbp + 0xc0]
test al, al
js 0x1800c4b71
mov rcx, rbx
nop dword [rax]
movzx edx, byte [rcx]
lea eax, [rdx + 0x53]
cmp al, 1
ja 0x1800c4ab0
mov rcx, qword [rcx + 0x10]
jmp 0x1800c4aa0
cmp dl, 0xb0
jne 0x1800c4ab9
movzx edx, byte [rcx + 2]
movzx edx, dl
sub edx, 0x75
je 0x1800c4b71
sub edx, 0x24
je 0x1800c4b71
sub edx, 1
je 0x1800c4b71
sub edx, 1
je 0x1800c4b71
cmp edx, 0xc
jne 0x1800c4b15
test dword [rcx + 4], 0x200000
jne 0x1800c4b15
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x1800c4b15
movsx rax, word [rcx + 0x30]
test ax, ax
js 0x1800c4b71
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1800c4b71
lea rcx, [rax + rax*2]
test byte [rdx + rcx*8 + 8], 0xf
jne 0x1800c4b71
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4b40
mov r9d, dword [rsp + 0x58]
mov r8d, esi
mov edx, 0x32
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c4b71
mov edx, dword [rsp + 0x58]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1800c4b89
lea r8, [rax + r13]
mov edx, r14d
mov rcx, rbx
call fcn.1800c1b30
movzx eax, byte [rbx]
lea esi, [r14 + r13]
mov dword [rbp - 0x80], esi
cmp al, 0xb0
jne 0x1800c4b9b
movzx eax, byte [rbx + 2]
cmp al, 0xb1
jne 0x1800c4ba5
mov rax, qword [rbx + 0x20]
jmp 0x1800c4bb1
cmp al, 0x8a
jne 0x1800c4bc6
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1800c4bc6
mov dword [rsp + 0x60], 1
xor r15b, r15b
jmp 0x1800c4cdd
mov rax, qword [rbp - 0x60]
mov r8d, r12d
mov rdx, rax
test byte [rax + 0x12], 4
jne 0x1800c4c46
mov esi, 0x200
nop dword [rax + rax]
cmp dword [r15], r12d
je 0x1800c4bee
mov rax, qword [rdx]
test byte [rax + 4], 1
je 0x1800c4c3c
mov rax, qword [rdx + 0x30]
test qword [r15 + 0x68], rax
jne 0x1800c4c3c
test r8d, r8d
je 0x1800c4c11
movzx eax, word [rdx + 0x12]
bt ax, 0xa
jae 0x1800c4c11
or ax, si
mov word [rdx + 0x12], ax
jmp 0x1800c4c16
or word [rdx + 0x12], 4
movsxd rax, dword [rdx + 0x18]
test eax, eax
js 0x1800c4c3c
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
add rcx, qword [rax + 0x20]
mov rdx, rcx
add byte [rcx + 0x16], 0xff
jne 0x1800c4c3c
inc r8d
test byte [rcx + 0x12], 4
je 0x1800c4be0
mov rdi, qword [rbp + 0xa8]
mov esi, dword [rbp - 0x80]
xor r15b, r15b
jmp 0x1800c4cdd
lea eax, [rcx + 1]
mov ebx, 1
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
inc esi
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x1800c4ce7
test edx, edx
je 0x1800c4ce2
lea edx, [rcx + r8]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4cb1
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.18004fc80
jmp 0x1800c4cdb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
inc esi
mov ebx, 1
mov r13d, dword [rsp + 0x60]
mov r10, qword [rbp - 0x38]
mov r9d, esi
movzx eax, r15b
mov r15d, dword [rsp + 0x40]
sub r9d, eax
mov dword [rbp - 0x80], eax
mov r8d, r15d
test r10, r10
je 0x1800c4d71
test r9d, r9d
jle 0x1800c4d24
nop word [rax + rax]
cmp byte [r10], 0x41
jg 0x1800c4d24
dec r9d
inc r8d
inc r10
test r9d, r9d
jg 0x1800c4d10
movsxd rdx, r9d
cmp rdx, 1
jle 0x1800c4d48
lea rax, [r10 - 1]
add rax, rdx
cmp byte [rax], 0x41
jg 0x1800c4d48
dec r9d
dec rdx
dec rax
cmp rdx, 1
jg 0x1800c4d34
test r9d, r9d
jle 0x1800c4d71
mov rax, qword [rbp + 0xa0]
mov edx, 0x60
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], r12d
mov rcx, qword [rax + 0x10]
call fcn.180050020
mov rax, qword [rsp + 0x68]
lea r14, [0x180000000]
movzx eax, word [rax + 0x3e]
test ax, ax
je 0x1800c4d8e
cmp esi, eax
je 0x1800c508b
mov edx, dword [rsp + 0x4c]
test edx, edx
je 0x1800c4df1
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c4dc0
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x47
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.18004fc80
jmp 0x1800c4df1
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbp + 0xc0]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x1800c4eba
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1800c4e32
mov dword [rsp + 0x20], r15d
mov edx, 0x40
mov r15d, dword [rsp + 0x58]
mov rcx, rdi
mov r9d, r15d
call fcn.18004fc80
mov edx, eax
jmp 0x1800c4e6b
mov r15d, dword [rsp + 0x58]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x40
mov dword [rax + rcx*8 + 8], r15d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c4e8f
movsxd rax, edx
mov edx, dword [rsp + 0x48]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
mov rax, qword [rbp + 0xc8]
mov r9d, r15d
mov r8d, dword [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.1800c31e0
jmp 0x1800c4ebf
mov r15d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
lea eax, [rbx*2]
add eax, r13d
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0x68]
movzx ebx, byte [rcx + r14 + 0x15db10]
test dword [rax + 0x38], 0x100000
je 0x1800c4fcd
cmp ebx, 0x17
jne 0x1800c4fcd
movsxd r8, dword [rdi + 0x90]
mov rax, qword [rbp - 0x70]
mov dword [rsp + 0x54], r8d
mov rax, qword [rax + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dword [rdi + 0x94], r8d
jg 0x1800c4f48
mov r8d, edx
mov dword [rsp + 0x20], r12d
lea edx, [rbx + 0x65]
xor r9d, r9d
mov rcx, rdi
call fcn.18004fc80
mov r8d, eax
mov dword [rsp + 0x54], eax
jmp 0x1800c4f72
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7c
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
cmp qword [rbp - 0x60], r12
je 0x1800c4fcd
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1800c4f9e
lea rcx, [rax + rax*2]
mov edx, 1
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov eax, dword [rdi + 0x90]
lea edx, [rax + 1]
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
je 0x1800c4fb3
lea rax, [0x1801880d8]
jmp 0x1800c4fc5
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov dword [rsp + 0x54], r12d
mov eax, dword [rsp + 0x40]
mov r9d, r15d
mov r8d, dword [rsp + 0x50]
mov edx, ebx
mov dword [rsp + 0x28], esi
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.180050630
cmp dword [rsp + 0x4c], r12d
je 0x1800c5090
movsxd rcx, dword [rdi + 0x90]
lea edx, [rcx + 2]
cmp dword [rdi + 0x94], ecx
jg 0x1800c5021
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.18004fc80
jmp 0x1800c504b
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov ebx, dword [rsp + 0x40]
mov eax, 2
mov r8d, dword [rsp + 0x50]
mov edx, 6
mov ecx, esi
mov r9d, r15d
sub ecx, r13d
mov dword [rsp + 0x28], ecx
cmp esi, 1
mov rcx, rdi
mov dword [rsp + 0x20], ebx
cmova eax, edx
add eax, dword [rsp + 0x78]
movzx edx, byte [rax + r14 + 0x15db10]
call fcn.180050630
jmp 0x1800c5094
mov ebx, r15d
jmp 0x1800c5094
mov ebx, dword [rsp + 0x40]
mov r15, qword [rbp - 0x58]
mov ecx, dword [rsp + 0x48]
mov r13d, ecx
test r15, r15
je 0x1800c53a9
mov rax, qword [r15]
mov rsi, qword [rax + 0x18]
cmp dword [rsp + 0x54], r12d
je 0x1800c50c6
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdi + 0x90]
mov dword [rdx + 0x48], eax
movzx r14d, word [rbp - 0x68]
add ebx, ecx
mov rcx, qword [rbp + 0xa0]
mov r9d, r14d
mov r8d, ebx
mov rdx, rsi
call fcn.1800c3030
movzx eax, word [r15 + 0x12]
bt ax, 8
jae 0x1800c513a
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
je 0x1800c5100
lea rcx, [0x1801880d8]
jmp 0x1800c5119
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
movzx eax, word [r15 + 0x12]
test al, al
js 0x1800c5217
mov rcx, rsi
movzx edx, byte [rcx]
lea eax, [rdx + 0x53]
cmp al, 1
ja 0x1800c5155
mov rcx, qword [rcx + 0x10]
jmp 0x1800c5145
cmp dl, 0xb0
jne 0x1800c515e
movzx edx, byte [rcx + 2]
movzx edx, dl
sub edx, 0x75
je 0x1800c5217
sub edx, 0x24
je 0x1800c5217
sub edx, 1
je 0x1800c5217
sub edx, 1
je 0x1800c5217
cmp edx, 0xc
jne 0x1800c51bb
test dword [rcx + 4], 0x200000
jne 0x1800c51bb
mov r8, qword [rcx + 0x40]
test r8, r8
je 0x1800c51bb
movsx rax, word [rcx + 0x30]
test ax, ax
js 0x1800c5217
mov r8, qword [r8 + 8]
test r8, r8
je 0x1800c5217
lea rcx, [rax + rax*2]
test byte [r8 + rcx*8 + 8], 0xf
jne 0x1800c5217
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c51e6
mov r9d, dword [rsp + 0x58]
mov r8d, ebx
mov edx, 0x32
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c5217
mov edx, dword [rsp + 0x58]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x1800c52a4
mov r8, rax
mov edx, r14d
mov rcx, rsi
call fcn.1800c1b30
mov r11, qword [rbp - 0x40]
mov r9d, r14d
test r14d, r14d
je 0x1800c5253
nop
cmp byte [r11], 0x41
jg 0x1800c5253
dec r9d
inc ebx
inc r11
test r9d, r9d
jg 0x1800c5240
movsxd rax, r9d
cmp rax, 1
jle 0x1800c5278
lea r10, [r11 - 1]
add r10, rax
cmp byte [r10], 0x41
jg 0x1800c5278
dec r9d
dec rax
dec r10
cmp rax, 1
jg 0x1800c5263
test r9d, r9d
jle 0x1800c52a4
mov rax, qword [rbp + 0xa0]
mov r8d, ebx
mov dword [rsp + 0x30], r9d
mov edx, 0x60
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r12d
mov rcx, qword [rax + 0x10]
call fcn.180050020
movzx eax, byte [rsi]
add r13d, r14d
cmp al, 0xb0
jne 0x1800c52b2
movzx eax, byte [rsi + 2]
cmp al, 0xb1
jne 0x1800c52bc
mov rax, qword [rsi + 0x20]
jmp 0x1800c52c8
cmp al, 0x8a
jne 0x1800c52de
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1800c52de
mov ebx, 1
lea r14, [0x180000000]
jmp 0x1800c5364
test byte [r15 + 0x12], 4
mov edx, r12d
jne 0x1800c5359
nop dword [rax + rax]
mov rcx, qword [rbp + 0xc0]
cmp dword [rcx], r12d
je 0x1800c5305
mov rax, qword [r15]
test byte [rax + 4], 1
je 0x1800c5359
mov rax, qword [r15 + 0x30]
test qword [rcx + 0x68], rax
jne 0x1800c5359
test edx, edx
je 0x1800c532e
movzx eax, word [r15 + 0x12]
bt ax, 0xa
jae 0x1800c532e
mov ecx, 0x200
or ax, cx
mov word [r15 + 0x12], ax
jmp 0x1800c5334
or word [r15 + 0x12], 4
movsxd rax, dword [r15 + 0x18]
test eax, eax
js 0x1800c5359
imul rcx, rax, 0x38
mov rax, qword [r15 + 8]
add rcx, qword [rax + 0x20]
mov r15, rcx
add byte [rcx + 0x16], 0xff
jne 0x1800c5359
inc edx
test byte [rcx + 0x12], 4
je 0x1800c52f0
lea r14, [0x180000000]
mov ebx, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x4c]
mov rcx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x78]
test rcx, rcx
je 0x1800c5469
cmp rcx, qword [r8 + 0x1f0]
jae 0x1800c544a
cmp rcx, qword [r8 + 0x1e0]
jb 0x1800c542e
mov rax, qword [r8 + 0x1d8]
mov qword [rcx], rax
mov qword [r8 + 0x1d8], rcx
jmp 0x1800c5469
cmp byte [rsp + 0x70], r12b
je 0x1800c5360
mov esi, dword [rsp + 0x4c]
test esi, esi
jne 0x1800c5422
lea r8d, [rcx + rbx]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c53ec
mov r9d, r8d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea edx, [rsi + 0x4b]
mov rcx, rdi
call fcn.18004fc80
inc r13d
mov ebx, r12d
jmp 0x1800c5368
lea eax, [rcx + 1]
mov ebx, r12d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
inc r13d
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x1800c5368
mov ebx, dword [rsp + 0x5c]
inc r13d
jmp 0x1800c5368
cmp rcx, qword [r8 + 0x1e8]
jb 0x1800c544a
mov rax, qword [r8 + 0x1c8]
mov qword [rcx], rax
mov qword [r8 + 0x1c8], rcx
jmp 0x1800c5469
cmp qword [r8 + 0x308], r12
je 0x1800c5460
mov rdx, rcx
mov rcx, r8
call fcn.1800288c0
jmp 0x1800c5465
call fcn.180028850
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1800c54ce
cmp rcx, qword [r8 + 0x1f0]
jae 0x1800c54b3
cmp rcx, qword [r8 + 0x1e0]
jb 0x1800c5497
mov rax, qword [r8 + 0x1d8]
mov qword [rcx], rax
mov qword [r8 + 0x1d8], rcx
jmp 0x1800c54ce
cmp rcx, qword [r8 + 0x1e8]
jb 0x1800c54b3
mov rax, qword [r8 + 0x1c8]
mov qword [rcx], rax
mov qword [r8 + 0x1c8], rcx
jmp 0x1800c54ce
cmp qword [r8 + 0x308], r12
je 0x1800c54c9
mov rdx, rcx
mov rcx, r8
call fcn.1800288c0
jmp 0x1800c54ce
call fcn.180028850
mov rcx, qword [rbp + 0xc0]
cmp dword [rcx + 0x48], r12d
jne 0x1800c54e4
mov eax, dword [rdi + 0x90]
mov dword [rcx + 0x48], eax
test r13d, r13d
je 0x1800c55b7
test esi, esi
je 0x1800c554a
movsxd rcx, dword [rdi + 0x90]
lea edx, [rcx + 3]
cmp dword [rdi + 0x94], ecx
jg 0x1800c551d
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x11
mov r8d, esi
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c554a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x11
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsp + 0x78]
mov rcx, rdi
mov r15d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x28], r13d
lea eax, [rbx + rax*2]
mov dword [rsp + 0x20], r15d
mov ebx, dword [rsp + 0x58]
mov r9d, ebx
movzx edx, byte [rax + r14 + 0x15b6dc]
call fcn.180050630
movsxd rcx, dword [rsp + 0x54]
test ecx, ecx
je 0x1800c55c0
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], r12b
je 0x1800c55a2
lea rax, [0x1801880d8]
mov dword [rax + 8], edx
jmp 0x1800c55c0
mov rax, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x1800c55c0
mov ebx, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x40]
test esi, esi
je 0x1800c5658
movsxd rcx, dword [rdi + 0x90]
lea edx, [rcx + 2]
cmp dword [rdi + 0x94], ecx
jg 0x1800c55f4
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x10
mov r8d, esi
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c5621
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x10
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov eax, dword [rbp - 0x80]
mov r9d, ebx
mov rcx, qword [rsp + 0x78]
lea r8d, [rax + r13]
mov r13d, dword [rsp + 0x50]
lea eax, [rax + rcx*2]
mov dword [rsp + 0x28], r8d
movzx edx, byte [rax + r14 + 0x15b6dc]
mov r8d, r13d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.180050630
jmp 0x1800c565d
mov r13d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
test dword [rbx + 0x38], 0x40000
je 0x1800c56c8
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c5697
mov eax, dword [rsp + 0x48]
mov r8d, r13d
mov r9d, eax
mov dword [rsp + 0x20], eax
mov edx, 0x7d
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c56c8
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7d
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
test byte [rbx + 0x38], 0x40
mov rax, qword [rbp + 0xb0]
je 0x1800c56eb
mov ecx, 0x1020
test word [rax + 0x3c], cx
jne 0x1800c56eb
mov r15d, 1
jmp 0x1800c58f6
mov rcx, qword [rbp - 0x70]
mov r15d, r12d
mov rbx, qword [rcx + 0x18]
test byte [rbx + 0x30], 0x80
jne 0x1800c571b
mov esi, dword [rsp + 0x44]
mov rdx, rcx
mov r8d, esi
mov rcx, rax
mov r9d, r13d
call fcn.1800c2e10
mov rbx, qword [rsp + 0x68]
jmp 0x1800c58fa
mov r10d, dword [rsp + 0x44]
cmp r10d, r13d
je 0x1800c5936
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1800c5744
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1800c5744
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800c5732
movzx ecx, word [rbx + 0x5e]
mov r8, qword [rbp + 0xa0]
cmp ecx, 1
jne 0x1800c577a
movzx eax, byte [r8 + 0x1f]
test al, al
jne 0x1800c5767
inc dword [r8 + 0x38]
mov r14d, dword [r8 + 0x38]
jmp 0x1800c57a4
dec al
movzx eax, al
mov byte [r8 + 0x1f], al
mov r14d, dword [r8 + rax*4 + 0xe4]
jmp 0x1800c57a4
mov edx, dword [r8 + 0x28]
mov r14d, dword [r8 + 0x2c]
cmp ecx, edx
jg 0x1800c5796
lea eax, [r14 + rcx]
sub edx, ecx
mov dword [r8 + 0x2c], eax
mov dword [r8 + 0x28], edx
jmp 0x1800c57a4
mov eax, dword [r8 + 0x38]
lea r14d, [rax + 1]
add eax, ecx
mov dword [r8 + 0x38], eax
movzx eax, word [rbx + 0x5e]
mov esi, r12d
cmp r12w, ax
jae 0x1800c586f
mov r15, qword [rbp - 0x70]
mov r11d, 0xffffffff
nop
movzx r8d, word [r15 + 0x60]
mov edx, r12d
test r8d, r8d
je 0x1800c57f1
mov rax, qword [rbx + 8]
mov r9, qword [r15 + 8]
movsxd rcx, esi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x1800c57f5
inc edx
cmp edx, r8d
jl 0x1800c57e0
movzx edx, r11w
movsxd rcx, dword [rdi + 0x90]
movsx r8d, dx
lea edx, [r14 + rsi]
cmp dword [rdi + 0x94], ecx
jg 0x1800c582b
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r13d
mov edx, 0x5e
mov rcx, rdi
call fcn.18004fc80
mov r11d, 0xffffffff
jmp 0x1800c5859
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
movzx eax, word [rbx + 0x5e]
inc esi
cmp esi, eax
jl 0x1800c57c0
mov r10d, dword [rsp + 0x44]
mov r15d, r12d
movsxd rdx, dword [rdi + 0x90]
movzx ebx, ax
cmp dword [rdi + 0x94], edx
jg 0x1800c589e
mov r9d, dword [rbp - 0x50]
mov r8d, r10d
mov edx, 0x1c
mov dword [rsp + 0x20], r14d
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
jmp 0x1800c58d1
mov r8d, dword [rbp - 0x50]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x1c
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c58f1
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], ebx
mov rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x44]
mov rcx, qword [rbp - 0x70]
mov r8, qword [rbp + 0xc0]
cmp dword [r8], r12d
jne 0x1800c5925
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x1800c5925
mov r8, qword [rbp - 0x48]
mov edx, esi
call fcn.1800c3140
mov r8, qword [rbp + 0xc0]
mov eax, 0x1000
test dword [rbx + 0x38], eax
je 0x1800c5940
mov byte [r8 + 0x41], 0xb8
jmp 0x1800c594e
mov rbx, qword [rsp + 0x68]
mov esi, r10d
jmp 0x1800c58fe
cmp dword [rsp + 0x78], r12d
sete al
add al, 0x26
mov byte [r8 + 0x41], al
mov dword [r8 + 0x44], r13d
movzx eax, byte [rbx + 0x3a]
and al, 1
mov byte [r8 + 0x42], al
test byte [rbx + 0x38], 0xf
jne 0x1800c5967
mov byte [r8 + 0x43], 1
test r15d, r15d
je 0x1800c67fe
mov rcx, r12
mov qword [rbp - 0x70], rcx
jmp 0x1800c3827
bt edx, 0xd
jae 0x1800c6746
dec dword [r11 + 0x44]
mov r13, r12
inc dword [r11 + 0x38]
mov eax, dword [r11 + 0x34]
mov esi, dword [r11 + 0x38]
mov dword [rbp - 0x68], eax
inc eax
mov dword [r11 + 0x34], eax
mov eax, dword [r11 + 0x44]
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x40], r12
mov dword [rsp + 0x54], esi
mov dword [rbp + 0xb8], r12d
mov rcx, qword [rax + 0x20]
mov rax, qword [r14 + 0x48]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], r12d
mov qword [rbp - 0x20], r12
mov r14, qword [rax]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x10], r14
mov rax, qword [r14 + 0x20]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0xb0]
mov byte [rbx + 0x41], 0x43
mov dword [rbx + 0x44], esi
movzx eax, byte [rax + 0x40]
cmp al, 1
jbe 0x1800c5b58
mov ebx, eax
sub ebx, r15d
dec ebx
movsxd rcx, ebx
imul rdx, rcx, 0x68
mov rcx, qword [rbp - 0x78]
add rdx, 0x70
call fcn.180028ce0
mov qword [rbp - 0x38], rax
mov rdx, rax
test rax, rax
jne 0x1800c5a33
mov rax, qword [rbp + 0xc8]
jmp 0x1800c70b5
mov r15, qword [rbp + 0xb0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x30]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movsd xmm0, qword [rax + 0x60]
movsd qword [rdx + 0x68], xmm0
mov r10, qword [r15 + 8]
cmp ebx, 1
jl 0x1800c5afe
mov r8, qword [rbp + 0xc0]
add rdx, 0x70
add r8, 0xb0
mov r9d, ebx
movzx eax, byte [r8]
lea rdx, [rdx + 0x68]
imul rcx, rax, 0x68
lea r8, [r8 + 0x70]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x68], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x58], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x48], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x38], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x28], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x18], xmm1
movsd xmm0, qword [rcx + r10 + 0x68]
movsd qword [rdx - 8], xmm0
sub r9, 1
jne 0x1800c5aa0
mov r11, qword [rbp + 0xa0]
mov rcx, qword [rbp - 0x28]
test byte [r15 + 0x3c], 0x10
jne 0x1800c5c9c
test byte [rcx + 0x30], 0x80
jne 0x1800c5ba0
inc dword [r11 + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov r13d, dword [r11 + 0x38]
mov dword [rbp + 0xb8], r13d
cmp dword [rdi + 0x94], ecx
jg 0x1800c5b70
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, r13d
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.18004fc80
jmp 0x1800c5c86
mov rax, qword [rbp + 0xb0]
mov r15, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
jmp 0x1800c5b09
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x1800c5c8d
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x1800c5bc2
nop dword [rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1800c5bc2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800c5bb0
mov r13d, dword [r11 + 0x34]
mov dword [rbp + 0xb8], r13d
lea eax, [r13 + 1]
mov dword [r11 + 0x34], eax
movsxd rcx, dword [rdi + 0x90]
movzx edx, word [rbx + 0x5e]
cmp dword [rdi + 0x94], ecx
jg 0x1800c5c09
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x76
mov r8d, r13d
mov rcx, rdi
call fcn.18004fc80
mov r11, qword [rbp + 0xa0]
jmp 0x1800c5c37
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rsi, qword [r11 + 0x10]
mov rdx, rbx
mov rcx, r11
call fcn.180088ef0
mov rdx, rax
test rax, rax
je 0x1800c5c82
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], r12b
je 0x1800c5c66
mov r8, rax
mov edx, 0xfffffff8
call fcn.180050b60
jmp 0x1800c5c82
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov esi, dword [rsp + 0x54]
mov r11, qword [rbp + 0xa0]
inc dword [r11 + 0x38]
mov r13, r12
mov eax, dword [r11 + 0x38]
mov dword [rsp + 0x48], eax
movsxd rdx, dword [rdi + 0x90]
mov dword [rbp - 0x80], edx
cmp dword [rdi + 0x94], edx
jg 0x1800c5cca
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.18004fc80
mov dword [rbp - 0x80], eax
jmp 0x1800c5cf4
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbp - 0x48]
mov r15d, 0xffffffff
cmp dword [rax + 0x14], 1
jle 0x1800c5e2d
mov rdi, qword [rbp + 0xa0]
mov ebx, r12d
mov rsi, r12
mov r8d, 0x8006
mov r9d, 0x3fff
mov rdx, qword [rax + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r10, qword [rdx + rsi]
add rcx, rdx
cmp rcx, r14
je 0x1800c5d81
test word [rdx + rsi + 0x12], r8w
jne 0x1800c5d81
test word [rdx + rsi + 0x14], r9w
je 0x1800c5d81
test dword [r10 + 4], 0x400000
jne 0x1800c5d81
mov rcx, qword [rbp - 0x78]
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
call fcn.180069ef0
mov r8, rax
mov rdx, r13
mov rcx, rdi
call fcn.1800696e0
mov r13, rax
mov r8d, 0x8006
mov r9d, 0x3fff
mov rax, qword [rbp - 0x48]
inc ebx
add rsi, 0x38
cmp ebx, dword [rax + 0x14]
jl 0x1800c5d21
mov rdi, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xa0]
mov qword [rbp - 0x20], r13
test r13, r13
je 0x1800c5e34
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.180028ce0
mov rbx, rax
test rax, rax
je 0x1800c5e19
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov r9, r13
xor r8d, r8d
movups xmmword [rbx + 0x10], xmm0
mov rdx, rbx
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov byte [rbx], 0x2c
mov word [rbx + 0x32], r15w
mov rcx, qword [rsi]
call fcn.180069430
mov rax, qword [rsi]
mov r8d, dword [rax + 0x94]
cmp dword [rbx + 0x28], r8d
jle 0x1800c5e24
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.18002c6f0
mov r13, rbx
mov qword [rbp - 0x20], rbx
jmp 0x1800c5e34
mov rcx, qword [rsi]
mov rdx, r13
call fcn.180069ca0
mov r13, rbx
mov qword [rbp - 0x20], rbx
jmp 0x1800c5e34
mov rsi, qword [rbp + 0xa0]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, rsi
call fcn.180050370
mov rax, qword [rbp - 0x18]
mov r15d, r12d
mov dword [rsp + 0x40], r12d
cmp dword [rax + 0x14], r12d
jle 0x1800c5f03
mov r13, r12
mov qword [rbp - 0x58], r12
nop word [rax + rax]
mov rax, qword [rax + 0x20]
mov ecx, dword [rsp + 0x44]
cmp dword [rax + r13 + 0x1c], ecx
je 0x1800c5e8c
mov ecx, 0x400
test word [rax + r13 + 0x14], cx
je 0x1800c5edd
mov rdx, qword [rax + r13]
mov esi, r12d
mov dword [rsp + 0x50], r12d
test rdx, rdx
je 0x1800c5eb1
mov rcx, qword [rbp - 0x78]
xor r9d, r9d
xor r8d, r8d
call fcn.180069ef0
mov rbx, rax
jmp 0x1800c5eb4
mov rbx, r12
mov rax, qword [rbp - 0x78]
mov r14, rbx
mov qword [rsp + 0x78], rbx
cmp byte [rax + 0x67], sil
je 0x1800c5f1a
test rbx, rbx
je 0x1800c5ed6
mov rdx, rbx
mov rcx, rax
call fcn.180069ca0
mov rsi, qword [rbp + 0xa0]
mov rax, qword [rbp - 0x18]
inc r15d
add r13, 0x38
mov dword [rsp + 0x40], r15d
mov qword [rbp - 0x58], r13
cmp r15d, dword [rax + 0x14]
jl 0x1800c5e70
mov r14, qword [rbp - 0x10]
mov r13, qword [rbp - 0x20]
movsxd rcx, dword [rsi + 0x140]
test ecx, ecx
jne 0x1800c650e
mov eax, r12d
jmp 0x1800c6536
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x1800c5f2a
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0xa0]
lea r9d, [r15 + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.180050370
mov eax, dword [rbp - 0x68]
xor r9d, r9d
mov rdx, qword [rbp - 0x38]
mov r8, rbx
mov rcx, qword [rbp + 0xa0]
mov dword [rsp + 0x38], eax
mov eax, 0x20
mov word [rsp + 0x30], ax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.1800d22c0
mov qword [rbp - 0x60], rax
mov rbx, rax
test rax, rax
je 0x1800c64ed
mov rdx, qword [rbp - 0x38]
lea r8, [rax + 0x360]
mov rcx, qword [rbp + 0xa0]
xor r9d, r9d
call fcn.1800c1470
mov rax, qword [rbp + 0xb0]
test byte [rax + 0x3c], 0x10
jne 0x1800c638a
mov rax, qword [rbp - 0x18]
mov edx, r15d
mov ecx, dword [rax + 0x14]
mov eax, 0xffffffff
dec ecx
cmp r15d, ecx
cmove edx, eax
mov rax, qword [rbp - 0x28]
mov dword [rsp + 0x5c], edx
test byte [rax + 0x30], 0x80
jne 0x1800c60c9
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c600c
mov r9d, dword [rsp + 0x48]
mov edx, 0x87
mov r8d, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.18004fc80
mov edx, dword [rsp + 0x48]
jmp 0x1800c6041
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x48]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rsi, dword [rdi + 0x90]
mov r8d, dword [rbp + 0xb8]
cmp dword [rdi + 0x94], esi
jg 0x1800c606e
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov rcx, rdi
lea edx, [r9 + 0x2f]
call fcn.18004fc80
mov esi, eax
jmp 0x1800c609c
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x2f
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c638a
mov edx, dword [rsp + 0x5c]
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x1800c638a
mov rcx, rax
call fcn.18007f680
mov r8, qword [rbp + 0xa0]
mov r15, rax
movzx esi, word [rax + 0x5e]
cmp esi, 1
jne 0x1800c610a
movzx ecx, byte [r8 + 0x1f]
test cl, cl
jne 0x1800c60f7
inc dword [r8 + 0x38]
mov r13d, dword [r8 + 0x38]
jmp 0x1800c6139
dec cl
movzx eax, cl
mov byte [r8 + 0x1f], al
mov r13d, dword [r8 + rax*4 + 0xe4]
jmp 0x1800c6139
mov ecx, dword [r8 + 0x28]
mov r13d, dword [r8 + 0x2c]
mov dword [rsp + 0x60], r13d
cmp esi, ecx
jg 0x1800c612b
lea eax, [rsi + r13]
sub ecx, esi
mov dword [r8 + 0x2c], eax
mov dword [r8 + 0x28], ecx
jmp 0x1800c613e
mov eax, dword [r8 + 0x38]
lea r13d, [rax + 1]
add eax, esi
mov dword [r8 + 0x38], eax
mov dword [rsp + 0x60], r13d
mov rbx, r12
mov r14, rsi
test esi, esi
je 0x1800c6183
mov esi, r13d
mov r13, qword [rbp - 0x28]
nop
mov rax, qword [r15 + 8]
mov rdx, r13
mov r8d, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x20], esi
movsx r9d, word [rax + rbx*2]
call fcn.18006ef20
inc esi
inc rbx
cmp rbx, r14
jl 0x1800c6150
mov r13d, dword [rsp + 0x60]
mov esi, r14d
mov edx, dword [rsp + 0x5c]
test edx, edx
je 0x1800c6227
movsxd r8, dword [rdi + 0x90]
mov dword [rsp + 0x50], r8d
cmp dword [rdi + 0x94], r8d
jg 0x1800c61c8
mov r8d, dword [rbp + 0xb8]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], r13d
lea edx, [r9 + 0x1d]
call fcn.18004fc80
mov edx, dword [rsp + 0x5c]
mov r8d, eax
mov dword [rsp + 0x50], eax
jmp 0x1800c61ff
mov r9d, dword [rbp + 0xb8]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c621f
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], esi
test edx, edx
js 0x1800c6337
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c6258
mov eax, dword [rsp + 0x48]
mov r9d, esi
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x61
mov rcx, rdi
call fcn.18004fc80
mov r8d, dword [rsp + 0x48]
jmp 0x1800c628b
mov r8d, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1800c62ba
mov r9d, r8d
mov dword [rsp + 0x20], r13d
mov r8d, dword [rbp + 0xb8]
mov edx, 0x8a
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
jmp 0x1800c62f0
mov r9d, dword [rbp + 0xb8]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1800c6310
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], esi
cmp dword [rsp + 0x5c], r12d
je 0x1800c6337
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1800c6337
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rbx, qword [rbp - 0x60]
mov r15d, dword [rsp + 0x40]
mov r14, qword [rsp + 0x78]
cmp esi, 1
jne 0x1800c636f
test r13d, r13d
je 0x1800c6382
mov rdx, qword [rbp + 0xa0]
mov esi, dword [rsp + 0x50]
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1800c6386
mov dword [rdx + rax*4 + 0xe4], r13d
inc byte [rdx + 0x1f]
jmp 0x1800c6386
mov rdx, qword [rbp + 0xa0]
cmp esi, dword [rdx + 0x28]
jle 0x1800c6382
mov dword [rdx + 0x28], esi
mov dword [rdx + 0x2c], r13d
mov esi, dword [rsp + 0x50]
mov r13, qword [rbp - 0x58]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c63b7
mov r9d, dword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rsp + 0x54]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.18004fc80
jmp 0x1800c63ec
mov edx, dword [rsp + 0x54]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
test esi, esi
je 0x1800c641d
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], r12b
je 0x1800c6408
lea rax, [0x1801880d8]
jmp 0x1800c641a
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rbx + 0x44]
mov edx, 1
mov ecx, dword [rsp + 0x4c]
test al, 2
cmovne ecx, edx
mov rdx, qword [rbx + 0x3c0]
mov dword [rsp + 0x4c], ecx
mov ecx, eax
test dword [rdx + 0x38], 0x200
je 0x1800c646f
test r15d, r15d
je 0x1800c6453
mov r8, qword [rbp - 0x40]
cmp qword [rdx + 0x20], r8
jne 0x1800c646f
mov r8, qword [rbp - 0x28]
test byte [r8 + 0x30], 0x80
je 0x1800c64a8
mov rdx, qword [rdx + 0x20]
mov qword [rbp - 0x40], rdx
mov eax, dword [rdx + 0x64]
and al, 3
cmp al, 2
jne 0x1800c6473
mov qword [rbp - 0x40], r12
test cl, 1
je 0x1800c6483
mov rax, qword [rbp + 0xb0]
or dword [rax + 0x44], 1
mov rcx, rbx
call fcn.1800d3460
mov rsi, qword [rbp + 0xa0]
movsxd rcx, dword [rsi + 0x140]
test ecx, ecx
jne 0x1800c64b4
mov eax, r12d
mov dword [rsi + 0x140], eax
jmp 0x1800c64f4
mov ecx, eax
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x40], rax
jmp 0x1800c6473
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], r12b
je 0x1800c64d3
lea rax, [0x1801880d8]
mov eax, dword [rax + 8]
mov dword [rsi + 0x140], eax
jmp 0x1800c64f4
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [rsi + 0x140], eax
jmp 0x1800c64f4
mov rsi, qword [rbp + 0xa0]
test r14, r14
je 0x1800c5edd
mov rcx, qword [rbp - 0x78]
mov rdx, r14
call fcn.180069ca0
jmp 0x1800c5edd
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], r12b
je 0x1800c6524
lea rax, [0x1801880d8]
jmp 0x1800c6533
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xc0]
mov dword [rsi + 0x140], eax
mov rax, qword [rbp - 0x40]
mov qword [r8 + 0x50], rax
test rax, rax
je 0x1800c6557
mov eax, dword [rbp - 0x68]
mov dword [r8 + 8], eax
mov rbx, qword [rbp - 0x78]
test r13, r13
je 0x1800c6576
mov rdx, r13
mov qword [r13 + 0x10], r12
mov rcx, rbx
call fcn.180069ca0
mov r8, qword [rbp + 0xc0]
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], r12b
je 0x1800c658e
lea rax, [0x1801880d8]
jmp 0x1800c65a1
movsxd rax, dword [rbp - 0x80]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r8 + 0xc]
cmp dword [rdi + 0x94], ecx
jg 0x1800c65d0
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.18004fc80
jmp 0x1800c65fa
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800c6619
mov r8d, edx
mov rdx, rdi
call fcn.1800506d0
jmp 0x1800c6629
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov eax, dword [rdi + 0x90]
mov r8, qword [rbp + 0xc0]
mov dword [r8 + 0x48], eax
mov rax, qword [rbp + 0xb0]
cmp byte [rax + 0x40], 1
jbe 0x1800c66b3
mov rcx, qword [rbp - 0x38]
test rbx, rbx
je 0x1800c66a7
cmp rcx, qword [rbx + 0x1f0]
jae 0x1800c6691
cmp rcx, qword [rbx + 0x1e0]
jb 0x1800c6675
mov rax, qword [rbx + 0x1d8]
mov qword [rcx], rax
mov qword [rbx + 0x1d8], rcx
jmp 0x1800c66b3
cmp rcx, qword [rbx + 0x1e8]
jb 0x1800c6691
mov rax, qword [rbx + 0x1c8]
mov qword [rcx], rax
mov qword [rbx + 0x1c8], rcx
jmp 0x1800c66b3
cmp qword [rbx + 0x308], r12
je 0x1800c66a7
mov rdx, rcx
mov rcx, rbx
call fcn.1800288c0
jmp 0x1800c66ac
call fcn.180028850
mov r8, qword [rbp + 0xc0]
cmp dword [rsp + 0x4c], r12d
jne 0x1800c3824
test byte [r14 + 0x12], 4
mov edx, r12d
jne 0x1800c3824
nop dword [rax]
cmp dword [r8], r12d
je 0x1800c66e2
mov rax, qword [r14]
test byte [rax + 4], 1
je 0x1800c3824
mov rax, qword [r14 + 0x30]
test qword [r8 + 0x68], rax
jne 0x1800c3824
test edx, edx
je 0x1800c670f
movzx eax, word [r14 + 0x12]
bt ax, 0xa
jae 0x1800c670f
mov esi, 0x200
or ax, si
mov word [r14 + 0x12], ax
jmp 0x1800c6715
or word [r14 + 0x12], 4
movsxd rax, dword [r14 + 0x18]
test eax, eax
js 0x1800c3824
mov rcx, qword [r14 + 8]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
add byte [r14 + 0x16], 0xff
jne 0x1800c3824
inc edx
test byte [r14 + 0x12], 4
je 0x1800c66d0
jmp 0x1800c3824
test r8b, 0x40
je 0x1800c6758
mov r8, rbx
mov byte [rbx + 0x41], 0xb8
jmp 0x1800c3824
mov ecx, r10d
lea rdx, [0x180000000]
mov r10d, dword [rsp + 0x44]
mov dword [rbx + 0x44], r10d
movzx eax, byte [rcx + rdx + 0x159a7c]
movzx r8d, byte [rcx + rdx + 0x159f64]
mov byte [rbx + 0x41], al
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x1800c67b5
mov edx, r8d
mov dword [rsp + 0x20], r12d
mov r8d, r10d
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
mov byte [rbx + 0x43], 1
mov r8, rbx
lea eax, [rax + 1]
mov dword [rbx + 0x48], eax
jmp 0x1800c3824
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], r8b
mov r8, rbx
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
lea eax, [rdx + 1]
mov dword [rbx + 0x48], eax
mov byte [rbx + 0x43], 1
jmp 0x1800c3824
mov rcx, qword [rbp - 0x70]
jmp 0x1800c3827
mov rax, qword [rbp - 0x30]
mov r14, qword [rbx]
movzx eax, byte [rax + 0x3c]
test al, 0x58
je 0x1800c68a8
mov ecx, dword [r14 + 4]
test cl, 3
je 0x1800c69e7
test al, 8
je 0x1800c6834
test cl, 1
je 0x1800c69e7
mov rcx, qword [rbp + 0xb0]
mov r8d, dword [r14 + 0x34]
cmp dword [rcx + 0x260], r8d
jne 0x1800c684f
mov eax, 1
jmp 0x1800c6894
movsxd r9, dword [rcx + 0x25c]
mov edx, 1
mov eax, 2
cmp rdx, r9
jge 0x1800c6884
add rcx, 0x264
nop dword [rax]
cmp dword [rcx], r8d
je 0x1800c6887
rol rax, 1
inc rdx
add rcx, 4
cmp rdx, r9
jl 0x1800c6870
mov rax, r12
mov edx, dword [rbp + 0xb8]
lea r9, [0x1800738b0]
test rax, r11
jne 0x1800c69e7
mov r8, qword [rbp + 0xc0]
mov rcx, qword [rbp - 0x70]
cmp edx, 1
jne 0x1800c68fe
mov eax, dword [r8 + 4]
xorps xmm0, xmm0
mov dword [rbp - 8], eax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x28], rax
mov qword [rbp], r12
mov qword [rbp + 0x20], r12
mov qword [rbp - 0x10], rcx
mov qword [rbp + 8], r9
movdqu xmmword [rbp + 0x10], xmm0
test r14, r14
je 0x1800c68ec
mov rdx, r14
lea rcx, [rbp]
call fcn.180064420
mov r8, qword [rbp + 0xc0]
cmp word [rbp + 0x24], 0
je 0x1800c6903
mov r15d, 2
jmp 0x1800c69e7
cmp edx, 3
jge 0x1800c6924
movzx r10d, word [rbx + 0x12]
bt r10w, 0xc
jae 0x1800c6924
test r15d, r15d
jne 0x1800c69e7
mov r15d, 3
jmp 0x1800c69e7
bt r10w, 9
jae 0x1800c6998
mov edx, dword [r8 + 0x2c]
test edx, edx
je 0x1800c6998
movsxd rsi, dword [rdi + 0x90]
mov r8d, edx
and edx, 1
shr r8d, 1
or edx, 0x10
cmp dword [rdi + 0x94], esi
jg 0x1800c6963
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.18004fc80
mov esi, eax
jmp 0x1800c6998
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x50]
mov r9d, 0x10
mov rcx, qword [rbp + 0xa0]
mov rdx, r14
call fcn.1800729c0
test esi, esi
je 0x1800c69e2
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800c69cd
lea rax, [0x1801880d8]
jmp 0x1800c69df
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
mov edx, dword [rbp + 0xb8]
lea r9, [0x1800738b0]
mov r8, qword [rbp + 0xc0]
dec r13d
mov rcx, qword [rbp - 0x70]
add rbx, 0x38
test r13d, r13d
jg 0x1800c3864
mov r10, qword [rbp - 0x48]
lea r9, [0x1800738b0]
mov rbx, qword [r10 + 0x20]
mov r8, qword [rbp + 0xc0]
mov edx, r15d
mov dword [rbp + 0xb8], edx
test r15d, r15d
jg 0x1800c3850
mov r14d, dword [r10 + 0x1c]
test r14d, r14d
jle 0x1800c6b4e
mov rdi, qword [rbp + 0xa0]
lea rsi, [rbx + 0x14]
mov r13, qword [rbp - 0x30]
test byte [rsi - 2], 6
jne 0x1800c6b37
movzx eax, word [rsi]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1800c6b37
mov eax, dword [rsp + 0x44]
cmp dword [rsi + 8], eax
jne 0x1800c6b37
test byte [r13 + 0x3c], 0x58
jne 0x1800c6b37
mov r9, qword [rbp + 0xc8]
mov edx, eax
mov r8d, dword [rsi + 0xc]
mov rcx, r10
mov r15, qword [rsi - 0x14]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x83
call fcn.1800cafd0
mov rbx, rax
test rax, rax
je 0x1800c6b33
test byte [rax + 0x12], 4
jne 0x1800c6b33
test byte [rax + 0x14], 1
je 0x1800c6ae4
mov rax, qword [rax]
test dword [rax + 4], 0x1000
je 0x1800c6ae4
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x1800c6b33
mov rax, qword [rbx]
lea rdx, [rbp]
mov r8d, dword [rbp - 0x50]
mov r9d, 0x10
mov rcx, rdi
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rbp + 0x10], rax
call fcn.1800729c0
or word [rbx + 0x12], 4
mov r10, qword [rbp - 0x48]
dec r14d
add rsi, 0x38
test r14d, r14d
jg 0x1800c6a53
mov rdi, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xc0]
mov r15, qword [r8 + 0x38]
mov qword [rbp - 0x10], r15
test r15, r15
je 0x1800c6f6b
movzx eax, byte [r8 + 0x40]
imul rcx, rax, 0x68
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov rbx, qword [rcx + rax + 0x28]
mov qword [rbp + 0xc8], rbx
test byte [rbx + 0x30], 0x80
jne 0x1800c6c2a
mov rdx, qword [rbp + 0xa0]
mov ecx, dword [rdx + 0x28]
mov esi, dword [rdx + 0x2c]
cmp ecx, 2
jl 0x1800c6bb0
lea eax, [rsi + 2]
mov dword [rdx + 0x2c], eax
lea eax, [rcx - 2]
mov dword [rdx + 0x28], eax
jmp 0x1800c6bbc
mov eax, dword [rdx + 0x38]
lea esi, [rax + 1]
add eax, 2
mov dword [rdx + 0x38], eax
movsxd rcx, dword [rdi + 0x90]
lea r9d, [rsi + 1]
mov r8d, dword [r8 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x1800c6bf0
mov edx, 0x87
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.18004fc80
mov r13d, 1
jmp 0x1800c6d1b
lea eax, [rcx + 1]
mov r13d, 1
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x1800c6d1b
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1800c6c45
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1800c6c45
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800c6c33
movzx r13d, word [rbx + 0x5e]
mov dword [rbp + 0xb0], r13d
lea ecx, [r13 + 1]
cmp ecx, 1
jne 0x1800c6c82
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1800c6c71
inc dword [rcx + 0x38]
mov esi, dword [rcx + 0x38]
jmp 0x1800c6cb7
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov esi, dword [rcx + rax*4 + 0xe4]
jmp 0x1800c6cb7
mov r8, qword [rbp + 0xa0]
mov edx, dword [r8 + 0x28]
mov esi, dword [r8 + 0x2c]
mov dword [rbp + 0xb8], esi
cmp ecx, edx
jg 0x1800c6caa
lea eax, [rsi + rcx]
sub edx, ecx
mov dword [r8 + 0x2c], eax
mov dword [r8 + 0x28], edx
jmp 0x1800c6cbd
mov eax, dword [r8 + 0x38]
lea esi, [rax + 1]
add eax, ecx
mov dword [r8 + 0x38], eax
mov dword [rbp + 0xb8], esi
mov r12, r13
test r13, r13
je 0x1800c6d18
mov r13, qword [rbp + 0xc8]
lea r15d, [rsi + 1]
mov esi, dword [rsp + 0x44]
xor r14d, r14d
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov r8d, esi
mov rdx, r13
mov dword [rsp + 0x20], r15d
mov rcx, rdi
movsx r9d, word [rax + r14*2]
call fcn.18006ef20
inc r15d
inc r14
cmp r14, r12
jl 0x1800c6ce0
mov esi, dword [rbp + 0xb8]
mov r13d, dword [rbp + 0xb0]
mov r15, qword [rbp - 0x10]
xor r12d, r12d
movsxd r14, dword [rdi + 0x90]
lea ebx, [rsi + 1]
mov r8d, dword [r15]
cmp dword [rdi + 0x94], r14d
jg 0x1800c6d49
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov rcx, rdi
lea edx, [r9 + 0x1d]
call fcn.18004fc80
mov r14d, eax
jmp 0x1800c6d78
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x1800c6d99
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c6dc1
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov edx, 0x61
mov rcx, rdi
call fcn.18004fc80
jmp 0x1800c6dee
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r12
movsxd r9, dword [rdi + 0x90]
mov r8d, dword [r15]
cmp dword [rdi + 0x94], r9d
jg 0x1800c6e1a
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov edx, 0x8a
mov rcx, rdi
call fcn.18004fc80
mov r9d, eax
jmp 0x1800c6e48
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x1800c6e69
movsxd rax, r9d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
movsxd rdx, dword [rdi + 0x90]
mov r8d, dword [r15 + 4]
cmp dword [rdi + 0x94], edx
jg 0x1800c6e94
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov edx, 0xb4
mov rcx, rdi
call fcn.18004fc80
mov edx, eax
jmp 0x1800c6ec2
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x1800c6ee3
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
movsxd rdx, dword [rdi + 0x90]
test edx, edx
jle 0x1800c6f09
mov rax, qword [rdi + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rdi + 0x90]
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1800c6f1b
lea rax, [0x1801880d8]
jmp 0x1800c6f2d
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov r14, qword [rbp + 0xa0]
inc r13d
mov dword [rax + 8], edx
cmp r13d, 1
jne 0x1800c6f5b
test esi, esi
je 0x1800c6f72
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1800c6f72
mov dword [r14 + rax*4 + 0xe4], esi
inc byte [r14 + 0x1f]
jmp 0x1800c6f72
cmp r13d, dword [r14 + 0x28]
jle 0x1800c6f72
mov dword [r14 + 0x28], r13d
mov dword [r14 + 0x2c], esi
jmp 0x1800c6f72
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0xc0]
mov r9d, dword [r15]
test r9d, r9d
je 0x1800c6ff1
mov eax, dword [rdi + 0x90]
mov dword [r15 + 0x1c], eax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800c6fb2
mov edx, 0x47
mov dword [rsp + 0x20], r12d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.18004fc80
jmp 0x1800c6fe4
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
cmp qword [r15 + 0x38], 0
je 0x1800c7060
mov rbx, qword [r15 + 0x38]
jmp 0x1800c6ffe
mov rbx, qword [r15 + 0x38]
test rbx, rbx
je 0x1800c70b1
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rbx + 8]
cmp dword [rdi + 0x94], ecx
jg 0x1800c7029
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x4a]
call fcn.18004fc80
jmp 0x1800c7053
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4a
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov eax, dword [rdi + 0x90]
mov dword [rbx + 0xc], eax
inc byte [r14 + 0x26]
mov rdi, qword [rbp - 0x48]
cmp dword [rdi + 0x1c], 0
mov rbx, qword [rdi + 0x20]
jle 0x1800c70b1
nop
test byte [rbx + 0x12], 6
jne 0x1800c70a4
mov rax, qword [rbx + 0x30]
test qword [r15 + 0x68], rax
jne 0x1800c70a4
mov rax, qword [rbp - 0x30]
test byte [rax + 0x3c], 0x40
jne 0x1800c70a4
mov r8d, dword [rbp - 0x50]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r14
call fcn.1800729c0
or word [rbx + 0x12], 4
inc r12d
add rbx, 0x38
cmp r12d, dword [rdi + 0x1c]
jl 0x1800c7070
mov rax, qword [r15 + 0x68]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret