Function at 0x14004bb00
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 0x14004bbb3
xor r9d, r9d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 0xf]
mov rcx, r10
call fcn.14005c9a0
mov r9, qword [rsp + 0x130]
xor r11d, r11d
mov dword [rsp + 0x84], eax
jmp 0x14004bbdb
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 0x14004c0bb
lea r14, [r9 + 0x44]
mov r13, r14
lea r8, [0x1400ae8c0]
nop dword [rax]
test byte [r15 + 0x12], 2
lea rdx, [fcn.1400539b0]
mov rbx, qword [r15]
jne 0x14004bf42
movzx ecx, byte [r9 + 0x3c]
test cl, 0x40
jne 0x14004bf42
mov eax, dword [rbx + 4]
and eax, 1
test cl, 8
je 0x14004bc87
test eax, eax
je 0x14004bf3d
mov eax, dword [r13]
cmp dword [rbx + 0x34], eax
je 0x14004bc93
mov r14, r13
jmp 0x14004bf3d
test eax, eax
jne 0x14004bf3d
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 0x14004bcd7
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.1400de810
movzx ecx, word [rsp + 0xc4]
xor r11d, r11d
mov r14, r13
test cx, cx
je 0x14004bf3d
test rbx, rbx
je 0x14004bcfe
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.140052a80
mov rsi, rax
jmp 0x14004bd01
mov rsi, r11
mov rbp, qword [rdi]
test r12, r12
jne 0x14004bd16
mov r12, rsi
mov qword [rsp + 0x78], rsi
jmp 0x14004bf34
test rsi, rsi
je 0x14004bf34
mov eax, dword [r12 + 4]
lea r14, [rsi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x14004bd47
mov eax, dword [r14]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x14004be79
cmp byte [rdi + 0x134], 2
jae 0x14004be79
test rbp, rbp
je 0x14004bd68
mov edx, 0x18
mov rcx, rbp
call fcn.140085750
jmp 0x14004bd72
mov ecx, 0x18
call fcn.14009c1e0
mov rcx, rax
test rax, rax
je 0x14004bd9c
mov rax, qword [rdi + 0xc0]
mov qword [rcx], rax
lea rax, [0x14008d8c0]
mov qword [rdi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
jmp 0x14004bdae
mov rcx, qword [rdi]
mov rdx, r12
call fcn.14008d8d0
lea rax, [0x14008d8c0]
mov r8, rsi
mov rdx, rax
mov rcx, rdi
call fcn.1400a0030
xor ebx, ebx
lea rdx, [rsp + 0x68]
lea rcx, [0x140104444]
mov dword [rsp + 0x68], ebx
call fcn.140096650
test eax, eax
mov rcx, rbp
mov eax, 2
cmove ebx, eax
mov edx, ebx
add rdx, 0x48
call fcn.140085750
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
je 0x14004bf31
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 0x14004be5c
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 0x14004bf31
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x14004bf31
mov edx, 0x48
mov rcx, rbp
call fcn.140085750
mov rbx, rax
test rax, rax
je 0x14004bf13
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 0x14004bef2
inc eax
mov dword [rbx + 0x28], eax
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp dword [rbx + 0x28], r8d
jle 0x14004bf29
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.1400886c0
jmp 0x14004bf29
mov rcx, qword [rdi]
mov rdx, r12
call fcn.14008d8d0
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.14008d8d0
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 0x14004c0f7
test byte [r15 + 0x14], 0x82
je 0x14004c0f7
movzx ecx, byte [r9 + 0x3c]
test cl, 0x58
je 0x14004bf93
mov rax, qword [r15]
mov edx, dword [rax + 4]
test dl, 3
je 0x14004c07b
cmp dword [rax + 0x34], r8d
jne 0x14004c07b
test cl, 0x18
je 0x14004bf93
test dl, 2
jne 0x14004c07b
mov rax, qword [rsp + 0x138]
test qword [r15 + 0x28], rax
jne 0x14004c07b
movsxd rax, dword [r15 + 0x20]
test eax, eax
js 0x14004c07b
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.140097ba0
test eax, eax
je 0x14004c073
movsxd rcx, dword [r15 + 0x20]
cmp ecx, 0x40
jl 0x14004bfe7
movabs rbx, 0x8000000000000000
jmp 0x14004bfef
mov ebx, 1
shl rbx, cl
test sil, sil
jne 0x14004c021
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.140028020
mov byte [rsp + 0x40], 1
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
test r10, rbx
jne 0x14004c069
mov rcx, qword [rdi]
lea esi, [rbp + 1]
mov r8d, esi
call fcn.1400e21d0
test eax, eax
jne 0x14004cb4b
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 0x14004c085
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, [0x1400ae8c0]
add r15, 0x38
mov r11d, 0
cmp r15, rax
jb 0x14004bc40
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 0x14004c103
mov ebx, r12d
jmp 0x14004c110
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
jmp 0x14004c08a
mov ebx, r8d
test r8d, r8d
jle 0x14004c127
nop dword [rax + rax]
mov ecx, ebp
mov eax, edx
inc ebp
bt r10, rax
cmovae ebp, ecx
inc edx
cmp edx, ebx
jl 0x14004c110
mov dword [rsp + 0x50], ebp
test r9, r9
jns 0x14004c136
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 0x14004c16d
mov rdx, r15
call fcn.140085750
jmp 0x14004c175
mov rcx, r15
call fcn.14009c1e0
mov r14, rax
test rax, rax
je 0x14004cb4b
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.1400f01cc
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, [0x1400f4ebc]
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 0x14004c3be
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 0x14004c389
test byte [rsi + 0x14], 0x82
je 0x14004c389
movzx ecx, byte [r12 + 0x3c]
test cl, 0x58
je 0x14004c281
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x14004c384
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x14004c389
test cl, 0x18
je 0x14004c281
test r8b, 2
jne 0x14004c389
mov rcx, qword [rsp + 0x138]
mov r15d, ebx
test qword [rsi + 0x28], rcx
jne 0x14004c389
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x14004c384
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.140097ba0
test eax, eax
je 0x14004c384
mov edx, dword [rsi + 0x20]
cmp edx, 0x40
jl 0x14004c2d8
movabs rax, 0x8000000000000000
jmp 0x14004c2e2
mov ecx, edx
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x14004c384
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 0x14004c31d
mov rbx, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x14004c325
mov rbx, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x14004c34c
test rbx, rbx
je 0x14004c33c
test dword [rbx + 4], 0x200
jne 0x14004c349
mov rcx, rdi
call fcn.14008d180
test rax, rax
jne 0x14004c359
mov rdx, rbx
mov rcx, rdi
call fcn.14008d180
test rax, rax
je 0x14004c35e
mov rcx, qword [rax]
jmp 0x14004c365
lea rcx, [0x1400f4ebc]
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 0x14004c230
mov r9d, dword [rsp + 0x50]
lea r13, [0x1400f4ebc]
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 0x14004c403
mov r10, qword [rsp + 0x60]
movsxd rax, ebp
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x14004c3f9
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 0x14004c3d6
mov dword [rsp + 0x68], ebp
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x14004c45e
cmp r12w, word [r11 + 0x36]
jge 0x14004c45e
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 0x14004c430
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 0x14004c4c8
mov r9d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x74]
mov rcx, r13
call fcn.14005c9a0
lea rbx, [r13 + 0x88]
jmp 0x14004c4fa
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.14009ab90
mov r8, rax
test rax, rax
je 0x14004c55b
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x14004c53f
cmp qword [rax + 0x308], 0
jne 0x14004c536
add dword [r8], 0xffffffff
jne 0x14004c536
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.140085810
lea rbx, [r13 + 0x88]
jmp 0x14004c55b
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 0x14004c5cd
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 0x14004c59f
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x4d
mov r8d, 0x2710
mov rcx, r13
call fcn.14005c9a0
jmp 0x14004c5cd
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 0x14004c6e7
movsxd r8, dword [r13 + 0x90]
mov ebp, dword [r15 + 0x3c]
mov dword [rsp + 0x70], r8d
cmp dword [r13 + 0x94], r8d
jg 0x14004c620
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x47]
call fcn.14005c9a0
mov dword [rsp + 0x70], eax
jmp 0x14004c648
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 0x14004c674
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, r13
lea edx, [r9 + 0xb]
call fcn.14005c9a0
jmp 0x14004c69e
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 0x14004c6c9
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, ebp
mov rcx, r13
lea edx, [r9 + 0xc]
call fcn.14005c9a0
mov esi, eax
jmp 0x14004c73f
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 0x14004c731
movsxd rsi, dword [r13 + 0x90]
mov edx, dword [rbp + 4]
cmp dword [r13 + 0x94], esi
jg 0x14004c715
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, edx
mov rcx, r13
lea edx, [r9 + 0x24]
call fcn.14005c9a0
mov esi, eax
jmp 0x14004c73f
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 0x14004c777
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.14008dc30
mov rax, qword [rsp + 0x58]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14004c788
inc dword [rdi + 0x38]
mov r12d, dword [rdi + 0x38]
jmp 0x14004c798
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.140095a20
mov r9, qword [rsp + 0x140]
mov r14d, eax
mov r8d, dword [r9 + 0x34]
test r8d, r8d
je 0x14004c869
mov rax, qword [rsp + 0x58]
movsxd rdx, dword [r13 + 0x90]
movzx ebp, word [rax + 0x18]
cmp dword [r13 + 0x94], edx
jg 0x14004c818
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov edx, 0xb4
mov rcx, r13
call fcn.14005c9a0
mov r9, qword [rsp + 0x140]
mov edx, eax
jmp 0x14004c847
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 0x14004c864
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 0x14004c89a
mov r8d, edx
mov dword [rsp + 0x20], 0
mov edx, 0x8a
mov r9d, r12d
mov rcx, r13
call fcn.14005c9a0
jmp 0x14004c8c8
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 0x14004c8eb
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 0x14004c921
mov r9, qword [r13 + 0x18]
mov ecx, dword [rsp + 0x80]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x14004c917
mov r8d, ecx
mov rdx, r13
mov rcx, r9
call fcn.140070dc0
jmp 0x14004c921
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
test byte [r15 + 0x48], 0x20
lea rbp, [0x140119dd0]
je 0x14004ca66
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x14004c942
mov rcx, rbp
jmp 0x14004c952
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 0x14004c982
mov r8, rbp
jmp 0x14004c994
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 0x14004ca06
cmp esi, ecx
jge 0x14004ca06
sub ecx, esi
lea rdx, [r8 + 0xc]
xor r13d, r13d
mov r8d, ecx
lea edi, [r13 + 2]
cmp dword [rdx - 8], r10d
jne 0x14004c9ec
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x14004c9e0
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 0x14004c9ec
cmp al, 0x87
jne 0x14004c9ec
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r9d
add rdx, 0x18
sub r8, 1
jne 0x14004c9b7
mov rdi, qword [rsp + 0x120]
mov r13, qword [rsp + 0x98]
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x14004ca37
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r13
lea edx, [rax + 9]
call fcn.14005c9a0
and dword [r15 + 0x48], 0xffffffdf
jmp 0x14004cae5
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 0x14004cae5
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 0x14004ca9b
xor eax, eax
mov r9d, edx
mov rcx, r13
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x27]
call fcn.14005c9a0
jmp 0x14004cac9
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 0x14004cae5
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 0x14004cafb
mov rax, rbp
jmp 0x14004cb09
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 0x14004cb24
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x14004cb24
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 0x14004cb48
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 0x14004cb95
mov rcx, qword [rdi]
call fcn.14008d8d0
add rsp, 0x110
pop rdi
ret