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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbx
push r12
sub rsp, 0x108
mov qword [rax - 0x18], rbp
mov r9, r8
mov qword [rax - 0x20], rsi
mov rbx, rcx
mov qword [rax - 0x28], rdi
mov rsi, rdx
mov rdi, qword [rcx + 0x10]
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
xor al, al
xor r15d, r15d
mov byte [rsp + 0x120], al
movsxd r11, dword [rdi + 0x90]
mov r12d, r15d
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x78], r15d
mov dword [rsp + 0x60], r15d
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x7c], r11d
cmp dword [rdi + 0x94], r11d
jg 0x140184a7b
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xf
mov rcx, rdi
call fcn.1401d24b0
mov r9, qword [rsp + 0x130]
mov dword [rsp + 0x7c], eax
jmp 0x140184aa2
lea rcx, [r11 + r11*2]
lea eax, [r11 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], r15
mov qword [rax + rcx*8 + 0x10], r15
mov r8, qword [rsp + 0x140]
mov ebp, r15d
mov r14, qword [rsi + 0x20]
movabs rcx, 0x8000000000000000
movsxd rax, dword [rsi + 0x14]
mov r11d, 3
mov r10, qword [r9 + 0x20]
mov rdx, qword [r8 + 0x60]
mov r8, r15
imul rax, rax, 0x38
mov qword [rsp + 0xe8], r13
add rax, r14
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r15
cmp r14, rax
jae 0x140184f76
lea r15, [r9 + 0x44]
mov r13, r15
nop dword [rax + rax]
test byte [r14 + 0x12], 2
lea r8, [0x14023c350]
mov rsi, qword [r14]
lea rdx, [fcn.14018cb00]
jne 0x140184dfd
movzx ecx, byte [r9 + 0x3c]
test cl, 0x40
jne 0x140184dfd
mov eax, dword [rsi + 4]
and eax, 1
test cl, 8
je 0x140184b5e
test eax, eax
je 0x140184df8
mov eax, dword [r13]
cmp dword [rsi + 0x34], eax
je 0x140184b6a
mov r15, r13
jmp 0x140184df8
test eax, eax
jne 0x140184df8
mov eax, dword [r13]
mov qword [rsp + 0xa0], rdx
movzx ecx, r11w
mov word [rsp + 0xbc], cx
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xc0], eax
test rsi, rsi
je 0x140184baa
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.14026bc20
movzx ecx, word [rsp + 0xbc]
mov r15, r13
test cx, cx
je 0x140184df8
test rsi, rsi
je 0x140184bd1
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.14018bba0
mov rbp, rax
jmp 0x140184bd3
xor ebp, ebp
mov rsi, qword [rbx]
test r12, r12
jne 0x140184be8
mov r12, rbp
mov qword [rsp + 0x68], rbp
jmp 0x140184df4
test rbp, rbp
jne 0x140184bf7
mov qword [rsp + 0x68], r12
jmp 0x140184df4
mov eax, dword [r12 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x140184c1b
mov eax, dword [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x140184d43
cmp byte [rbx + 0x134], 2
jae 0x140184d43
test rsi, rsi
je 0x140184c3c
mov edx, 0x18
mov rcx, rsi
call fcn.140203150
jmp 0x140184c46
mov ecx, 0x18
call fcn.14022a800
mov rcx, rax
test rax, rax
je 0x140184c70
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
lea rax, [0x14020ad60]
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
jmp 0x140184c7b
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14020ad70
mov rdx, rbp
mov rcx, rbx
call fcn.14020ace0
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], 0
lea rcx, [0x1402a2204]
call fcn.140225150
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, rsi
call fcn.140203150
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x140184df4
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 0x140184d26
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 0x140184df4
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x140184df4
mov edx, 0x48
mov rcx, rsi
call fcn.140203150
mov rsi, rax
test rax, rax
je 0x140184dd6
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 0x140184db6
lea edx, [rax + 1]
mov dword [rsi + 0x28], edx
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x140184dec
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.140205cd0
jmp 0x140184dec
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14020ad70
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.14020ad70
mov r12, rsi
mov qword [rsp + 0x68], rsi
mov ebp, dword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov edx, dword [r15]
mov r9, qword [rsp + 0x130]
cmp dword [r14 + 0x1c], edx
jne 0x14018500f
test byte [r14 + 0x14], 0x82
je 0x14018500f
movzx ecx, byte [r9 + 0x3c]
test cl, 0x58
je 0x140184e50
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140184f3f
cmp dword [rax + 0x34], edx
jne 0x140184f3f
test cl, 0x18
je 0x140184e50
test r8b, 2
jne 0x140184f3f
mov rax, qword [rsp + 0x138]
test qword [r14 + 0x28], rax
jne 0x140184f3f
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x140184f3f
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.1402266b0
test eax, eax
je 0x140184f37
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x140184ea4
movabs rsi, 0x8000000000000000
jmp 0x140184eac
mov esi, 1
shl rsi, cl
cmp byte [rsp + 0x120], 0
jne 0x140184ee6
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.140153280
mov byte [rsp + 0x120], 1
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
test r8, rsi
jne 0x140184f2d
mov rcx, qword [rbx]
inc ebp
mov r8d, ebp
call fcn.14026ff50
test eax, eax
jne 0x140185a0d
movsxd rcx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
or r8, rsi
mov dword [rsp + 0x48], ebp
mov qword [rsp + 0x58], r8
mov rax, qword [rdx + 0x48]
mov qword [rax + rcx*8], r14
mov r9, qword [rsp + 0x130]
jmp 0x140184f49
mov r9, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
add r14, 0x38
mov r11d, 3
cmp r14, rax
jb 0x140184b10
mov r10, qword [rsp + 0x80]
xor r15d, r15d
movabs rcx, 0x8000000000000000
mov word [rdx + 0x3c], bp
not r8
mov word [rdx + 0x18], bp
or r8, rcx
mov dword [rdx + 0x38], 0x4241
mov esi, 0x3f
and r8, qword [r9 + 0x50]
mov edx, r15d
movsx eax, word [r10 + 0x36]
mov qword [rsp + 0x58], r8
cmp si, ax
jl 0x140184fb0
mov esi, eax
test eax, eax
jle 0x140184fc7
nop dword [rax]
mov ecx, ebp
mov eax, edx
inc ebp
bt r8, rax
cmovae ebp, ecx
inc edx
cmp edx, esi
jl 0x140184fb0
mov dword [rsp + 0x48], ebp
cmp qword [r9 + 0x50], 0
jge 0x140184fdc
movsx eax, word [r10 + 0x36]
add ebp, 0xffffffc1
add ebp, eax
mov dword [rsp + 0x48], ebp
mov rcx, qword [rbx]
inc bp
movsx r14d, bp
lea eax, [r14*4 + 9]
add eax, r14d
and eax, 0xfffffff8
lea eax, [rax + r14*8]
add eax, 0x98
movsxd r13, eax
test rcx, rcx
je 0x14018501e
mov rdx, r13
call fcn.140203150
jmp 0x140185026
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
jmp 0x140184f4e
mov rcx, r13
call fcn.14022a800
mov r15, rax
test rax, rax
je 0x140185a0d
mov r8, r13
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9d, dword [rsp + 0x48]
lea rax, [r15 + 0x98]
mov r11, qword [rsp + 0x80]
xor r10d, r10d
mov qword [r15 + 0x40], rax
mov r13d, r10d
mov word [r15 + 0x60], bp
mov word [r15 + 0x5e], r9w
movsx r8, bp
lea rbp, [0x14029c95c]
lea rdx, [rax + r8*8]
lea eax, [r14 + 1]
mov qword [r15 + 0x10], rdx
mov r14, qword [rsp + 0x128]
movsxd rcx, eax
lea rax, [rdx + rcx*2]
mov qword [r15 + 8], rax
lea rax, [rax + r8*2]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov rax, qword [rsp + 0x40]
mov qword [r15 + 0x18], r11
mov r14, qword [r14 + 0x20]
cmp r14, rax
jae 0x140185269
mov r12, qword [rsp + 0x130]
mov edi, r10d
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x120], r10
nop word [rax + rax]
mov edx, dword [r12 + 0x44]
cmp dword [r14 + 0x1c], edx
jne 0x140185238
test byte [r14 + 0x14], 0x82
je 0x140185238
movzx ecx, byte [r12 + 0x3c]
test cl, 0x58
je 0x140185133
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140185233
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x140185238
test cl, 0x18
je 0x140185133
test r8b, 2
jne 0x140185238
mov rcx, qword [rsp + 0x138]
mov ebp, esi
test qword [r14 + 0x28], rcx
jne 0x140185238
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x140185233
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 [r14]
call fcn.1402266b0
test eax, eax
je 0x140185233
mov edx, dword [r14 + 0x20]
cmp edx, 0x40
jl 0x14018518a
movabs rax, 0x8000000000000000
jmp 0x140185194
mov ecx, edx
mov eax, 1
shl rax, cl
test rdi, rax
jne 0x140185233
mov rcx, qword [r14]
or rdi, rax
mov rax, qword [r15 + 8]
mov r8, qword [rsp + 0x120]
mov word [r8 + rax], dx
test dword [rcx + 4], 0x400
je 0x1401851c7
mov rsi, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x1401851cf
mov rsi, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x1401851f6
test rsi, rsi
je 0x1401851e6
test dword [rsi + 4], 0x200
jne 0x1401851f3
mov rcx, rbx
call fcn.14020a590
test rax, rax
jne 0x140185203
mov rdx, rsi
mov rcx, rbx
call fcn.14020a590
test rax, rax
je 0x140185208
mov rcx, qword [rax]
jmp 0x14018520f
lea rcx, [0x14029c95c]
mov r8, qword [rsp + 0x70]
inc r13d
mov rax, qword [r15 + 0x40]
mov esi, ebp
add qword [rsp + 0x120], 2
mov qword [r8 + rax], rcx
add r8, 8
mov qword [rsp + 0x70], r8
mov rax, qword [rsp + 0x40]
add r14, 0x38
cmp r14, rax
jb 0x1401850e0
mov rdi, qword [rsp + 0x90]
lea rbp, [0x14029c95c]
mov r12, qword [rsp + 0x68]
xor r10d, r10d
mov r9d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x80]
mov ecx, r10d
test esi, esi
jle 0x1401852b1
mov r10, qword [rsp + 0x58]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x1401852a8
mov rax, qword [r15 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], rbp
add rdx, 8
inc ecx
cmp ecx, esi
jl 0x140185284
xor r10d, r10d
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x14018530b
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x14018530b
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rbp
movsx eax, word [r11 + 0x36]
cmp r8d, eax
jl 0x1401852e0
mov rax, qword [r15 + 8]
lea edx, [r9 + 1]
movsxd rcx, r13d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], rbp
mov rbp, qword [rsp + 0x140]
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 0x14018535f
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x74
mov rcx, rdi
call fcn.1401d24b0
jmp 0x14018538d
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, r15
mov rcx, rbx
call fcn.1402294d0
mov r8, rax
test rax, rax
je 0x1401853e7
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x1401853cb
cmp qword [rax + 0x308], 0
jne 0x1401853e7
add dword [r8], 0xffffffff
jne 0x1401853e7
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.140203210
jmp 0x1401853e7
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 0x140185429
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 0x140185488
xor eax, eax
mov r9d, edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
mov r8d, 0x2710
mov rcx, rdi
call fcn.1401d24b0
xor r9d, r9d
movzx eax, byte [rbp + 0x40]
imul r14, rax, 0x68
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
add r14, qword [rax + 8]
test byte [r14 + 0x48], 0x20
je 0x140185594
movsxd r8, dword [rdi + 0x90]
mov ebp, dword [r14 + 0x3c]
mov dword [rsp + 0x60], r8d
cmp dword [rdi + 0x94], r8d
jg 0x1401854c1
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov edx, 0x47
mov rcx, rdi
call fcn.1401d24b0
mov dword [rsp + 0x60], eax
xor r9d, r9d
jmp 0x1401854ec
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 0x14018542c
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 [r14 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x14018551b
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0xb
mov r8d, ebp
mov rcx, rdi
call fcn.1401d24b0
xor r9d, r9d
jmp 0x140185548
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 0x140185573
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov edx, 0xc
mov rcx, rdi
call fcn.1401d24b0
mov esi, eax
jmp 0x1401855ef
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 0x1401855e1
movsxd rsi, dword [rdi + 0x90]
mov edx, dword [rbp + 4]
cmp dword [rdi + 0x94], esi
jg 0x1401855c2
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov edx, 0x24
mov rcx, rdi
call fcn.1401d24b0
mov esi, eax
jmp 0x1401855ef
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 0x14018561f
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.14020b050
mov rcx, qword [rsp + 0x50]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14018562f
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x14018563e
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe4]
mov r8, qword [rsp + 0x140]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, ebp
mov qword [rsp + 0x30], rax
mov rdx, r15
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov r8d, dword [r8 + 4]
mov dword [rsp + 0x130], ebp
mov dword [rsp + 0x20], eax
call fcn.1402243a0
mov r10, qword [rsp + 0x140]
mov r15d, eax
mov r8d, dword [r10 + 0x34]
test r8d, r8d
je 0x140185728
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 0x1401856d5
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov edx, 0xb4
mov rcx, rdi
call fcn.1401d24b0
mov r9d, dword [rsp + 0x128]
mov edx, eax
mov r10, qword [rsp + 0x140]
jmp 0x140185707
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], r15d
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x140185728
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 0x140185756
xor eax, eax
mov r8d, edx
mov edx, 0x8a
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov rcx, rdi
call fcn.1401d24b0
jmp 0x140185786
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 0x1401857a3
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r12, r12
je 0x1401857d7
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401857c7
mov r8d, edx
mov rdx, rdi
call fcn.1401ea350
jmp 0x1401857d7
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [r14 + 0x48], 0x20
lea rbp, [0x14034c308]
je 0x14018591d
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1401857f7
mov rcx, rbp
jmp 0x14018580b
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r15 + r13]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x140]
mov rdx, qword [rbx + 0x10]
mov r11d, dword [r14 + 0x40]
mov r9d, dword [rax + 8]
mov r10d, dword [rax + 4]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x140185838
mov r8, rbp
jmp 0x14018584a
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 0x1401858b6
cmp esi, ecx
jge 0x1401858b6
sub ecx, esi
lea rdx, [r8 + 0xc]
mov r8d, ecx
xor r12d, r12d
nop dword [rax]
cmp dword [rdx - 8], r10d
jne 0x1401858a7
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x14018589b
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 0x1401858a7
cmp al, 0x87
jne 0x1401858a7
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r9d
add rdx, 0x18
sub r8, 1
jne 0x140185870
mov r12, qword [rsp + 0x68]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401858e8
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rdi
call fcn.1401d24b0
and dword [r14 + 0x48], 0xffffffdf
jmp 0x1401859a1
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 [r14 + 0x48], 0xffffffdf
jmp 0x1401859a1
mov r8, qword [rsp + 0x140]
lea edx, [rsi + 1]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [r8 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x140185953
xor eax, eax
mov r9d, edx
mov edx, 0x27
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.1401d24b0
jmp 0x140185984
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 0x1401859a1
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 0x1401859b5
mov rax, rbp
jmp 0x1401859c7
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 0x1401859e7
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1401859e7
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 0x140185a0a
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
mov r15, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x100]
test r12, r12
je 0x140185a4d
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14020ad70
add rsp, 0x108
pop r12
pop rbx
ret