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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
mov rax, qword [0x140415a10]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rsi, qword [rcx]
lea rax, [rcx + 0x158]
mov r11, rcx
mov r13, qword [r11 + 8]
mov r12, qword [rsi + 0x10]
movsxd r10, edx
xor ebp, ebp
lea r14, [rcx + 0x340]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsi]
mov qword [rsp + 0x68], rcx
add r13, 8
mov rbx, r8
movsxd r8, dword [r11 + 0x54]
lea r9, [r10 + r10*4]
shl r9, 4
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd0], rbx
add r14, r9
mov dword [rsp + 0x78], r10d
mov qword [rsp + 0xc8], rsi
movzx eax, byte [r14 + 0x24]
mov r15, qword [r14 + 0x40]
mov qword [rsp + 0x50], r12
imul rcx, rax, 0x78
add r13, rcx
mov qword [rsp + 0xe0], r14
mov r9d, dword [r13 + 0x48]
mov qword [rsp + 0x70], r15
mov edx, ebp
mov qword [rsp + 0xb8], r13
mov ecx, ebp
lea edi, [rbp + 1]
mov dword [rsp + 0x40], r9d
test r8, r8
jle 0x140281577
lea rax, [r11 + 0x58]
cmp dword [rax], r9d
je 0x1402816a6
inc rcx
inc edx
add rax, 4
cmp rcx, r8
jl 0x140281560
mov rax, rbp
not rax
mov ecx, r10d
and rax, rbx
mov qword [r14 + 0x48], rax
mov rbx, qword [r11 + 0x28]
shr rbx, cl
and ebx, edi
test byte [r15 + 0x28], 0x40
mov qword [rsp + 0x80], rbx
je 0x1402815aa
test byte [r11 + 0x32], 0x20
mov dword [rsp + 0x60], edi
je 0x1402815ae
mov dword [rsp + 0x60], ebp
mov rcx, r12
call fcn.140235840
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x58], eax
mov dword [r14 + 0x10], eax
mov dword [r14 + 0xc], eax
call fcn.140235840
mov dword [rsp + 0x90], eax
mov dword [r14 + 0x18], eax
cmp byte [r14 + 0x24], bpl
jbe 0x140281605
test byte [r13 + 0x3c], 8
je 0x140281605
mov r9d, dword [rsi + 0x58]
xor r8d, r8d
mov rcx, r12
inc r9d
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], ebp
mov dword [rsi + 0x58], r9d
mov dword [r14], r9d
call fcn.1402355c0
mov ecx, dword [r13 + 0x40]
mov qword [rsp + 0xd8], 0xa
test cl, 4
je 0x1402816b3
mov ebx, dword [r13 + 0x34]
mov eax, dword [r13 + 0x30]
xor r9d, r9d
lea edx, [r9 + 0x14]
mov rcx, r12
mov r8d, ebx
mov dword [rsp + 0x20], eax
call fcn.1402355c0
mov r9d, edi
mov r8d, ebx
mov edx, 0x16
mov rcx, r12
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov r15, qword [rsp + 0x68]
mov dword [r14 + 0x2c], eax
mov byte [r14 + 0x25], 0x10
mov r13d, dword [rsp + 0x40]
lea rax, [r15 + 0x158]
mov edi, dword [rax + 0x14]
mov rbx, qword [rax + 0x20]
test edi, edi
jle 0x140282904
mov r13d, dword [rsp + 0x90]
test byte [rbx + 0x1c], 6
jne 0x1402828e9
mov rax, qword [rbx + 0x30]
test qword [r14 + 0x48], rax
je 0x1402828c5
mov byte [r15 + 0x36], 1
jmp 0x1402828e9
mov ecx, edx
mov rax, rdi
shl rax, cl
jmp 0x14028157a
mov edx, dword [r15 + 0x28]
bt edx, 0xa
jae 0x14028194f
movzx r13d, word [r15 + 0x2c]
mov ecx, dword [rsi + 0x48]
mov edx, dword [rsi + 0x4c]
inc dword [rsi + 0x74]
lea r8d, [r13 + 2]
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x60], r8d
cmp r8d, ecx
jg 0x1402816f0
lea eax, [r8 + rdx]
sub ecx, r8d
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x140281700
mov eax, dword [rsi + 0x58]
lea edx, [rax + 1]
add eax, r8d
mov dword [rsp + 0x44], edx
mov dword [rsi + 0x58], eax
mov r12d, dword [r14 + 0xc]
mov ebx, ebp
test r13d, r13d
jle 0x14028177d
mov rdi, rbp
mov rbp, qword [rsp + 0x70]
lea r15d, [rdx + 2]
nop word [rax + rax]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x14028176b
test byte [rdx + 0x1a], 1
mov rcx, rsi
je 0x14028175b
lea eax, [r15 + rbx]
mov r9d, ebx
mov r8, r14
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.140280770
mov r12d, dword [r14 + 0x10]
jmp 0x14028176b
mov rdx, qword [rdx]
lea r8d, [r15 + rbx]
mov rdx, qword [rdx + 0x18]
call fcn.14024c320
inc ebx
add rdi, 8
cmp ebx, r13d
jl 0x140281720
mov r15, qword [rsp + 0x70]
xor ebp, ebp
mov ebx, dword [rsp + 0x44]
mov r8d, dword [r15 + 0x18]
mov rcx, qword [rsp + 0x50]
mov r9d, ebx
mov edx, 0x19
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov rcx, qword [rsp + 0x50]
lea r9d, [rbx + 1]
mov r8d, r13d
mov edx, 0x19
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
cmp byte [r15 + 0x1c], 0
mov r8d, dword [rsp + 0x40]
mov rbx, qword [r15 + 0x20]
mov eax, 0xfffffff5
mov r9d, r12d
mov r12, qword [rsp + 0x50]
mov edi, 0xfffffffe
mov edx, 0xe
cmovne edi, eax
mov eax, dword [rsp + 0x44]
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.1402355c0
mov r9d, edi
mov r8, rbx
mov rcx, r12
mov edx, eax
call fcn.140235de0
mov byte [r15 + 0x1c], 0
mov r10d, ebp
test r13d, r13d
jle 0x140281887
nop word [rax + rax]
cmp r10d, 0x10
jge 0x140281887
movzx eax, word [r15 + 0x1e]
movzx ecx, r10w
shr ax, cl
test al, 1
je 0x14028187f
mov rax, qword [r15 + 0x30]
movsxd rcx, r10d
mov rcx, qword [rax + rcx*8]
test rcx, rcx
je 0x14028187f
movzx edx, byte [rcx + 0x1c]
test dl, 4
jne 0x14028187f
cmp dword [r14], 0
je 0x14028184e
mov rax, qword [rcx]
test byte [rax + 4], 1
je 0x14028187f
mov rax, qword [rcx + 0x30]
test qword [r14 + 0x48], rax
jne 0x14028187f
movsxd rax, dword [rcx + 8]
or dl, 4
mov byte [rcx + 0x1c], dl
test eax, eax
js 0x14028187f
mov rcx, qword [rcx + 0x20]
imul rdx, rax, 0x38
add rdx, qword [rcx + 0x20]
dec byte [rdx + 0x1d]
jne 0x14028187f
mov rcx, r14
call fcn.140280650
inc r10d
cmp r10d, r13d
jl 0x140281810
mov r13d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x60]
mov byte [r14 + 0x25], 0x96
mov dword [r14 + 0x28], r13d
mov eax, dword [r12 + 0x3c]
mov r11d, 0xa
mov dword [r14 + 0x2c], eax
mov eax, dword [rsp + 0x44]
lea rcx, [rsi + 0x94]
lea r9d, [rax - 1]
mov r8d, r11d
add r9d, r10d
nop
mov edx, dword [rcx]
cmp edx, eax
jl 0x1402818ed
cmp edx, r9d
jg 0x1402818ed
cmp byte [rcx - 6], 0
je 0x1402818eb
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1402818e3
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov eax, dword [rsp + 0x44]
mov byte [rcx - 6], 0
mov dword [rcx], ebp
add rcx, 0x14
dec r8
jne 0x1402818c0
cmp r10d, dword [rsi + 0x48]
jle 0x140281903
mov dword [rsi + 0x48], r10d
mov dword [rsi + 0x4c], eax
dec dword [rsi + 0x74]
lea rcx, [rsi + 0x94]
mov r8, r11
mov edx, dword [rcx]
test edx, edx
je 0x14028193c
mov eax, dword [rsi + 0x74]
cmp dword [rcx - 4], eax
jle 0x14028193c
cmp byte [rcx - 6], 0
je 0x14028193a
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140281936
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], ebp
add rcx, 0x14
dec r8
jne 0x140281910
mov r15, qword [rsp + 0x68]
jmp 0x140281666
mov eax, edx
and eax, 0x100
je 0x140281a08
test dl, 5
je 0x140281a08
mov rax, qword [r15 + 0x30]
xor r9d, r9d
mov r8, r14
mov rdx, qword [rax]
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
mov rax, qword [rsp + 0x80]
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.140280770
mov edi, eax
cmp eax, ebx
je 0x1402819a0
mov edx, ebx
mov rcx, rsi
call fcn.14024d7c0
mov ebx, dword [r14 + 0x10]
mov r8d, edi
mov edx, 0x26
mov rcx, r12
mov r9d, ebx
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov r13d, dword [rsp + 0x40]
mov r9d, ebx
mov edx, 0x43
mov rcx, r12
mov r8d, r13d
mov dword [rsp + 0x20], edi
call fcn.1402355c0
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.14024a940
mov r9d, edi
or r8d, 0xffffffff
mov edx, r13d
mov rcx, rsi
call fcn.14024a7d0
mov r15, qword [rsp + 0x68]
mov byte [r14 + 0x25], 0x9b
jmp 0x140281666
test eax, eax
je 0x140281bec
test dl, 2
je 0x140281bec
mov r8, qword [rsp + 0x70]
mov r15d, 0x9b
mov eax, ebp
mov r12, rbp
mov r13, rbp
test dl, 0x20
je 0x140281a3d
mov rax, qword [r8 + 0x30]
mov r13, qword [rax]
mov eax, 1
test dl, 0x10
je 0x140281a4d
movsxd rcx, eax
mov rax, qword [r8 + 0x30]
mov r12, qword [rax + rcx*8]
test ebx, ebx
je 0x140281a5a
mov rax, r13
mov r13, r12
mov r12, rax
test r13, r13
je 0x140281acb
mov rbx, qword [r13]
lea r8, [rsp + 0x60]
mov rcx, rsi
mov rdx, qword [rbx + 0x18]
mov dword [rsp + 0x44], 0x3d3b3c3e
call fcn.14024c1c0
movzx ecx, byte [rbx]
mov r9d, dword [rsp + 0x58]
movzx edx, byte [rsp + rcx - 0xc]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.1402355c0
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.14024a940
mov edx, dword [rsp + 0x60]
mov rcx, rsi
call fcn.14024d7c0
mov rdx, r13
mov rcx, r14
call fcn.140280650
mov edi, dword [rsp + 0x58]
jmp 0x140281af0
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov edx, 0x69
mov eax, 0x66
test ebx, ebx
mov r9d, edi
cmovne edx, eax
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
test r12, r12
je 0x140281b46
mov rbx, qword [r12]
inc dword [rsi + 0x58]
mov r13d, dword [rsi + 0x58]
mov rdx, qword [rbx + 0x18]
mov r8d, r13d
mov rcx, rsi
call fcn.14024c320
movzx eax, byte [rbx]
sub al, 0x50
test al, 0xfd
je 0x140281b23
mov eax, 0x52
lea r15d, [rax - 2]
jmp 0x140281b2e
mov eax, 0x51
mov r15d, 0x53
cmp dword [rsp + 0x80], ebp
mov rdx, r12
mov rcx, r14
cmovne r15d, eax
call fcn.140280650
jmp 0x140281b49
mov r13d, ebp
cmp dword [rsp + 0x80], ebp
mov r12, qword [rsp + 0x50]
mov ecx, dword [r12 + 0x3c]
sete al
add al, 8
mov dword [r14 + 0x2c], ecx
mov byte [r14 + 0x25], al
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0x28], eax
cmp r15d, 0x9b
je 0x1402828b8
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
mov r8d, eax
mov edx, 0x64
mov rcx, r12
mov r9d, ebx
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.14024a7d0
mov r9d, edi
mov r8d, r13d
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.1402355c0
mov rdx, qword [r12 + 8]
mov r15, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x40]
test rdx, rdx
je 0x140281666
movsxd rax, dword [r12 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x6b
jmp 0x140281666
mov eax, 0x200
test eax, edx
je 0x140282298
mov eax, dword [r14 + 8]
mov r13, qword [rsp + 0x70]
movzx ebx, word [r15 + 0x18]
mov r10, qword [r13 + 0x20]
mov rdi, rbp
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x68]
xor r15b, r15b
mov qword [rsp + 0x98], rbp
test byte [rax + 0x32], 1
mov qword [rsp + 0x88], rbp
mov r9d, ebp
mov byte [rsp + 0x48], dil
mov byte [rsp + 0x49], dil
mov qword [rsp + 0xc0], r10
je 0x140281c61
cmp byte [rax + 0x34], dil
je 0x140281c61
mov r11d, 1
cmp word [r10 + 0x5e], bx
jbe 0x140281c67
movzx r15d, r11b
mov r9d, r11d
jmp 0x140281c67
mov r11d, 1
movzx r12d, bx
mov r8d, r12d
test dl, 0x20
je 0x140281c89
mov rax, qword [r13 + 0x30]
inc r8d
mov r9d, r11d
mov rdi, qword [rax + r12*8]
mov qword [rsp + 0x98], rdi
test dl, 0x10
je 0x140281cd5
mov rax, qword [r13 + 0x30]
movsxd rcx, r8d
mov r9d, r11d
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x88], rax
test rdi, rdi
jne 0x140281cd5
mov rax, qword [r10 + 8]
movzx ecx, bx
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x140281cd5
mov rax, qword [r10 + 0x18]
lea rdx, [rdx + rdx*2]
movzx r15d, r15b
mov rcx, qword [rax + 8]
add rdx, rdx
cmp byte [rcx + rdx*8 + 0x28], bpl
cmove r15d, r11d
mov r8d, dword [rsp + 0x80]
lea rax, [rsp + 0xb8]
mov rdx, r14
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1402809d0
mov r9d, eax
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x140281d14
movzx ecx, bx
movzx edx, byte [rcx + rax]
mov byte [rsp + 0x48], dl
mov eax, dword [r14 + 0x10]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xc0]
movzx r8d, word [rax + 0x5e]
cmp bx, r8w
jae 0x140281d4c
mov rax, qword [rax + 0x38]
mov edx, ebp
movzx ecx, bx
cmp byte [rcx + rax], dl
mov rax, qword [rsp + 0x80]
sete dl
cmp eax, edx
je 0x140281d5e
jmp 0x140281d54
mov rax, qword [rsp + 0x80]
test eax, eax
je 0x140281d86
cmp r8w, bx
jne 0x140281d86
mov rax, qword [rsp + 0x88]
mov rcx, rdi
mov byte [rsp + 0x49], r15b
mov qword [rsp + 0x88], rcx
xor r15b, r15b
mov rdi, rax
mov qword [rsp + 0x98], rax
jmp 0x140281d8e
mov rcx, qword [rsp + 0x88]
test rdi, rdi
je 0x140281da7
test byte [rdi + 0x1a], 0x28
jne 0x140281da7
mov dword [rsp + 0xa0], ebp
mov eax, 1
jmp 0x140281db3
mov eax, 1
mov dword [rsp + 0xa0], eax
test rcx, rcx
je 0x140281dc2
test byte [rcx + 0x1a], 0x28
mov dword [rsp + 0x5c], ebp
je 0x140281dc6
mov dword [rsp + 0x5c], eax
test rdi, rdi
jne 0x140281f98
test bx, bx
jne 0x140281f98
mov dword [rsp + 0x7c], ebp
mov edi, r12d
test r15b, r15b
je 0x140281e0d
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
add r9d, r12d
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x7c], 1
inc edi
mov r9, qword [rsp + 0xb8]
movzx eax, r15b
mov r15d, dword [rsp + 0x78]
mov r8d, edi
mov rcx, rsi
mov edx, r15d
sub r8d, eax
call fcn.1402806b0
movsxd rdx, dword [rsp + 0x80]
movsxd rax, dword [rsp + 0xa0]
movsxd rcx, dword [rsp + 0x7c]
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x58]
lea rcx, [rax + rcx*2]
lea rbx, [0x140000000]
mov dword [rsp + 0x28], edi
lea rax, [rdx + rcx*2]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], r15d
movzx edx, byte [rax + rbx + 0x32d178]
call fcn.1402357a0
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x140282032
mov rax, qword [rdi]
add r15d, r12d
mov r8d, 1
mov rbx, qword [rax + 0x18]
mov edx, r15d
mov rcx, rsi
call fcn.14024a940
mov r8d, r15d
mov rdx, rbx
mov rcx, rsi
call fcn.14024c320
mov rcx, rbx
call fcn.140249490
test eax, eax
je 0x140281ed9
mov r9d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x50]
mov r8d, r15d
mov edx, 0x4c
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.1402478a0
cmp al, 0x62
je 0x140281f87
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.1402494c0
test eax, eax
jne 0x140281f87
mov rcx, qword [rsi + 0x10]
lea rdi, [rsp + 0x48]
lea ebx, [rax + 1]
mov qword [rsp + 0xa0], rcx
cmp byte [rdi], 0x62
jne 0x140281f28
dec ebx
inc r15d
inc rdi
test ebx, ebx
jg 0x140281f17
movsxd rax, ebx
cmp rax, 1
jle 0x140281f43
cmp byte [rdi + rax - 1], 0x62
jne 0x140281f43
dec rax
dec ebx
cmp rax, 1
jg 0x140281f31
test ebx, ebx
jle 0x140281f7f
mov r9d, ebx
mov r8d, r15d
mov edx, 0x2f
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov rcx, qword [rsp + 0xa0]
mov r9d, ebx
mov r8, rdi
or edx, 0xffffffff
call fcn.140235de0
mov r8d, ebx
mov edx, r15d
mov rcx, rsi
call fcn.14024a940
mov rdi, qword [rsp + 0x88]
mov r15d, dword [rsp + 0x78]
lea rbx, [0x140000000]
jmp 0x140282056
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0x98]
mov edi, r12d
test rax, rax
je 0x140281ddf
mov rax, qword [rax]
lea r8d, [r12 + r9]
mov rcx, rsi
mov r13, qword [rax + 0x18]
mov rdx, r13
call fcn.14024c320
mov rcx, r13
call fcn.140249490
test eax, eax
je 0x140281ff2
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x50]
add r8d, r12d
mov edx, 0x4c
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140282028
movzx ebx, bx
add rbx, rcx
mov rcx, r13
movzx edx, byte [rbx]
call fcn.1402478a0
cmp al, 0x62
jne 0x140282016
mov byte [rbx], al
movzx edx, byte [rbx]
mov rcx, r13
call fcn.1402494c0
test eax, eax
je 0x140282028
mov byte [rbx], 0x62
mov r13, qword [rsp + 0x70]
jmp 0x140281e0b
cmp byte [rsp + 0x49], bpl
je 0x140282059
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
lea r9d, [r12 + r15]
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov dword [rsp + 0x5c], ebp
inc r12d
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
call fcn.140215b70
mov r10, qword [rsp + 0x50]
mov eax, dword [r10 + 0x3c]
mov dword [r14 + 0x2c], eax
test r12d, r12d
je 0x1402820bf
movsxd rax, dword [rsp + 0x5c]
movsxd rcx, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x44]
lea rcx, [rax + rcx*2]
mov dword [rsp + 0x28], r12d
mov r12d, dword [rsp + 0x58]
movzx edx, byte [rcx + rbx + 0x327b74]
mov r8d, r12d
mov rcx, r10
mov dword [rsp + 0x20], r15d
call fcn.1402357a0
mov r10, qword [rsp + 0x50]
jmp 0x1402820c4
mov r12d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x98]
mov rcx, r14
call fcn.140280650
mov rdx, rdi
mov rcx, r14
call fcn.140280650
cmp dword [rsp + 0x60], ebp
jne 0x140282249
mov rbx, qword [rsp + 0xc0]
mov rbx, qword [rbx + 0x18]
test byte [rbx + 0x48], 0x20
jne 0x140282148
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
mov r8d, r12d
mov edx, 0x6d
mov rcx, r10
mov r9d, ebx
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.14024a7d0
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov edx, 0x3f
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
jmp 0x140282249
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140282163
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140282163
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140282151
movzx ecx, word [rbx + 0x5e]
mov edx, dword [rsi + 0x48]
mov r15d, dword [rsi + 0x4c]
cmp ecx, edx
jg 0x140282180
lea eax, [rcx + r15]
sub edx, ecx
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], edx
jmp 0x14028218c
mov eax, dword [rsi + 0x58]
lea r15d, [rax + 1]
add eax, ecx
mov dword [rsi + 0x58], eax
mov edi, ebp
cmp bp, word [rbx + 0x5e]
jae 0x140282220
mov r13, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x50]
or r14d, 0xffffffff
nop dword [rax]
movzx r8d, word [r13 + 0x60]
mov edx, ebp
test r8d, r8d
jle 0x1402821e1
mov rax, qword [rbx + 8]
mov r9, qword [r13 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x1402821e5
inc edx
cmp edx, r8d
jl 0x1402821d0
movzx edx, r14w
lea eax, [r15 + rdi]
movsx r9d, dx
mov r8d, r12d
mov edx, 0x2e
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1402355c0
movzx eax, word [rbx + 0x5e]
inc edi
cmp edi, eax
jl 0x1402821b0
mov rsi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x70]
movzx eax, word [rbx + 0x5e]
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov edx, 0x41
mov dword [rsp + 0x20], r15d
call fcn.1402357a0
test dword [r13 + 0x28], 0x1000
je 0x14028225a
mov byte [r14 + 0x25], 0x9b
jmp 0x14028226a
cmp dword [rsp + 0x80], ebp
sete al
add al, 8
mov byte [r14 + 0x25], al
mov r15, qword [rsp + 0x68]
mov dword [r14 + 0x28], r12d
movzx eax, byte [r13 + 0x2a]
and al, 1
mov byte [r14 + 0x26], al
test byte [r13 + 0x28], 0xf
mov r13d, dword [rsp + 0x40]
jne 0x140281666
mov byte [r14 + 0x27], 1
jmp 0x140281666
bt edx, 0xd
jae 0x140282856
mov edi, dword [rsi + 0x54]
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
mov rcx, qword [rsp + 0x50]
lea eax, [rdi + 1]
mov r12, rbp
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x58], ebx
mov dword [rsi + 0x54], eax
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x60], ebp
call fcn.140235840
mov rcx, qword [r15 + 0x30]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x7c], eax
mov rax, qword [rcx]
mov dword [rsp + 0x5c], ebp
mov rcx, qword [rax + 0x10]
mov byte [r14 + 0x25], 0x12
mov dword [r14 + 0x28], ebx
mov qword [rsp + 0xc0], rcx
movzx ecx, byte [r15 + 0x38]
mov r13, rbp
mov qword [rsp + 0x88], rax
cmp cl, 1
jbe 0x14028273c
movzx ebx, cl
mov rcx, qword [rsp + 0xb0]
sub ebx, dword [rsp + 0x78]
dec ebx
imul edx, ebx, 0x78
sub edx, 0xffffff80
call fcn.140215e40
mov rdx, rax
mov qword [rsp + 0x98], rax
test rax, rax
jne 0x140282351
mov rax, qword [rsp + 0xd0]
jmp 0x140282b4f
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rsp + 0xb8]
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
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x68], xmm0
movsd xmm1, qword [rax + 0x70]
movsd qword [rdx + 0x78], xmm1
mov r10, qword [r15 + 8]
cmp ebx, 1
jl 0x140282427
sub rdx, 0xffffffffffffff80
lea r8, [r14 + 0x74]
mov r9d, ebx
nop dword [rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x78]
lea r8, [r8 + 0x50]
imul rcx, rax, 0x78
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x78], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x68], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x58], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x48], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x38], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x28], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x18], xmm0
movsd xmm1, qword [rcx + r10 + 0x78]
movsd qword [rdx - 8], xmm1
dec r9
jne 0x1402823c0
mov ebx, dword [rsp + 0x58]
test byte [r15 + 0x32], 8
jne 0x140282460
mov eax, dword [rsi + 0x58]
xor r8d, r8d
mov dword [rsp + 0x20], ebp
inc eax
lea edx, [r8 + 0x1c]
lea ecx, [rax + 1]
mov r9d, eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x60], ecx
mov dword [rsi + 0x58], ecx
mov rcx, qword [rsp + 0x50]
call fcn.1402355c0
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, ebx
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov ecx, dword [r15 + 0x16c]
or r15d, 0xffffffff
mov dword [rsp + 0x80], eax
cmp ecx, 1
jle 0x1402825be
mov ebx, ebp
test ecx, ecx
jle 0x1402825be
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, rbp
mov r8d, 0xfff
nop
mov rdx, qword [r12 + 0x20]
movsxd rax, ebx
mov r10, qword [rdi + rdx]
imul rcx, rax, 0x38
add rcx, rdx
cmp rcx, r14
je 0x140282516
test byte [r10 + 4], 1
jne 0x140282516
test byte [rdi + rdx + 0x1c], 0x12
jne 0x140282516
test word [rdi + rdx + 0x1a], r8w
je 0x140282516
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, rsi
call fcn.1402487d0
mov rdx, r13
mov rcx, rsi
mov r8, rax
call fcn.140248230
mov r8d, 0xfff
mov r13, rax
inc ebx
add rdi, 0x38
cmp ebx, dword [r12 + 0x14]
jl 0x1402824c0
mov rsi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
mov r12, rbp
test r13, r13
je 0x1402825ba
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.140215e40
mov rbx, rax
test rax, rax
je 0x140282585
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
mov eax, 1
mov byte [rbx], 0x48
mov word [rbx + 0x32], r15w
mov dword [rbx + 0x28], eax
mov rcx, qword [rsi]
mov r9, r13
xor r8d, r8d
mov rdx, rbx
call fcn.140247fa0
test rbx, rbx
je 0x1402825b7
mov rax, qword [rsi]
mov r8d, dword [rax + 0x74]
cmp dword [rbx + 0x28], r8d
jle 0x1402825b7
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.140218760
mov r13, rbx
mov edi, dword [rsp + 0x44]
mov rax, qword [rsp + 0xc0]
mov r15d, ebp
cmp dword [rax + 0x14], ebp
jle 0x140282785
mov ecx, dword [rsp + 0x40]
mov r12, rbp
mov edx, 0xf0
nop
mov rax, qword [rax + 0x20]
cmp dword [r12 + rax + 0xc], ecx
je 0x1402825fd
mov r8d, 0x200
test word [r12 + rax + 0x1a], r8w
je 0x140282763
mov r8, qword [r12 + rax]
test r13, r13
je 0x140282614
test byte [r8 + 4], 1
jne 0x140282614
mov qword [r13 + 0x10], r8
mov r8, r13
mov rbx, qword [rsp + 0x98]
mov dword [rsp + 0x30], edi
mov word [rsp + 0x28], dx
xor r9d, r9d
mov rcx, rsi
mov rdx, rbx
mov qword [rsp + 0x20], rbp
call fcn.1402858d0
mov rdi, rax
test rax, rax
je 0x14028275a
movzx ecx, byte [r14 + 0x24]
mov r9d, dword [rsp + 0x78]
lea r8, [rax + 0x340]
mov word [rsp + 0x28], bp
mov dword [rsp + 0x20], ecx
mov rdx, rbx
mov rcx, rsi
call fcn.140281150
mov rax, qword [rsp + 0x68]
test byte [rax + 0x32], 8
jne 0x1402826df
mov rcx, qword [rsp + 0xc0]
mov r9d, dword [rsp + 0x40]
mov ebx, r15d
mov eax, dword [rcx + 0x14]
mov ecx, dword [rsp + 0x60]
mov byte [rsp + 0x28], bpl
dec eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
cmp r15d, eax
mov eax, 0xffffffff
cmove ebx, eax
mov r8d, eax
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x20]
call fcn.14024ab80
mov rcx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0xa0]
mov r9d, dword [rcx + 0x3c]
mov edx, 0x7e
mov dword [rsp + 0x28], ebx
add r9d, 2
mov dword [rsp + 0x20], eax
call fcn.1402357a0
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov edx, 0x11
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov eax, dword [rsp + 0x5c]
cmp byte [rdi + 0x36], bpl
mov ecx, 1
cmovne eax, ecx
mov ecx, 0x200
mov dword [rsp + 0x5c], eax
mov rax, qword [rdi + 0x380]
test dword [rax + 0x28], ecx
je 0x14028274d
test r15d, r15d
je 0x140282731
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x20], rcx
jne 0x14028274d
mov rbx, qword [rax + 0x20]
mov qword [rsp + 0x70], rbx
jmp 0x140282752
mov rax, qword [r15 + 8]
mov qword [rsp + 0x98], rax
jmp 0x14028242b
mov qword [rsp + 0x70], rbp
mov rcx, rdi
call fcn.140286260
mov ecx, dword [rsp + 0x40]
mov edx, 0xf0
mov rax, qword [rsp + 0xc0]
mov edi, dword [rsp + 0x44]
inc r15d
add r12, 0x38
cmp r15d, dword [rax + 0x14]
jl 0x1402825e0
mov r12, qword [rsp + 0x70]
mov qword [r14 + 0x30], r12
test r12, r12
je 0x140282796
mov eax, dword [rsp + 0x44]
mov dword [r14 + 8], eax
mov rbx, qword [rsp + 0xb0]
test r13, r13
je 0x1402827b2
mov rdx, r13
mov rcx, rbx
mov qword [r13 + 0x10], rbp
call fcn.140248640
mov r12, qword [rsp + 0x50]
mov eax, dword [rsp + 0x80]
mov edx, dword [r12 + 0x3c]
cmp edx, eax
jbe 0x1402827d4
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 4], edx
mov r9d, dword [r14 + 0xc]
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0x10]
mov dword [rsp + 0x20], ebp
call fcn.1402355c0
mov r8, qword [r12 + 0x30]
or eax, 0xffffffff
sub eax, dword [rsp + 0x7c]
js 0x140282810
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140282810
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r12 + 0x3c]
mov r15, qword [rsp + 0x68]
dec eax
mov dword [r8 + 0x68], eax
cmp byte [r15 + 0x38], 1
jbe 0x140282837
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
call fcn.140215b70
cmp dword [rsp + 0x5c], ebp
jne 0x140281661
mov rdx, qword [rsp + 0x88]
mov rcx, r14
call fcn.140280650
jmp 0x140281661
mov r13d, dword [rsp + 0x40]
test cl, 8
je 0x14028286f
mov r15, qword [rsp + 0x68]
mov byte [r14 + 0x25], 0x9b
jmp 0x140281666
lea rdx, [0x140000000]
movsxd rcx, ebx
mov r9d, edi
movzx eax, byte [rcx + rdx + 0x3277b4]
movzx edx, byte [rcx + rdx + 0x327bc4]
mov r8d, r13d
mov rcx, r12
mov dword [r14 + 0x28], r13d
mov dword [rsp + 0x20], ebp
mov byte [r14 + 0x25], al
call fcn.1402355c0
mov r15, qword [rsp + 0x68]
inc eax
mov byte [r14 + 0x27], 1
mov dword [r14 + 0x2c], eax
jmp 0x140281666
mov r15, qword [rsp + 0x68]
mov r13d, eax
jmp 0x140281666
cmp dword [r14], 0
mov rdx, qword [rbx]
je 0x1402828d4
test byte [rdx + 4], 1
je 0x1402828e9
mov r9d, 8
mov r8d, r13d
mov rcx, rsi
call fcn.14024cbb0
or byte [rbx + 0x1c], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x140281684
mov r13d, dword [rsp + 0x40]
mov rax, qword [rsp + 0xa8]
mov r12d, dword [rax + 0x14]
mov r15, qword [rax + 0x20]
test r12d, r12d
jle 0x140282a5b
mov ecx, 0x402
nop word [rax + rax]
test byte [r15 + 0x1c], 6
jne 0x140282a46
cmp word [r15 + 0x1a], cx
jne 0x140282a46
cmp dword [r15 + 0xc], r13d
jne 0x140282a46
cmp dword [r14], 0
jne 0x140282a46
mov r9d, dword [r15 + 0x10]
mov r8d, dword [rsp + 0x40]
mov r13, qword [r15]
lea rcx, [rsp + 0xf0]
mov rdx, rax
mov qword [rsp + 0x28], rbp
mov rdi, rbp
mov dword [rsp + 0x20], 3
call fcn.14027de90
mov rbx, rax
test rax, rax
je 0x1402829b5
nop
mov rax, qword [rbx + 0x28]
test qword [rsp + 0xd0], rax
jne 0x1402829a0
test rax, rax
jne 0x140282999
test byte [rbx + 0x1a], 2
jne 0x1402829b8
test rdi, rdi
cmove rdi, rbx
lea rcx, [rsp + 0xf0]
call fcn.14027dbb0
mov rbx, rax
test rax, rax
jne 0x140282980
mov rbx, rdi
test rbx, rbx
je 0x140282a39
test byte [rbx + 0x1c], 4
jne 0x140282a39
mov rcx, qword [rsp + 0xb0]
mov edx, 0x48
call fcn.140215e40
mov rdi, rax
test rax, rax
je 0x140282a39
mov rcx, qword [rbx]
mov r8d, dword [rsp + 0x90]
mov r9d, 8
mov rdx, rdi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [rcx + 0x40]
mov rcx, rsi
movsd qword [rax + 0x40], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rdi + 0x10], rax
call fcn.14024cbb0
mov rcx, qword [rsp + 0xb0]
mov rdx, rdi
call fcn.140215b70
mov rax, qword [rsp + 0xa8]
mov ecx, 0x402
mov r13d, dword [rsp + 0x40]
dec r12d
add r15, 0x38
test r12d, r12d
jg 0x140282920
mov ebx, dword [r14]
test ebx, ebx
je 0x140282b4b
mov r15, qword [rsp + 0x50]
mov eax, dword [r15 + 0x3c]
mov dword [r14 + 0x1c], eax
mov rax, qword [r15 + 0x30]
movsxd rdi, dword [r15 + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140282a8c
mov rcx, r15
call fcn.140235510
test eax, eax
jne 0x140282ab8
mov rax, qword [r15 + 8]
inc dword [r15 + 0x3c]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
lea rcx, [rsi + 0x94]
mov eax, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x140282af0
cmp byte [rcx - 6], 0
je 0x140282ae6
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140282ae2
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov rax, qword [rsp + 0xd8]
mov dword [rcx], ebp
add rcx, 0x14
dec rax
mov qword [rsp + 0xd8], rax
jne 0x140282ac4
mov rdi, qword [rsp + 0xa8]
cmp dword [rdi + 0x14], 0
mov rbx, qword [rdi + 0x20]
jle 0x140282b4b
test byte [rbx + 0x1c], 6
jne 0x140282b40
mov rax, qword [rbx + 0x30]
test qword [r14 + 0x48], rax
jne 0x140282b40
mov r8d, dword [rsp + 0x90]
mov rdx, qword [rbx]
mov r9d, 8
mov rcx, rsi
call fcn.14024cbb0
or byte [rbx + 0x1c], 4
inc ebp
add rbx, 0x38
cmp ebp, dword [rdi + 0x14]
jl 0x140282b13
mov rax, qword [r14 + 0x48]
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1402b6d40
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret