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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rdi, qword [rcx + 0x10]
xor r13d, r13d
xor bpl, bpl
mov qword [rsp + 0x68], r13
mov r9, r8
mov byte [rsp + 0x120], bpl
mov rsi, rdx
mov dword [rsp + 0x78], r13d
movsxd r15, dword [rdi + 0x90]
mov rbx, rcx
mov r12d, r13d
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x7c], r15d
cmp dword [rdi + 0x94], r15d
jg 0x140231632
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0xf
mov rcx, rdi
call fcn.14027f0c0
mov r9, qword [rsp + 0x130]
mov dword [rsp + 0x7c], eax
jmp 0x140231659
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], r13
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rsp + 0x140]
mov r8d, r13d
mov r14, qword [rsi + 0x20]
mov r10, r13
movsxd rax, dword [rsi + 0x14]
mov r11, qword [r9 + 0x20]
mov rdx, qword [rcx + 0x60]
movabs rcx, 0x8000000000000000
imul rax, rax, 0x38
mov dword [rsp + 0x40], r13d
add rax, r14
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r13
cmp r14, rax
jae 0x140231b2c
lea r15, [r9 + 0x44]
mov r13, r15
nop dword [rax]
nop dword [rax + rax]
test byte [r14 + 0x12], 2
lea r8, [0x1402e8e30]
mov rsi, qword [r14]
lea rdx, [fcn.1402396b0]
jne 0x1402319b2
movzx ecx, byte [r9 + 0x3c]
test cl, 0x40
jne 0x1402319b2
mov eax, dword [rsi + 4]
and eax, 1
test cl, 8
je 0x14023170e
test eax, eax
je 0x1402319ad
mov eax, dword [r13]
cmp dword [rsi + 0x34], eax
je 0x14023171a
mov r15, r13
jmp 0x1402319ad
test eax, eax
jne 0x1402319ad
mov eax, dword [r13]
mov qword [rsp + 0xa0], rdx
mov ecx, 3
mov word [rsp + 0xbc], cx
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xc0], eax
test rsi, rsi
je 0x14023175b
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.140318700
movzx ecx, word [rsp + 0xbc]
mov r15, r13
test cx, cx
je 0x1402319ad
test rsi, rsi
je 0x140231782
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.140238750
mov rbp, rax
jmp 0x140231784
xor ebp, ebp
mov rsi, qword [rbx]
test r12, r12
jne 0x140231799
mov r12, rbp
mov qword [rsp + 0x68], rbp
jmp 0x1402319a5
test rbp, rbp
jne 0x1402317a8
mov qword [rsp + 0x68], r12
jmp 0x1402319a5
mov eax, dword [r12 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x1402317cc
mov eax, dword [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x1402318f4
cmp byte [rbx + 0x134], 2
jae 0x1402318f4
test rsi, rsi
je 0x1402317ed
mov edx, 0x18
mov rcx, rsi
call fcn.1402afcd0
jmp 0x1402317f7
mov ecx, 0x18
call fcn.1402d7360
mov rcx, rax
test rax, rax
je 0x140231821
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
lea rax, [0x1402b78b0]
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
jmp 0x14023182c
mov rcx, qword [rbx]
mov rdx, r12
call fcn.1402b78c0
mov rdx, rbp
mov rcx, rbx
call fcn.1402b7830
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], 0
lea rcx, [0x1404191b4]
call fcn.1402d1cb0
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, rsi
call fcn.1402afcd0
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x1402319a5
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov qword [r12 + 0x40], rax
mov byte [r12], 0x9b
mov word [r12 + 0x32], 0xffff
test ebp, ebp
je 0x1402318d7
mov eax, dword [rsp + 0x70]
mov ecx, 0x20800800
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800800
mov dword [r12 + 0x28], 1
cmovne ecx, edx
or dword [r12 + 4], ecx
jmp 0x1402319a5
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x1402319a5
mov edx, 0x48
mov rcx, rsi
call fcn.1402afcd0
mov rsi, rax
test rax, rax
je 0x140231987
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov byte [rsi], 0x2c
mov word [rsi + 0x32], 0xffff
mov qword [rsi + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x400208
or ecx, dword [rsi + 4]
mov dword [rsi + 4], ecx
mov edx, dword [rbp + 0x28]
inc edx
mov dword [rsi + 0x28], edx
mov qword [rsi + 0x10], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or eax, ecx
mov dword [rsi + 4], eax
mov eax, dword [r12 + 0x28]
cmp eax, edx
jl 0x140231967
lea edx, [rax + 1]
mov dword [rsi + 0x28], edx
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x14023199d
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.1402b2840
jmp 0x14023199d
mov rcx, qword [rbx]
mov rdx, r12
call fcn.1402b78c0
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.1402b78c0
mov r12, rsi
mov qword [rsp + 0x68], rsi
movzx ebp, byte [rsp + 0x120]
mov rax, qword [rsp + 0x48]
mov edx, dword [r15]
mov r9, qword [rsp + 0x130]
cmp dword [r14 + 0x1c], edx
jne 0x140231beb
test byte [r14 + 0x14], 0x82
je 0x140231beb
movzx ecx, byte [r9 + 0x3c]
test cl, 0x58
je 0x140231a05
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140231bd7
cmp dword [rax + 0x34], edx
jne 0x140231bd7
test cl, 0x18
je 0x140231a05
test r8b, 2
jne 0x140231bd7
mov rax, qword [rsp + 0x138]
test qword [r14 + 0x28], rax
jne 0x140231bd7
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x140231bd7
lea rdx, [rax + rax*2]
mov rax, qword [r9 + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.1402d3210
test eax, eax
je 0x140231ae6
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x140231a59
movabs rsi, 0x8000000000000000
jmp 0x140231a61
mov esi, 1
shl rsi, cl
test bpl, bpl
jne 0x140231a96
mov rax, qword [rsp + 0x80]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.140200de0
mov byte [rsp + 0x120], 1
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
test r10, rsi
jne 0x140231af0
mov ebp, dword [rsp + 0x40]
mov rcx, qword [rbx]
inc ebp
mov r8d, ebp
call fcn.14031ca30
test eax, eax
jne 0x1402325f1
movsxd rcx, dword [rsp + 0x40]
mov r8d, ebp
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
or r10, rsi
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0x58], r10
mov rax, qword [rdx + 0x48]
mov qword [rax + rcx*8], r14
jmp 0x140231af5
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x130]
mov rax, qword [rsp + 0x48]
movzx ebp, byte [rsp + 0x120]
add r14, 0x38
cmp r14, rax
jb 0x1402316c0
mov r11, qword [rsp + 0x80]
xor r13d, r13d
movabs rcx, 0x8000000000000000
mov word [rdx + 0x3c], r8w
not r10
mov word [rdx + 0x18], r8w
or r10, rcx
mov dword [rdx + 0x38], 0x4241
mov ebp, 0x3f
and r10, qword [r9 + 0x50]
mov edx, r13d
movsx eax, word [r11 + 0x36]
mov qword [rsp + 0x58], r10
cmp bp, ax
jl 0x140231b70
mov ebp, eax
test eax, eax
jle 0x140231b8b
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea ecx, [r8 + 1]
bt r10, rax
cmovae ecx, r8d
inc edx
mov r8d, ecx
cmp edx, ebp
jl 0x140231b70
mov dword [rsp + 0x40], ecx
cmp qword [r9 + 0x50], 0
jge 0x140231ba3
movsx eax, word [r11 + 0x36]
add r8d, 0xffffffc1
add r8d, eax
mov dword [rsp + 0x40], r8d
mov rcx, qword [rbx]
lea esi, [r8 + 1]
movsx r15d, si
lea eax, [r15*4 + 9]
add eax, r15d
and eax, 0xfffffff8
lea eax, [rax + r15*8]
add eax, 0x98
movsxd r13, eax
test rcx, rcx
je 0x140231bff
mov rdx, r13
call fcn.1402afcd0
jmp 0x140231c07
mov r8d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
jmp 0x140231afd
mov r8d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
jmp 0x140231b02
mov rcx, r13
call fcn.1402d7360
mov r14, rax
test rax, rax
je 0x1402325f1
mov r8, r13
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9d, dword [rsp + 0x40]
lea rax, [r14 + 0x98]
mov r11, qword [rsp + 0x80]
xor r10d, r10d
mov qword [r14 + 0x40], rax
mov r13d, r10d
mov word [r14 + 0x60], si
mov word [r14 + 0x5e], r9w
movsx r8, si
lea rdx, [rax + r8*8]
mov qword [r14 + 0x10], rdx
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x128]
movsxd rcx, eax
lea rax, [rdx + rcx*2]
mov qword [r14 + 8], rax
lea rax, [rax + r8*2]
mov qword [r14 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov rax, qword [rsp + 0x48]
mov qword [r14 + 0x18], r11
mov rsi, qword [r15 + 0x20]
cmp rsi, rax
jae 0x140231e49
mov r12, qword [rsp + 0x130]
mov edi, r10d
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x120], r10
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r12 + 0x44]
cmp dword [rsi + 0x1c], edx
jne 0x140231e17
test byte [rsi + 0x14], 0x82
je 0x140231e17
movzx ecx, byte [r12 + 0x3c]
test cl, 0x58
je 0x140231d11
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140231e12
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x140231e17
test cl, 0x18
je 0x140231d11
test r8b, 2
jne 0x140231e17
mov rcx, qword [rsp + 0x138]
mov r15d, ebp
test qword [rsi + 0x28], rcx
jne 0x140231e17
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x140231e12
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1402d3210
test eax, eax
je 0x140231e12
mov edx, dword [rsi + 0x20]
cmp edx, 0x40
jl 0x140231d68
movabs rax, 0x8000000000000000
jmp 0x140231d72
mov ecx, edx
mov eax, 1
shl rax, cl
test rdi, rax
jne 0x140231e12
mov rcx, qword [rsi]
or rdi, rax
mov rax, qword [r14 + 8]
mov r8, qword [rsp + 0x120]
mov word [r8 + rax], dx
test dword [rcx + 4], 0x400
je 0x140231da5
mov rbp, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x140231dad
mov rbp, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x140231dd4
test rbp, rbp
je 0x140231dc4
test dword [rbp + 4], 0x200
jne 0x140231dd1
mov rcx, rbx
call fcn.1402b70e0
test rax, rax
jne 0x140231de1
mov rdx, rbp
mov rcx, rbx
call fcn.1402b70e0
test rax, rax
je 0x140231de6
mov rcx, qword [rax]
jmp 0x140231ded
lea rcx, [0x14041320c]
mov r8, qword [rsp + 0x70]
inc r13d
mov rax, qword [r14 + 0x40]
mov ebp, r15d
add qword [rsp + 0x120], 2
mov qword [r8 + rax], rcx
add r8, 8
mov qword [rsp + 0x70], r8
mov rax, qword [rsp + 0x48]
add rsi, 0x38
cmp rsi, rax
jb 0x140231cc0
mov rdi, qword [rsp + 0x90]
xor r10d, r10d
mov r12, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x80]
mov r15, qword [rsp + 0x128]
lea rsi, [0x14041320c]
mov ecx, r10d
test ebp, ebp
jle 0x140231e9d
mov r10, qword [rsp + 0x58]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
nop dword [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x140231e94
mov rax, qword [r14 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], rsi
add rdx, 8
inc ecx
cmp ecx, ebp
jl 0x140231e70
xor r10d, r10d
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x140231efb
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x140231efb
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax + rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r14 + 0x40]
mov qword [rcx + rax - 8], rsi
movsx eax, word [r11 + 0x36]
cmp r8d, eax
jl 0x140231ed0
mov rax, qword [r14 + 8]
lea edx, [r9 + 1]
mov rbp, qword [rsp + 0x140]
movsxd rcx, r13d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], rsi
mov eax, dword [rbx + 0x34]
mov dword [rbp + 8], eax
inc dword [rbx + 0x34]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [rdi + 0x94], ecx
jg 0x140231f4f
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x74
mov rcx, rdi
call fcn.14027f0c0
jmp 0x140231f7d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x74
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rsi, qword [rbx + 0x10]
mov rdx, r14
mov rcx, rbx
call fcn.1402d6030
mov r8, rax
test rax, rax
je 0x140231fd7
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x140231fbb
cmp qword [rax + 0x308], 0
jne 0x140231fd7
add dword [r8], 0xffffffff
jne 0x140231fd7
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.1402afd90
jmp 0x140231fd7
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], r8
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x140232019
mov edx, dword [rbx + 0x38]
inc edx
mov dword [rbx + 0x38], edx
mov dword [rbp + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140232073
xor eax, eax
mov r9d, edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
mov r8d, 0x2710
mov rcx, rdi
call fcn.14027f0c0
xor r9d, r9d
movzx eax, byte [rbp + 0x40]
imul rdx, rax, 0x68
mov rax, qword [r15]
mov r15, qword [rax + 8]
add r15, rdx
test byte [r15 + 0x48], 0x20
je 0x14023217f
movsxd r8, dword [rdi + 0x90]
mov ebp, dword [r15 + 0x3c]
mov dword [rsp + 0x60], r8d
cmp dword [rdi + 0x94], r8d
jg 0x1402320ac
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov edx, 0x47
mov rcx, rdi
call fcn.14027f0c0
mov dword [rsp + 0x60], eax
xor r9d, r9d
jmp 0x1402320d7
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], 0x2710
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14023201c
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r15 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x140232106
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0xb
mov r8d, ebp
mov rcx, rdi
call fcn.14027f0c0
xor r9d, r9d
jmp 0x140232133
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], ebp
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rsi, dword [rdi + 0x90]
cmp dword [rdi + 0x94], esi
jg 0x14023215e
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov edx, 0xc
mov rcx, rdi
call fcn.14027f0c0
mov esi, eax
jmp 0x1402321da
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebp
jmp 0x1402321cc
movsxd rsi, dword [rdi + 0x90]
mov edx, dword [rbp + 4]
cmp dword [rdi + 0x94], esi
jg 0x1402321ad
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov edx, 0x24
mov rcx, rdi
call fcn.14027f0c0
mov esi, eax
jmp 0x1402321da
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r9
mov qword [rax + rcx*8 + 8], 0
mov eax, 0x10
test r12, r12
je 0x14023220a
dec dword [rbx + 0x44]
mov r9d, eax
mov r8d, dword [rbx + 0x44]
mov rdx, r12
mov rcx, rbx
mov dword [rsp + 0x78], r8d
call fcn.1402b7ba0
mov rcx, qword [rsp + 0x50]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14023221a
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x140232229
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe4]
mov rcx, qword [rsp + 0x140]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, ebp
mov qword [rsp + 0x30], rax
mov rdx, r14
mov qword [rsp + 0x28], rax
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x130], ebp
mov dword [rsp + 0x20], eax
call fcn.1402d0f00
mov r10, qword [rsp + 0x140]
mov r14d, eax
mov r8d, dword [r10 + 0x34]
test r8d, r8d
je 0x140232313
mov rax, qword [rsp + 0x50]
movsxd rdx, dword [rdi + 0x90]
movzx r9d, word [rax + 0x18]
mov dword [rsp + 0x128], r9d
cmp dword [rdi + 0x94], edx
jg 0x1402322c0
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov edx, 0xb4
mov rcx, rdi
call fcn.14027f0c0
mov r9d, dword [rsp + 0x128]
mov edx, eax
mov r10, qword [rsp + 0x140]
jmp 0x1402322f2
lea rcx, [rdx + rdx*2]
xor r11d, r11d
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], r11d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x140232313
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], r9d
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r10 + 8]
cmp dword [rdi + 0x94], ecx
jg 0x140232341
xor eax, eax
mov r8d, edx
mov edx, 0x8a
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov rcx, rdi
call fcn.14027f0c0
jmp 0x140232371
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], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14023238e
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r12, r12
je 0x1402323c2
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402323b2
mov r8d, edx
mov rdx, rdi
call fcn.140296f30
jmp 0x1402323c2
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [r15 + 0x48], 0x20
lea rbp, [0x14043f638]
je 0x140232501
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1402323e2
mov rcx, rbp
jmp 0x1402323f6
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r14 + r13]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x140]
mov rdx, qword [rbx + 0x10]
mov r11d, dword [r15 + 0x40]
mov r9d, dword [rax + 8]
mov r10d, dword [rax + 4]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x140232423
mov r8, rbp
jmp 0x140232435
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [rbx]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x14023249a
cmp esi, ecx
jge 0x14023249a
sub ecx, esi
lea rdx, [r8 + 0xc]
mov r8d, ecx
xor r12d, r12d
cmp dword [rdx - 8], r10d
jne 0x14023248b
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x14023247f
mov ecx, dword [rdx - 4]
mov eax, dword [rdx]
add ecx, r11d
mov dword [rdx - 8], ecx
mov byte [rdx - 0xc], 0x50
mov dword [rdx - 4], eax
mov dword [rdx], r12d
mov word [rdx - 0xa], 2
jmp 0x14023248b
cmp al, 0x87
jne 0x14023248b
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r9d
add rdx, 0x18
sub r8, 1
jne 0x140232454
mov r12, qword [rsp + 0x68]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402324cc
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rdi
call fcn.14027f0c0
and dword [r15 + 0x48], 0xffffffdf
jmp 0x140232585
lea eax, [rcx + 1]
xor edx, edx
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], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r15 + 0x48], 0xffffffdf
jmp 0x140232585
mov rcx, qword [rsp + 0x140]
lea edx, [rsi + 1]
mov r8d, dword [rcx + 4]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140232537
xor eax, eax
mov r9d, edx
mov edx, 0x27
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.14027f0c0
jmp 0x140232568
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140232585
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x140232599
mov rax, rbp
jmp 0x1402325ab
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x130]
mov dword [rax + 8], edx
test ecx, ecx
je 0x1402325cb
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1402325cb
mov dword [rbx + rax*4 + 0xe4], ecx
inc byte [rbx + 0x1f]
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1402325ee
movsxd rax, dword [rsp + 0x7c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
test r12, r12
je 0x140232601
mov rcx, qword [rbx]
mov rdx, r12
call fcn.1402b78c0
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret