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

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov r12, qword [rcx]
movsxd rax, edx
xor r13d, r13d
movzx edi, r8w
mov r8, rcx
mov rcx, qword [r12 + 0x10]
imul rax, rax, 0x58
mov rdx, qword [r8 + 0x28]
lea rsi, [rax + r8 + 0x40]
mov r15, r9
movzx eax, byte [rsi + 0x34]
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x68], r13d
lea rdx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0x30], rcx
shl rdx, 5
mov qword [rsp + 0x58], rsi
mov r14d, dword [rdx + rax + 0x3c]
lea rbp, [rdx + rax + 8]
mov eax, dword [rsi]
mov ebx, eax
mov qword [rsp + 0x98], rbp
mov dword [rsp + 0x40], r14d
shr ebx, 0x19
lea edx, [r13 + 1]
and ebx, 1
mov dword [rsp + 0x80], ebx
bt eax, 0x17
jae 0x14015396c
mov dword [rsp + 0x50], edx
test dil, 0x20
je 0x140153971
mov dword [rsp + 0x50], r13d
call fcn.14010af50
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x24], eax
call fcn.14010af50
mov dword [rsp + 0x8c], eax
mov dword [rsi + 0x2c], eax
cmp byte [rsi + 0x34], r13b
jbe 0x1401539c7
test byte [rbp + 0x30], 8
je 0x1401539c7
mov r9d, dword [r12 + 0x58]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
inc r9d
lea edx, [r8 + 7]
mov dword [rsp + 0x20], r13d
mov dword [r12 + 0x58], r9d
mov dword [rsi + 0x18], r9d
call fcn.14010ad10
mov edx, dword [rsi]
mov qword [rsp + 0x90], 0xa
bt edx, 0x1b
jae 0x140153dba
mov rax, qword [rsi + 0x10]
mov ecx, dword [r12 + 0x48]
mov r8d, dword [r12 + 0x4c]
movsxd rdx, dword [rax]
mov r9, qword [rax + 8]
mov r15, qword [rax + 0x20]
inc dword [r12 + 0x68]
lea r10d, [rdx + 2]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0xf8], r8d
cmp r10d, ecx
jg 0x140153a30
lea eax, [r8 + r10]
sub ecx, r10d
mov dword [r12 + 0x4c], eax
mov dword [r12 + 0x48], ecx
jmp 0x140153a49
mov eax, dword [r12 + 0x58]
lea r8d, [rax + 1]
add eax, r10d
mov dword [rsp + 0xf8], r8d
mov dword [r12 + 0x58], eax
mov edi, 1
mov rsi, rdx
cmp edx, edi
jl 0x140153b0f
mov r14d, edx
nop dword [rax]
mov ebx, r13d
mov rax, r13
test rsi, rsi
jle 0x140153af2
nop
cmp dword [r15 + rax*8], edi
je 0x140153a82
inc rax
inc ebx
cmp rax, rsi
jl 0x140153a70
jmp 0x140153af2
lea rax, [rax + rax*2]
lea ebp, [r8 + rdi + 1]
movsxd rcx, dword [r9 + rax*4 + 8]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x30]
imul rcx, rcx, 0x38
mov rcx, qword [rcx + rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x140153abf
cmp byte [rdx], 0x84
jne 0x140153abf
mov r8d, dword [rdx + 0x30]
mov rcx, qword [r12 + 0x10]
mov edx, 0xe
jmp 0x140153ae0
mov r8d, ebp
mov rcx, r12
call fcn.14011f490
cmp eax, ebp
je 0x140153aed
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x140153aed
mov r8d, eax
mov edx, 0xf
mov r9d, ebp
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r9, qword [rsp + 0x48]
cmp ebx, r14d
je 0x140153b0a
mov r8d, dword [rsp + 0xf8]
inc edi
cmp edi, r14d
jle 0x140153a60
mov r14d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x70]
movsxd rbx, dword [r8 + 0x34]
mov ebp, dword [rax + 0x28]
cmp dword [r8 + 0x38], ebx
jg 0x140153b37
mov rcx, r8
call fcn.14010ac70
mov r8, qword [rsp + 0x30]
test eax, eax
jne 0x140153b69
mov rax, qword [r8 + 8]
inc dword [r8 + 0x34]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], ebp
mov ebp, dword [rsp + 0xf8]
mov byte [rax + rcx*8 + 3], r13b
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov word [rax + rcx*8], 7
mov dword [rax + rcx*8 + 8], ebp
jmp 0x140153b70
mov ebp, dword [rsp + 0xf8]
movsxd rbx, dword [r8 + 0x34]
cmp dword [r8 + 0x38], ebx
jg 0x140153b8b
mov rcx, r8
call fcn.14010ac70
mov r8, qword [rsp + 0x30]
test eax, eax
jne 0x140153bba
mov rcx, qword [r8 + 8]
inc dword [r8 + 0x34]
lea rdx, [rbx + rbx*2]
lea eax, [rdi - 1]
mov byte [rcx + rdx*8 + 3], r13b
mov dword [rcx + rdx*8 + 0xc], r13d
mov dword [rcx + rdx*8 + 4], eax
lea eax, [rbp + 1]
mov qword [rcx + rdx*8 + 0x10], r13
mov dword [rcx + rdx*8 + 8], eax
mov word [rcx + rdx*8], 7
mov rax, qword [rsp + 0x70]
movsxd rbx, dword [r8 + 0x34]
mov edi, 0xfffffffe
cmp dword [rax + 0x38], r13d
mov rbp, qword [rax + 0x30]
mov ecx, 0xfffffff5
cmovne edi, ecx
cmp dword [r8 + 0x38], ebx
jg 0x140153bf6
mov rcx, r8
call fcn.14010ac70
test eax, eax
je 0x140153bf1
mov ebx, 1
jmp 0x140153c2c
mov r8, qword [rsp + 0x30]
mov rax, qword [r8 + 8]
inc dword [r8 + 0x34]
mov r9d, dword [rsp + 0x38]
mov edx, dword [rsp + 0xf8]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8 + 3], r13b
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r13
mov word [rax + rcx*8], 0x88
mov r8, rbp
mov rbp, qword [rsp + 0x30]
mov r9d, edi
mov rcx, rbp
mov edx, ebx
call fcn.14010b3d0
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x38], r13d
test rsi, rsi
jle 0x140153cdb
mov r11, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
add r11, 8
lea r10, [r15 + 4]
nop word [rax + rax]
cmp byte [r10], r13b
je 0x140153cc4
movsxd rcx, dword [r11]
imul rcx, rcx, 0x38
add rcx, qword [rbp + 0x30]
je 0x140153cc4
movzx edx, byte [rcx + 0x1a]
test dl, 4
jne 0x140153cc4
cmp dword [r14 + 0x18], r13d
je 0x140153c9a
mov rax, qword [rcx]
test byte [rax + 2], 1
je 0x140153cc4
movsxd rax, dword [rcx + 8]
or dl, 4
mov byte [rcx + 0x1a], dl
test eax, eax
js 0x140153cc4
mov rdx, rax
mov rax, qword [rcx + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x30]
dec byte [rdx + 0x1b]
jne 0x140153cc4
mov rcx, r14
call fcn.140152c30
add r10, 8
add r11, 0xc
dec rsi
jne 0x140153c70
mov r14d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x60]
mov r11d, 0xa
mov byte [rsi + 0x35], 0x8a
mov dword [rsi + 0x38], r14d
mov eax, dword [rbp + 0x34]
mov dword [rsi + 0x3c], eax
mov eax, dword [rsp + 0xf8]
lea rcx, [r12 + 0x80]
lea r9d, [r10 + rax - 1]
mov r8d, r11d
mov edx, dword [rcx]
cmp edx, eax
jl 0x140153d46
cmp edx, r9d
jg 0x140153d46
cmp byte [rcx - 8], r13b
je 0x140153d43
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x140153d38
movzx eax, al
mov dword [r12 + rax*4 + 0x28], edx
inc byte [r12 + 0x1f]
mov eax, dword [rsp + 0xf8]
mov byte [rcx - 8], r13b
mov dword [rcx], r13d
add rcx, 0x18
dec r8
jne 0x140153d10
cmp r10d, dword [r12 + 0x48]
jle 0x140153d60
mov dword [r12 + 0x48], r10d
mov dword [r12 + 0x4c], eax
dec dword [r12 + 0x68]
lea rcx, [r12 + 0x80]
mov r8, r11
mov edx, dword [rcx]
test edx, edx
je 0x140153da4
mov eax, dword [r12 + 0x68]
cmp dword [rcx - 4], eax
jle 0x140153da4
cmp byte [rcx - 8], r13b
je 0x140153da1
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x140153d9d
movzx eax, al
mov dword [r12 + rax*4 + 0x28], edx
inc byte [r12 + 0x1f]
mov byte [rcx - 8], r13b
mov dword [rcx], r13d
add rcx, 0x18
dec r8
jne 0x140153d70
mov r15, qword [rsp + 0x108]
jmp 0x140154bf0
bt edx, 0xc
jae 0x140153e9b
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x140153dda
inc dword [r12 + 0x58]
mov r9d, dword [r12 + 0x58]
jmp 0x140153de9
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov r9d, dword [r12 + rax*4 + 0x28]
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x68], r9d
mov rcx, rax
test rax, rax
je 0x140153e39
nop dword [rax + rax]
mov eax, dword [rcx + 0x24]
mov rdx, qword [rcx + 0x30]
test eax, eax
je 0x140153e30
nop dword [rax + rax]
cmp dword [rdx + 0xc], r14d
jne 0x140153e28
test qword [rdx + 0x28], r15
jne 0x140153e28
cmp dword [rdx + 0x10], 0xffffffff
jne 0x140153e28
test byte [rdx + 0x18], 3
jne 0x140153e3c
add rdx, 0x38
dec eax
jne 0x140153e10
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140153e00
mov rdx, r13
mov r8, rsi
mov rcx, r12
call fcn.140152d50
mov ebx, dword [rsi + 0x28]
mov rbp, qword [rsp + 0x30]
mov r9d, ebx
mov rcx, rbp
mov r8d, eax
mov edx, 0x15
mov edi, eax
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r9d, ebx
mov r8d, r14d
mov edx, 0x36
mov rcx, rbp
mov dword [rsp + 0x20], edi
call fcn.14010ad10
mov r9d, edi
or r8d, 0xffffffff
mov edx, r14d
mov rcx, r12
call fcn.14011eff0
mov byte [rsi + 0x35], 0x95
jmp 0x140154bf0
bt edx, 0xd
jae 0x14015415a
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x3c], 0x95
mov dword [rsp + 0x40], r13d
mov rcx, rdx
test rdx, rdx
je 0x140153ef9
nop
mov eax, dword [rcx + 0x24]
mov rbp, qword [rcx + 0x30]
test eax, eax
je 0x140153ef0
nop dword [rax + rax]
cmp dword [rbp + 0xc], r14d
jne 0x140153ee8
test qword [rbp + 0x28], r15
jne 0x140153ee8
cmp dword [rbp + 0x10], 0xffffffff
jne 0x140153ee8
test byte [rbp + 0x18], 0x24
jne 0x140153efc
add rbp, 0x38
dec eax
jne 0x140153ed0
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140153ec0
mov rbp, r13
mov rcx, rdx
test rdx, rdx
je 0x140153f39
mov eax, dword [rcx + 0x24]
mov rsi, qword [rcx + 0x30]
test eax, eax
je 0x140153f30
nop
cmp dword [rsi + 0xc], r14d
jne 0x140153f28
test qword [rsi + 0x28], r15
jne 0x140153f28
cmp dword [rsi + 0x10], 0xffffffff
jne 0x140153f28
test byte [rsi + 0x18], 0x18
jne 0x140153f3c
add rsi, 0x38
dec eax
jne 0x140153f10
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140153f04
mov rsi, r13
test ebx, ebx
je 0x140153f49
mov rax, rbp
mov rbp, rsi
mov rsi, rax
test rbp, rbp
je 0x140153fbc
mov rbx, qword [rbp]
lea r8, [rsp + 0x50]
mov rcx, r12
mov rdx, qword [rbx + 0x18]
mov dword [rsp + 0xf8], 0x302e2f31
call fcn.140120960
movzx ecx, byte [rbx]
mov r9d, dword [rsp + 0x38]
movzx edx, byte [rsp + rcx + 0xab]
mov rcx, qword [rsp + 0x30]
mov r8d, r14d
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.14010ad10
mov r8d, 1
mov edx, edi
mov rcx, r12
call fcn.14011f2f0
mov edx, dword [rsp + 0x50]
call fcn.140121e10
mov rdi, qword [rsp + 0x58]
mov rdx, rbp
mov rcx, rdi
call fcn.140152c30
jmp 0x140153fe7
mov r9d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov edx, 0x48
mov eax, 0x43
test ebx, ebx
mov r8d, r14d
cmovne edx, eax
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov rdi, qword [rsp + 0x58]
test rsi, rsi
je 0x140154075
mov rbx, qword [rsi]
inc dword [r12 + 0x58]
mov eax, dword [r12 + 0x58]
mov rdx, qword [rbx + 0x18]
mov r8d, eax
mov rcx, r12
mov dword [rsp + 0x40], eax
call fcn.140120a00
movzx r11d, byte [rbx]
cmp r11b, 0x4f
je 0x14015404c
cmp r11b, 0x4d
je 0x14015404c
mov r11d, dword [rsp + 0x80]
mov eax, 0x4f
mov r10d, 0x4d
test r11d, r11d
mov rdx, rsi
mov rcx, rdi
cmovne r10d, eax
mov dword [rsp + 0x3c], r10d
call fcn.140152c30
jmp 0x14015407d
mov r11d, dword [rsp + 0x80]
mov eax, 0x50
mov ecx, 0x4e
test r11d, r11d
mov rdx, rsi
cmovne eax, ecx
mov rcx, rdi
mov dword [rsp + 0x3c], eax
call fcn.140152c30
jmp 0x14015407d
mov r11d, dword [rsp + 0x80]
mov r10, qword [rsp + 0x30]
test r11d, r11d
mov ecx, 0x5f
mov eax, dword [r10 + 0x34]
mov edx, 0x5c
mov dword [rdi + 0x38], r14d
cmovne ecx, edx
mov dword [rdi + 0x3c], eax
mov byte [rdi + 0x35], cl
test rbp, rbp
jne 0x1401540b5
test rsi, rsi
mov rsi, qword [rsp + 0x58]
jne 0x1401540ba
mov byte [rsi + 0x36], 1
jmp 0x1401540ba
mov rsi, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x3c]
cmp ebx, 0x95
je 0x140154bed
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x1401540e0
inc dword [r12 + 0x58]
mov edi, dword [r12 + 0x58]
jmp 0x1401540ef
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov edi, dword [r12 + rax*4 + 0x28]
mov r9d, edi
mov r8d, r14d
mov edx, 0x41
mov rcx, r10
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r9d, edi
or r8d, 0xffffffff
mov edx, r14d
mov rcx, r12
call fcn.14011eff0
mov rbp, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x40]
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], edi
call fcn.14010ad10
mov r11, qword [rbp + 8]
test r11, r11
je 0x140154bf0
movsxd rax, dword [rbp + 0x34]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x6b
jmp 0x140154bf0
test edx, 0x30000
je 0x1401546d2
mov rbx, qword [rsi + 0x10]
movsxd rdi, dword [rsi + 4]
mov eax, dword [rsi + 0x20]
mov r9d, dword [rbx + 0x48]
mov dword [rsp + 0x88], r13d
mov rbp, r13
mov qword [rsp + 0x48], r13
mov r8d, r13d
mov dword [rsp + 0x40], eax
cmp edi, r9d
jne 0x140154196
or esi, 0xffffffff
jmp 0x14015419d
mov rax, qword [rbx + 8]
mov esi, dword [rax + rdi*4]
test byte [rsp + 0x100], 1
je 0x1401541c1
bt edx, 0x18
jae 0x1401541c1
cmp r9d, edi
jle 0x1401541c1
mov eax, 1
mov dword [rsp + 0x88], eax
mov r8d, eax
bt edx, 0x14
jae 0x1401541f2
mov rcx, qword [rsp + 0x78]
mov r9, r15
mov r8d, esi
mov edx, r14d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x18
call fcn.14014f240
mov r8d, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x58]
test dword [rax], 0x200000
je 0x14015422d
mov rcx, qword [rsp + 0x78]
mov r9, r15
mov r8d, esi
mov edx, r14d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x24
call fcn.14014f240
mov r8d, 1
mov rbp, rax
mov rax, qword [rsp + 0x58]
lea rcx, [rsp + 0x70]
mov r9, r15
mov rdx, rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
mov r8, qword [rsp + 0x78]
mov rcx, r12
call fcn.140152f20
mov r15, qword [rsp + 0x70]
mov rcx, qword [r12]
mov rdx, r15
mov esi, eax
mov dword [rsp + 0xf8], eax
call fcn.1400e9680
mov r9d, dword [rbx + 0x48]
mov r11d, dword [rsp + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x38], eax
cmp edi, r9d
jge 0x14015429f
mov rcx, qword [rbx + 0x38]
mov r8d, r13d
cmp byte [rdi + rcx], r8b
sete r8b
cmp r11d, r8d
je 0x1401542a9
test r11d, r11d
je 0x1401542bb
cmp r9d, edi
jne 0x1401542bb
mov rax, qword [rsp + 0x48]
mov rcx, rbp
mov rbp, rax
mov qword [rsp + 0x48], rcx
jmp 0x1401542c0
mov rcx, qword [rsp + 0x48]
test rbp, rbp
je 0x1401542d7
test byte [rbp + 0x18], 0x28
jne 0x1401542d7
mov dword [rsp + 0x64], r13d
mov eax, 1
jmp 0x1401542e0
mov eax, 1
mov dword [rsp + 0x64], eax
test rcx, rcx
je 0x1401542f0
test byte [rcx + 0x18], 0x28
mov dword [rsp + 0x60], r13d
je 0x1401542f4
mov dword [rsp + 0x60], eax
test rbp, rbp
jne 0x140154302
mov dword [rsp + 0x3c], r13d
test edi, edi
jle 0x140154306
mov dword [rsp + 0x3c], eax
mov ebx, edi
test rbp, rbp
je 0x14015437a
mov rax, qword [rbp]
mov ebx, dword [rsp + 0xf8]
mov rcx, r12
mov rsi, qword [rax + 0x18]
add ebx, edi
mov rdx, rsi
mov r8d, ebx
call fcn.140120a00
mov r9d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov r8d, ebx
mov rdx, rsi
call fcn.14011db10
test r15, r15
je 0x140154371
movzx edx, byte [rdi + r15]
mov rcx, rsi
call fcn.14011bd80
cmp al, 0x62
jne 0x14015435b
mov byte [rdi + r15], al
movzx edx, byte [rdi + r15]
mov rcx, rsi
call fcn.14011db60
test eax, eax
je 0x140154371
mov byte [rdi + r15], 0x62
mov esi, dword [rsp + 0xf8]
jmp 0x1401543ab
cmp dword [rsp + 0x88], r13d
je 0x1401543ae
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
lea r9d, [rsi + rdi]
lea edx, [r8 + 0xa]
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov dword [rsp + 0x64], r13d
mov dword [rsp + 0x3c], 1
lea ebx, [rdi + 1]
mov r9, r15
mov r8d, ebx
mov edx, esi
mov rcx, r12
call fcn.140152c90
movsxd rdx, dword [rsp + 0x80]
movsxd rax, dword [rsp + 0x64]
movsxd rcx, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x40]
lea rcx, [rax + rcx*2]
lea rsi, [0x140000000]
mov dword [rsp + 0x28], ebx
lea rax, [rdx + rcx*2]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rax + rsi + 0x1f3948]
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x20], eax
call fcn.14010aeb0
mov rax, qword [rsp + 0x48]
mov ebx, edi
test rax, rax
je 0x1401544b0
mov rax, qword [rax]
mov ebx, dword [rsp + 0xf8]
mov r8d, 1
mov rsi, qword [rax + 0x18]
add ebx, edi
mov rcx, r12
mov edx, ebx
call fcn.14011f2f0
mov r8d, ebx
mov rdx, rsi
call fcn.140120a00
mov r9d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov r8d, ebx
mov rdx, rsi
call fcn.14011db10
mov r9, qword [rsp + 0x70]
test r9, r9
je 0x140154494
movzx edx, byte [rdi + r9]
mov rcx, rsi
call fcn.14011bd80
mov r9, qword [rsp + 0x70]
cmp al, 0x62
jne 0x14015447e
mov byte [rdi + r9], al
movzx edx, byte [rdi + r9]
mov rcx, rsi
call fcn.14011db60
test eax, eax
je 0x140154494
mov byte [rdi + r9], 0x62
mov edx, dword [rsp + 0xf8]
lea ebx, [rdi + 1]
mov rcx, r12
mov r8d, ebx
call fcn.140152c90
lea rsi, [0x140000000]
mov rcx, qword [r12]
mov rdx, r15
call fcn.1400e91f0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [r12]
call fcn.1400e91f0
mov rax, qword [rsp + 0x30]
mov r10, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
mov eax, dword [rax + 0x34]
mov dword [r10 + 0x3c], eax
test r15, r15
jne 0x1401544ee
test edi, edi
jne 0x1401544ee
mov eax, r13d
jmp 0x1401544f3
mov eax, 1
movsxd rcx, dword [rsp + 0x80]
cdqe
inc rcx
imul rcx, rax
movzx edx, byte [rcx + rsi + 0x1f2d54]
mov esi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
cmp edx, 0x95
je 0x14015456c
mov eax, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0x38]
mov r8d, esi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.14010aeb0
mov rcx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x58]
mov r11, qword [rcx + 8]
test r11, r11
je 0x14015456c
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x60], eax
movsxd rax, dword [rcx + 0x34]
lea rcx, [rax + rax*2]
setne dl
mov byte [r11 + rcx*8 - 0x15], dl
mov rcx, qword [rsp + 0x30]
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x140154582
inc dword [r12 + 0x58]
mov ebx, dword [r12 + 0x58]
jmp 0x140154591
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov ebx, dword [r12 + rax*4 + 0x28]
test dword [r10], 0x300000
je 0x1401545d7
mov r9d, edi
mov r8d, esi
mov edx, 0x1d
mov dword [rsp + 0x20], ebx
call fcn.14010ad10
mov rdi, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x8c]
mov rcx, rdi
mov r8d, ebx
mov edx, 0x49
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r10, qword [rsp + 0x58]
jmp 0x1401545dc
mov rdi, qword [rsp + 0x30]
mov edx, ebx
mov rcx, r12
call fcn.140121e10
mov rdx, rbp
mov rcx, r10
call fcn.140152c30
mov rdx, r15
mov rcx, r10
call fcn.140152c30
cmp dword [rsp + 0x50], r13d
jne 0x14015467a
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x140154619
inc dword [r12 + 0x58]
mov ebx, dword [r12 + 0x58]
jmp 0x140154628
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov ebx, dword [r12 + rax*4 + 0x28]
mov r9d, ebx
mov r8d, esi
mov edx, 0x63
mov rcx, rdi
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r9d, ebx
or r8d, 0xffffffff
mov edx, r14d
mov rcx, r12
call fcn.14011eff0
mov rbp, qword [rsp + 0x30]
mov r9d, ebx
mov r8d, r14d
mov edx, 0x32
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r10, qword [rsp + 0x58]
jmp 0x14015467f
mov rbp, qword [rsp + 0x30]
test dword [r10], 0x4000000
je 0x1401546a3
mov r15, qword [rsp + 0x108]
mov dword [r10 + 0x38], esi
mov rsi, qword [rsp + 0x58]
mov byte [r10 + 0x35], 0x95
jmp 0x140154bf0
cmp dword [rsp + 0x80], r13d
mov r15, qword [rsp + 0x108]
mov ecx, 0x5f
mov edx, 0x5c
mov dword [r10 + 0x38], esi
mov rsi, qword [rsp + 0x58]
cmovne ecx, edx
mov byte [r10 + 0x35], cl
jmp 0x140154bf0
bt edx, 0x1c
jae 0x140154ba7
inc dword [r12 + 0x58]
mov ebx, dword [r12 + 0x58]
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x64], ebx
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x50], r13d
call fcn.14010af50
mov rcx, qword [rsi + 0x10]
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rcx + 0x10]
mov byte [rsi + 0x35], 3
mov dword [rsi + 0x38], ebx
mov esi, dword [rax + 0x24]
mov r15, r13
mov qword [rsp + 0x70], rcx
cmp esi, 1
jle 0x1401547f8
sub esi, dword [rsp + 0xf8]
mov rcx, qword [r12]
dec esi
lea edx, [rsi + rsi*2]
shl edx, 5
add edx, 0x68
call fcn.1400e94d0
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140154772
mov rax, qword [rsp + 0x108]
jmp 0x140154dcb
lea eax, [rsi + 1]
lea rcx, [rbx + 8]
mov rdx, rbp
mov r8d, 0x60
mov word [rbx + 2], ax
mov word [rbx], ax
call fcn.1401bcc22
mov rbp, qword [rsp + 0xf0]
mov rbp, qword [rbp + 0x10]
add rbp, 8
cmp esi, 1
jl 0x140154803
mov rdi, qword [rsp + 0x58]
add rbx, 0x68
add rdi, 0x8c
nop word [rax + rax]
movzx eax, byte [rdi]
mov rcx, rbx
mov r8d, 0x60
lea rdx, [rax + rax*2]
shl rdx, 5
add rdx, rbp
call fcn.1401bcc22
add rdi, 0x58
add rbx, 0x60
dec rsi
jne 0x1401547c0
mov rsi, qword [rsp + 0x48]
movzx edi, word [rsp + 0x100]
jmp 0x140154806
mov rsi, qword [rax + 0x10]
mov qword [rsp + 0x48], rsi
jmp 0x14015480a
mov rsi, rbx
mov ebx, dword [rsp + 0x64]
and di, 8
mov word [rsp + 0x100], di
jne 0x140154848
mov ebp, dword [r12 + 0x58]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
inc ebp
lea edx, [r8 + 0xa]
mov dword [rsp + 0x20], r13d
lea eax, [rbp + 1]
mov r9d, ebp
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x50], eax
mov dword [r12 + 0x58], eax
call fcn.14010ad10
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r9d, ebx
lea edx, [r8 + 7]
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
or ebp, 0xffffffff
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x24]
cmp ecx, 1
jle 0x140154952
mov edi, r13d
test ecx, ecx
jle 0x140154952
mov rbx, r13
mov ecx, 0xfff
mov r14, rax
nop
mov rax, qword [r14 + 0x30]
mov rdx, qword [rbx + rax]
test byte [rdx + 2], 1
jne 0x1401548d2
test byte [rbx + rax + 0x1a], 0x12
jne 0x1401548d2
test word [rbx + rax + 0x18], cx
je 0x1401548d2
mov rcx, qword [r12]
xor r9d, r9d
xor r8d, r8d
call fcn.14011ccc0
mov rcx, qword [r12]
mov rdx, r15
mov r8, rax
call fcn.14011c6b0
mov ecx, 0xfff
mov r15, rax
inc edi
add rbx, 0x38
cmp edi, dword [r14 + 0x24]
jl 0x140154890
mov r14d, dword [rsp + 0x40]
test r15, r15
je 0x140154952
mov rcx, qword [r12]
mov edx, 0x58
call fcn.1400e94d0
mov rbx, rax
test rax, rax
je 0x14015491b
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x58]
call fcn.1401bcc1c
mov eax, 1
mov byte [rbx], 0x45
mov dword [rbx + 0x50], eax
mov word [rbx + 0x36], bp
mov rcx, qword [r12]
mov r9, r15
xor r8d, r8d
mov rdx, rbx
call fcn.14011c4c0
test rbx, rbx
je 0x14015494f
mov rax, qword [r12]
mov r8d, dword [rax + 0x68]
cmp dword [rbx + 0x50], r8d
jle 0x14015494f
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r12
call fcn.1400ebbd0
mov r15, rbx
mov rbx, qword [rsp + 0x70]
mov ebp, r13d
cmp dword [rbx + 0x24], r13d
jle 0x140154abd
mov rdi, r13
mov ecx, 0x200
mov edx, 0xf0
jmp 0x140154985
mov rsi, qword [rsp + 0x48]
mov rax, qword [rbx + 0x30]
cmp dword [rdi + rax + 0xc], r14d
je 0x14015499b
cmp word [rdi + rax + 0x18], cx
jne 0x140154aae
mov r8, qword [rdi + rax]
test r15, r15
je 0x1401549ab
mov qword [r15 + 0x10], r8
mov r8, r15
mov word [rsp + 0x28], dx
xor r9d, r9d
mov rcx, r12
mov rdx, rsi
mov qword [rsp + 0x20], r13
call fcn.140154ea0
mov rsi, rax
test rax, rax
je 0x140154aa4
mov rax, qword [rsp + 0x58]
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rax + 0x34]
lea r8, [rsi + 0x40]
mov word [rsp + 0x28], r13w
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.140153530
cmp word [rsp + 0x100], r13w
jne 0x140154a67
mov eax, dword [rbx + 0x24]
mov ecx, dword [rsp + 0x50]
mov ebx, ebp
dec eax
mov byte [rsp + 0x28], r13b
mov dword [rsp + 0x20], ecx
cmp ebp, eax
mov eax, 0xffffffff
mov r9d, r14d
cmove ebx, eax
mov r8d, eax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x18]
mov rcx, r12
call fcn.14011f130
mov rcx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x60]
mov r9d, dword [rcx + 0x34]
mov edx, 0x72
mov dword [rsp + 0x28], ebx
add r9d, 2
mov dword [rsp + 0x20], eax
call fcn.14010aeb0
mov rbx, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x30]
mov edx, 2
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov eax, dword [rsp + 0x3c]
cmp byte [rsi + 0xb], r13b
mov ecx, 1
cmovne eax, ecx
mov rcx, rsi
mov dword [rsp + 0x3c], eax
call fcn.140155b30
mov edx, 0xf0
mov ecx, 0x200
inc ebp
add rdi, 0x38
cmp ebp, dword [rbx + 0x24]
jl 0x140154980
test r15, r15
je 0x140154ad2
mov qword [r15 + 0x10], r13
mov rcx, qword [r12]
mov rdx, r15
call fcn.14011cb00
mov rbp, qword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov edx, dword [rbp + 0x34]
cmp edx, eax
jbe 0x140154aee
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 8]
mov dword [rax + rcx*8 + 4], edx
mov rsi, qword [rsp + 0x58]
mov ebx, 1
xor r8d, r8d
mov r9d, dword [rsi + 0x24]
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], r13d
call fcn.14010ad10
mov r11, qword [rbp + 0x40]
test r11, r11
je 0x140154b30
movsxd rax, dword [rsp + 0x88]
lea rax, [rax*4 + 4]
sub r11, rax
mov eax, dword [rbp + 0x34]
mov dword [r11], eax
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x24], ebx
jle 0x140154b4b
mov rdx, qword [rsp + 0x48]
mov rcx, qword [r12]
call fcn.1400e91f0
cmp dword [rsp + 0x3c], r13d
jne 0x140154b9d
mov r8, qword [rsp + 0x80]
movzx ecx, byte [r8 + 0x1a]
test cl, 4
jne 0x140154b9d
cmp dword [rsi + 0x18], r13d
je 0x140154b72
mov rax, qword [r8]
test byte [rax + 2], bl
je 0x140154b9d
movsxd rax, dword [r8 + 8]
or cl, 4
mov byte [r8 + 0x1a], cl
test eax, eax
js 0x140154b9d
mov rdx, rax
mov rax, qword [r8 + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x30]
dec byte [rdx + 0x1b]
jne 0x140154b9d
mov rcx, rsi
call fcn.140152c30
mov r15, qword [rsp + 0x108]
jmp 0x140154bf5
mov rbp, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
lea rdx, [0x140000000]
movsxd rcx, ebx
mov r8d, r14d
mov dword [rsp + 0x20], r13d
movzx eax, byte [rcx + rdx + 0x1f2da4]
mov dword [rsi + 0x38], r14d
mov byte [rsi + 0x35], al
movzx edx, byte [rcx + rdx + 0x1f2dbc]
mov rcx, rbp
call fcn.14010ad10
mov byte [rsi + 0x36], 1
inc eax
mov dword [rsi + 0x3c], eax
jmp 0x140154bf0
mov rbp, r10
mov ebx, 1
mov rax, qword [rsp + 0x78]
mov ecx, r13d
mov rax, qword [rax + 8]
mov edx, dword [rax]
test edx, edx
jle 0x140154c1f
add rax, 4
nop dword [rax + rax]
cmp dword [rax], r14d
je 0x140154c5b
inc ecx
add rax, 4
cmp ecx, edx
jl 0x140154c10
mov rax, r13
mov r14, qword [rsp + 0x78]
not rax
mov edi, dword [r14 + 0x24]
mov rbx, qword [r14 + 0x30]
and r15, rax
test edi, edi
jle 0x140154c9b
mov r14, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0x8c]
test byte [rbx + 0x1a], 6
jne 0x140154c87
test qword [rbx + 0x30], r15
je 0x140154c63
mov byte [r14 + 0xb], 1
jmp 0x140154c87
mov rax, rbx
shl rax, cl
jmp 0x140154c22
mov rdx, qword [rbx]
cmp dword [rsi + 0x18], r13d
je 0x140154c72
test byte [rdx + 2], 1
je 0x140154c87
mov r9d, 8
mov r8d, ebp
mov rcx, r12
call fcn.140121350
or byte [rbx + 0x1a], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x140154c48
mov rbp, qword [rsp + 0x30]
mov r14, qword [rsp + 0x78]
mov ebx, dword [rsi + 0x18]
test ebx, ebx
je 0x140154d8b
mov eax, dword [rbp + 0x34]
mov dword [rsi + 0x30], eax
movsxd rdi, dword [rbp + 0x34]
cmp dword [rbp + 0x38], edi
jg 0x140154cc1
mov rcx, rbp
call fcn.14010ac70
test eax, eax
jne 0x140154ced
mov rax, qword [rbp + 8]
inc dword [rbp + 0x34]
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8 + 3], r13b
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov word [rax + rcx*8], 7
lea rcx, [r12 + 0x80]
mov eax, 0xa
nop word [rax + rax]
mov edx, dword [rcx]
test edx, edx
je 0x140154d32
cmp byte [rcx - 8], r13b
je 0x140154d27
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x140154d23
movzx eax, al
mov dword [r12 + rax*4 + 0x28], edx
inc byte [r12 + 0x1f]
mov byte [rcx - 8], r13b
mov rax, qword [rsp + 0x90]
mov dword [rcx], r13d
add rcx, 0x18
dec rax
mov qword [rsp + 0x90], rax
jne 0x140154d00
mov rbx, qword [r14 + 0x30]
mov edi, r13d
cmp dword [r14 + 0x24], r13d
jle 0x140154d8b
mov r13d, dword [rsp + 0x8c]
test byte [rbx + 0x1a], 6
jne 0x140154d7c
test qword [rbx + 0x30], r15
jne 0x140154d7c
mov rdx, qword [rbx]
mov r9d, 8
mov r8d, r13d
mov rcx, r12
call fcn.140121350
or byte [rbx + 0x1a], 4
inc edi
add rbx, 0x38
cmp edi, dword [r14 + 0x24]
jl 0x140154d58
xor r13d, r13d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140154dc8
movzx ecx, byte [r12 + 0x1f]
cmp cl, 8
jae 0x140154dc8
lea rax, [r12 + 0x70]
cmp dword [rax + 0x10], edx
je 0x140154dc4
inc r13d
add rax, 0x18
cmp r13d, 0xa
jl 0x140154da3
movzx eax, cl
mov dword [r12 + rax*4 + 0x28], edx
inc byte [r12 + 0x1f]
jmp 0x140154dc8
mov byte [rax + 8], 1
mov rax, r15
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret