Function at 0x140044e00
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
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x110
mov r10, qword [rcx + 0x10]
xor r11d, r11d
mov qword [rax - 0x10], rbx
mov r9, r8
mov rbx, qword [rsp + 0x140]
mov rdi, rcx
mov qword [rax - 0x18], rbp
movsxd r8, dword [r10 + 0x90]
mov qword [rax - 0x20], rsi
xor sil, sil
mov qword [rax - 0x28], r12
mov r12d, r11d
mov qword [rax - 0x38], r14
mov r14, rdx
mov qword [rax - 0x40], r15
mov byte [rsp + 0x40], sil
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x80], r11d
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x98], r10
mov dword [rsp + 0x84], r8d
cmp dword [r10 + 0x94], r8d
jg 0x140044eb3
xor r9d, r9d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 0xf]
mov rcx, r10
call fcn.140055ca0
mov r9, qword [rsp + 0x130]
xor r11d, r11d
mov dword [rsp + 0x84], eax
jmp 0x140044edb
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r11
mov r15, qword [r14 + 0x20]
mov ebp, r11d
movsxd rax, dword [r14 + 0x14]
mov r10, r11
mov rcx, qword [r9 + 0x20]
movabs r8, 0x8000000000000000
mov rdx, qword [rbx + 0x60]
imul rax, rax, 0x38
mov qword [rsp + 0xe8], r13
add rax, r15
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r11
cmp r15, rax
jae 0x1400453bb
lea r14, [r9 + 0x44]
mov r13, r14
lea r8, [0x1400a7bc0]
nop dword [rax]
test byte [r15 + 0x12], 2
lea rdx, [fcn.14004ccb0]
mov rbx, qword [r15]
jne 0x140045242
movzx ecx, byte [r9 + 0x3c]
test cl, 0x40
jne 0x140045242
mov eax, dword [rbx + 4]
and eax, 1
test cl, 8
je 0x140044f87
test eax, eax
je 0x14004523d
mov eax, dword [r13]
cmp dword [rbx + 0x34], eax
je 0x140044f93
mov r14, r13
jmp 0x14004523d
test eax, eax
jne 0x14004523d
mov eax, dword [r13]
mov qword [rsp + 0xa8], rdx
mov ecx, 3
mov word [rsp + 0xc4], cx
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0xc8], eax
test rbx, rbx
je 0x140044fd7
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.1400d7b10
movzx ecx, word [rsp + 0xc4]
xor r11d, r11d
mov r14, r13
test cx, cx
je 0x14004523d
test rbx, rbx
je 0x140044ffe
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.14004bd80
mov rsi, rax
jmp 0x140045001
mov rsi, r11
mov rbp, qword [rdi]
test r12, r12
jne 0x140045016
mov r12, rsi
mov qword [rsp + 0x78], rsi
jmp 0x140045234
test rsi, rsi
je 0x140045234
mov eax, dword [r12 + 4]
lea r14, [rsi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x140045047
mov eax, dword [r14]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x140045179
cmp byte [rdi + 0x134], 2
jae 0x140045179
test rbp, rbp
je 0x140045068
mov edx, 0x18
mov rcx, rbp
call fcn.14007ea50
jmp 0x140045072
mov ecx, 0x18
call fcn.1400954e0
mov rcx, rax
test rax, rax
je 0x14004509c
mov rax, qword [rdi + 0xc0]
mov qword [rcx], rax
lea rax, [0x140086bc0]
mov qword [rdi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
jmp 0x1400450ae
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140086bd0
lea rax, [0x140086bc0]
mov r8, rsi
mov rdx, rax
mov rcx, rdi
call fcn.140099330
xor ebx, ebx
lea rdx, [rsp + 0x68]
lea rcx, [0x1400fcb84]
mov dword [rsp + 0x68], ebx
call fcn.14008f950
test eax, eax
mov rcx, rbp
mov eax, 2
cmove ebx, eax
mov edx, ebx
add rdx, 0x48
call fcn.14007ea50
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
je 0x140045231
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 eax, 0xffffffff
mov word [r12 + 0x32], ax
mov byte [r12], 0x9b
test ebx, ebx
jne 0x14004515c
mov eax, dword [rsp + 0x68]
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 0x140045231
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x140045231
mov edx, 0x48
mov rcx, rbp
call fcn.14007ea50
mov rbx, rax
test rax, rax
je 0x140045213
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov eax, 0xffffffff
mov word [rbx + 0x32], ax
mov byte [rbx], 0x2c
mov qword [rbx + 0x18], rsi
mov edx, dword [r14]
and edx, 0x400208
or edx, dword [rbx + 4]
mov dword [rbx + 4], edx
mov ecx, dword [rsi + 0x28]
inc ecx
mov dword [rbx + 0x28], ecx
mov qword [rbx + 0x10], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or eax, edx
mov dword [rbx + 4], eax
mov eax, dword [r12 + 0x28]
cmp eax, ecx
jl 0x1400451f2
inc eax
mov dword [rbx + 0x28], eax
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp dword [rbx + 0x28], r8d
jle 0x140045229
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.1400819c0
jmp 0x140045229
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140086bd0
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.140086bd0
mov r12, rbx
mov qword [rsp + 0x78], rbx
mov r14, r13
mov ebp, dword [rsp + 0x50]
movzx esi, byte [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov r8d, dword [r14]
mov r9, qword [rsp + 0x130]
cmp dword [r15 + 0x1c], r8d
jne 0x1400453f7
test byte [r15 + 0x14], 0x82
je 0x1400453f7
movzx ecx, byte [r9 + 0x3c]
test cl, 0x58
je 0x140045293
mov rax, qword [r15]
mov edx, dword [rax + 4]
test dl, 3
je 0x14004537b
cmp dword [rax + 0x34], r8d
jne 0x14004537b
test cl, 0x18
je 0x140045293
test dl, 2
jne 0x14004537b
mov rax, qword [rsp + 0x138]
test qword [r15 + 0x28], rax
jne 0x14004537b
movsxd rax, dword [r15 + 0x20]
test eax, eax
js 0x14004537b
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 [r15]
call fcn.140090ea0
test eax, eax
je 0x140045373
movsxd rcx, dword [r15 + 0x20]
cmp ecx, 0x40
jl 0x1400452e7
movabs rbx, 0x8000000000000000
jmp 0x1400452ef
mov ebx, 1
shl rbx, cl
test sil, sil
jne 0x140045321
mov rax, qword [rsp + 0x88]
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.140021320
mov byte [rsp + 0x40], 1
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
test r10, rbx
jne 0x140045369
mov rcx, qword [rdi]
lea esi, [rbp + 1]
mov r8d, esi
call fcn.1400db4d0
test eax, eax
jne 0x140045e4b
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
or r10, rbx
movsxd rcx, ebp
mov ebp, esi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x60], r10
mov rax, qword [rdx + 0x48]
mov qword [rax + rcx*8], r15
mov r9, qword [rsp + 0x130]
jmp 0x140045385
mov r9, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
lea r8, [0x1400a7bc0]
add r15, 0x38
mov r11d, 0
cmp r15, rax
jb 0x140044f40
mov rcx, qword [rsp + 0x88]
movabs r8, 0x8000000000000000
mov word [rdx + 0x3c], bp
not r10
mov word [rdx + 0x18], bp
or r10, r8
mov dword [rdx + 0x38], 0x4241
mov r12d, 0x3f
movsx eax, word [rcx + 0x36]
mov edx, r11d
mov r9, qword [r9 + 0x50]
mov r8d, eax
and r10, r9
mov qword [rsp + 0x60], r10
cmp r12w, ax
jge 0x140045403
mov ebx, r12d
jmp 0x140045410
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
jmp 0x14004538a
mov ebx, r8d
test r8d, r8d
jle 0x140045427
nop dword [rax + rax]
mov ecx, ebp
mov eax, edx
inc ebp
bt r10, rax
cmovae ebp, ecx
inc edx
cmp edx, ebx
jl 0x140045410
mov dword [rsp + 0x50], ebp
test r9, r9
jns 0x140045436
add ebp, 0xffffffc1
add ebp, r8d
mov dword [rsp + 0x50], ebp
mov rcx, qword [rdi]
lea esi, [rbp + 1]
movsx rbp, si
mov eax, ebp
movsx r13d, si
add eax, r13d
lea edx, [rax*2 + 9]
add edx, ebp
lea eax, [rbp + 0xe]
and edx, 0xfffffff8
lea eax, [rdx + rax*8]
movsxd r15, eax
test rcx, rcx
je 0x14004546d
mov rdx, r15
call fcn.14007ea50
jmp 0x140045475
mov rcx, r15
call fcn.1400954e0
mov r14, rax
test rax, rax
je 0x140045e4b
mov r8, r15
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9d, dword [rsp + 0x50]
lea rax, [r14 + 0x70]
mov r15, qword [rsp + 0x128]
lea rdx, [rax + rbp*8]
mov r11, qword [rsp + 0x88]
mov qword [r14 + 0x40], rax
lea eax, [r13 + 1]
movsxd rcx, eax
lea r13, [0x1400edb9c]
mov qword [r14 + 0x10], rdx
mov word [r14 + 0x60], si
mov word [r14 + 0x5e], r9w
lea rax, [rdx + rcx*2]
xor ecx, ecx
mov qword [r14 + 8], rax
lea rax, [rax + rbp*2]
mov qword [r14 + 0x38], rax
mov ebp, ecx
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x90], rcx
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 0x1400456be
mov r12, qword [rsp + 0x130]
mov r13d, ecx
mov qword [rsp + 0x68], rcx
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r12 + 0x44]
cmp dword [rsi + 0x1c], edx
jne 0x140045689
test byte [rsi + 0x14], 0x82
je 0x140045689
movzx ecx, byte [r12 + 0x3c]
test cl, 0x58
je 0x140045581
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140045684
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x140045689
test cl, 0x18
je 0x140045581
test r8b, 2
jne 0x140045689
mov rcx, qword [rsp + 0x138]
mov r15d, ebx
test qword [rsi + 0x28], rcx
jne 0x140045689
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x140045684
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.140090ea0
test eax, eax
je 0x140045684
mov edx, dword [rsi + 0x20]
cmp edx, 0x40
jl 0x1400455d8
movabs rax, 0x8000000000000000
jmp 0x1400455e2
mov ecx, edx
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x140045684
mov rcx, qword [rsi]
or r8, rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x90], r8
mov word [rax + r13], dx
test dword [rcx + 4], 0x400
je 0x14004561d
mov rbx, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x140045625
mov rbx, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x14004564c
test rbx, rbx
je 0x14004563c
test dword [rbx + 4], 0x200
jne 0x140045649
mov rcx, rdi
call fcn.140086480
test rax, rax
jne 0x140045659
mov rdx, rbx
mov rcx, rdi
call fcn.140086480
test rax, rax
je 0x14004565e
mov rcx, qword [rax]
jmp 0x140045665
lea rcx, [0x1400edb9c]
mov r8, qword [rsp + 0x68]
inc ebp
mov rax, qword [r14 + 0x40]
add r13, 2
mov ebx, r15d
mov qword [r8 + rax], rcx
add r8, 8
mov qword [rsp + 0x68], r8
mov rax, qword [rsp + 0x48]
add rsi, 0x38
cmp rsi, rax
jb 0x140045530
mov r9d, dword [rsp + 0x50]
lea r13, [0x1400edb9c]
mov r11, qword [rsp + 0x88]
mov r12d, 0x3f
mov r15, qword [rsp + 0x128]
xor ecx, ecx
mov dword [rsp + 0x68], ebp
test ebx, ebx
jle 0x140045703
mov r10, qword [rsp + 0x60]
movsxd rax, ebp
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x1400456f9
mov rax, qword [r14 + 8]
inc ebp
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], r13
add rdx, 8
inc ecx
cmp ecx, ebx
jl 0x1400456d6
mov dword [rsp + 0x68], ebp
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x14004575e
cmp r12w, word [r11 + 0x36]
jge 0x14004575e
movsxd rax, ebp
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax + rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 2]
inc ebp
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r12w
inc r12d
mov rax, qword [r14 + 0x40]
mov qword [rcx + rax - 8], r13
movsx eax, word [r11 + 0x36]
cmp r12d, eax
jl 0x140045730
mov dword [rsp + 0x68], ebp
mov rax, qword [r14 + 8]
mov edx, 0xffffffff
movsxd rcx, ebp
xor r12d, r12d
mov rbp, qword [rsp + 0x140]
mov word [rax + rcx*2], dx
lea edx, [r9 + 1]
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], r13
mov r13, qword [rsp + 0x98]
mov eax, dword [rdi + 0x34]
mov dword [rbp + 8], eax
inc dword [rdi + 0x34]
movsxd rcx, dword [r13 + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [r13 + 0x94], ecx
jg 0x1400457c8
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x74]
mov rcx, r13
call fcn.140055ca0
lea rbx, [r13 + 0x88]
jmp 0x1400457fa
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
lea rbx, [r13 + 0x88]
mov rax, qword [rbx]
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], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rsi, qword [rdi + 0x10]
mov rdx, r14
mov rcx, rdi
call fcn.140093e90
mov r8, rax
test rax, rax
je 0x14004585b
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x14004583f
cmp qword [rax + 0x308], 0
jne 0x140045836
add dword [r8], 0xffffffff
jne 0x140045836
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.14007eb10
lea rbx, [r13 + 0x88]
jmp 0x14004585b
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 [rdi]
test dword [rax + 0x60], 0x80000
jne 0x1400458cd
mov edx, dword [rdi + 0x38]
inc edx
mov dword [rdi + 0x38], edx
mov dword [rbp + 0x34], edx
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x14004589f
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x4d
mov r8d, 0x2710
mov rcx, r13
call fcn.140055ca0
jmp 0x1400458cd
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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], r12d
mov qword [rax + rcx*8 + 0x10], r12
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 0x1400459e7
movsxd r8, dword [r13 + 0x90]
mov ebp, dword [r15 + 0x3c]
mov dword [rsp + 0x70], r8d
cmp dword [r13 + 0x94], r8d
jg 0x140045920
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x47]
call fcn.140055ca0
mov dword [rsp + 0x70], eax
jmp 0x140045948
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r13 + 0x90], eax
mov rax, qword [rbx]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [r13 + 0x90]
mov edx, dword [r15 + 0x38]
cmp dword [r13 + 0x94], ecx
jg 0x140045974
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, r13
lea edx, [r9 + 0xb]
call fcn.140055ca0
jmp 0x14004599e
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
movsxd rsi, dword [r13 + 0x90]
cmp dword [r13 + 0x94], esi
jg 0x1400459c9
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, ebp
mov rcx, r13
lea edx, [r9 + 0xc]
call fcn.140055ca0
mov esi, eax
jmp 0x140045a3f
lea eax, [rsi + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebp
jmp 0x140045a31
movsxd rsi, dword [r13 + 0x90]
mov edx, dword [rbp + 4]
cmp dword [r13 + 0x94], esi
jg 0x140045a15
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, edx
mov rcx, r13
lea edx, [r9 + 0x24]
call fcn.140055ca0
mov esi, eax
jmp 0x140045a3f
lea eax, [rsi + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r12
mov qword [rax + rcx*8 + 8], 0
mov rbp, qword [rsp + 0x78]
mov eax, 0x10
test rbp, rbp
je 0x140045a77
dec dword [rdi + 0x44]
mov r9d, eax
mov r8d, dword [rdi + 0x44]
mov rdx, rbp
mov rcx, rdi
mov dword [rsp + 0x80], r8d
call fcn.140086f30
mov rax, qword [rsp + 0x58]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x140045a88
inc dword [rdi + 0x38]
mov r12d, dword [rdi + 0x38]
jmp 0x140045a98
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r12d, dword [rdi + rax*4 + 0xe4]
xor eax, eax
mov r9d, r12d
mov dword [rsp + 0x38], eax
mov rdx, r14
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x140]
mov r8d, dword [rax + 4]
call fcn.14008ed20
mov r9, qword [rsp + 0x140]
mov r14d, eax
mov r8d, dword [r9 + 0x34]
test r8d, r8d
je 0x140045b69
mov rax, qword [rsp + 0x58]
movsxd rdx, dword [r13 + 0x90]
movzx ebp, word [rax + 0x18]
cmp dword [r13 + 0x94], edx
jg 0x140045b18
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov edx, 0xb4
mov rcx, r13
call fcn.140055ca0
mov r9, qword [rsp + 0x140]
mov edx, eax
jmp 0x140045b47
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [r13 + 0x90], eax
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x140045b64
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], ebp
mov rbp, qword [rsp + 0x78]
movsxd rcx, dword [r13 + 0x90]
mov edx, dword [r9 + 8]
cmp dword [r13 + 0x94], ecx
jg 0x140045b9a
mov r8d, edx
mov dword [rsp + 0x20], 0
mov edx, 0x8a
mov r9d, r12d
mov rcx, r13
call fcn.140055ca0
jmp 0x140045bc8
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdx, dword [r13 + 0x90]
test edx, edx
jle 0x140045beb
mov rax, qword [rbx]
lea rcx, [rdx + rdx*2]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [r13 + 0x90]
test rbp, rbp
je 0x140045c21
mov r9, qword [r13 + 0x18]
mov ecx, dword [rsp + 0x80]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x140045c17
mov r8d, ecx
mov rdx, r13
mov rcx, r9
call fcn.14006a0c0
jmp 0x140045c21
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
test byte [r15 + 0x48], 0x20
lea rbp, [0x140110c90]
je 0x140045d66
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x140045c42
mov rcx, rbp
jmp 0x140045c52
movsxd rax, dword [rsp + 0x70]
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x68]
add eax, r14d
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x140]
mov rdx, qword [rdi + 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 0x140045c82
mov r8, rbp
jmp 0x140045c94
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [rdi]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140045d06
cmp esi, ecx
jge 0x140045d06
sub ecx, esi
lea rdx, [r8 + 0xc]
xor r13d, r13d
mov r8d, ecx
lea edi, [r13 + 2]
cmp dword [rdx - 8], r10d
jne 0x140045cec
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x140045ce0
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], r13d
mov word [rdx - 0xa], di
jmp 0x140045cec
cmp al, 0x87
jne 0x140045cec
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r9d
add rdx, 0x18
sub r8, 1
jne 0x140045cb7
mov rdi, qword [rsp + 0x120]
mov r13, qword [rsp + 0x98]
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x140045d37
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r13
lea edx, [rax + 9]
call fcn.140055ca0
and dword [r15 + 0x48], 0xffffffdf
jmp 0x140045de5
lea eax, [rcx + 1]
xor edx, edx
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 0x140045de5
mov rax, qword [rsp + 0x140]
lea edx, [rsi + 1]
movsxd rcx, dword [r13 + 0x90]
mov r8d, dword [rax + 4]
cmp dword [r13 + 0x94], ecx
jg 0x140045d9b
xor eax, eax
mov r9d, edx
mov rcx, r13
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x27]
call fcn.140055ca0
jmp 0x140045dc9
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 [r13 + 0x90]
test eax, eax
jle 0x140045de5
lea rcx, [rax + rax*2]
mov edx, 3
mov rax, qword [rbx]
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [r13]
mov edx, dword [r13 + 0x90]
cmp byte [rax + 0x67], 0
je 0x140045dfb
mov rax, rbp
jmp 0x140045e09
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r12d, r12d
je 0x140045e24
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x140045e24
mov dword [rdi + rax*4 + 0xe4], r12d
inc byte [rdi + 0x1f]
mov rax, qword [r13]
mov edx, dword [r13 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140045e48
movsxd rax, dword [rsp + 0x84]
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
mov rdx, qword [rsp + 0x78]
mov r15, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x108]
test rdx, rdx
je 0x140045e95
mov rcx, qword [rdi]
call fcn.140086bd0
add rsp, 0x110
pop rdi
ret