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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3a8
mov rax, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
lea r10, [rsp + 0xf0]
mov rbp, qword [rax + 0x20]
mov r9, rcx
mov qword [rsp + 0x3f8], rdx
mov qword [rsp + 0x400], r8
mov rdx, qword [rcx]
mov rdi, r10
mov ecx, 7
movsxd r8, dword [rax + 0x14]
mov qword [rsp + 0x38], rax
xor eax, eax
rep stosq qword [rdi], rax
movzx eax, byte [r12 + 0x10]
mov rdx, qword [rdx + 8]
imul rax, rax, 0x68
lea rdx, [rdx + rax + 8]
test byte [rdx + 0x3c], 0x10
mov r11d, dword [rdx + 0x44]
jne 0x14037d898
imul r8, r8, 0x38
lea r13, [rbp + r8]
cmp rbp, r13
jae 0x14037d898
mov rdi, r13
mov r14, rdx
mov rsi, r9
test byte [rbp + 0x15], 2
je 0x14037d88f
mov rdx, qword [rbp + 0x20]
mov rax, qword [rdx + 0x1e8]
and rax, qword [r12 + 8]
jne 0x14037d8b0
add rbp, 0x38
cmp rbp, rdi
jb 0x14037d877
xor eax, eax
add rsp, 0x3a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rax, dword [rdx + 0x14]
mov r15, qword [rdx + 0x20]
imul rax, rax, 0x38
lea rdx, [r15 + rax]
mov rax, qword [rsi]
cmp r15, rdx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0xc8], rax
jae 0x14037de99
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x80], r12
mov r13d, 1
xor ebx, ebx
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x138]
mov r12, r10
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x3f0], rsi
mov rsi, rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0xa8], r11d
mov qword [rsp + 0x88], rbp
jmp 0x14037da08
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0xb8], rax
xor eax, eax
mov word [rsp + 0x130], ax
mov rax, qword [r14 + 0x20]
cmp byte [rax + 0x3f], 1
je 0x14037da70
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddBtree
mov ebx, eax
test ebx, ebx
je 0x14037da94
movzx r8d, word [rsp + 0x130]
test r8w, r8w
je 0x14037de60
test r13d, r13d
je 0x14037dab8
mov word [rsp + 0xf0], r8w
mov rdx, qword [rsp + 0x68]
shl r8, 4
mov rcx, qword [rsp + 0x60]
call sym.memcpy
xor r13d, r13d
add r15, 0x38
cmp r15, rsi
jae 0x14037dd70
test byte [r15 + 0x15], 4
jne 0x14037d980
mov eax, dword [rsp + 0xa8]
cmp dword [r15 + 0x1c], eax
jne 0x14037d9fb
mov rax, qword [rsp + 0x38]
movq xmm0, qword [rax]
mov byte [rsp + 0x1c0], 0x2c
lea rax, [rsp + 0x1b0]
mov dword [rsp + 0x1c4], 1
movhps xmm0, qword [rsp + 0x38]
mov qword [rsp + 0x1d0], r15
movaps xmmword [rsp + 0x1b0], xmm0
mov dword [rsp + 0x1cc], 1
jmp 0x14037d984
mov r8, qword [rsp + 0x400]
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddVirtual
mov ebx, eax
test ebx, ebx
jne 0x14037d9c0
mov r8, qword [rsp + 0x400]
mov rdx, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x48]
call sym.whereLoopAddOr
mov ebx, eax
jmp 0x14037d9c0
movzx r8d, word [rsp + 0xf0]
lea rcx, [rsp + 0x178]
lea rdx, [rsp + 0xf8]
lea rdi, [rsp + 0x170]
mov r13, r8
shl r8, 4
call sym.memcpy
xor r9d, r9d
test r13w, r13w
mov word [rsp + 0xf0], r9w
je 0x14037d9f8
lea edx, [r13 - 1]
mov rax, rdi
mov qword [rsp + 0x90], r14
shl rdx, 4
mov qword [rsp + 0x98], rsi
lea rdi, [rdi + rdx]
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0x70], rdi
lea rdi, [rsp + 0x138]
mov qword [rsp + 0x28], rdi
lea rdi, [rsp + 0x142]
mov qword [rsp + 0x30], rdi
lea rdi, [rsp + 0x140]
mov dword [rsp + 0xac], ebx
movsx r14d, word [rax + 0x12]
xor ebx, ebx
mov qword [rsp + 0x58], rax
movsx r13d, word [rax + 0x10]
mov rsi, qword [rax + 8]
lea ecx, [r14 + 0x31]
mov ebp, r14d
mov dword [rsp + 0x44], ecx
lea ecx, [r14 + 0x1f]
mov r15d, r13d
mov dword [rsp + 0x54], ecx
lea ecx, [r13 + 0x31]
mov dword [rsp + 0x50], ecx
mov rax, qword [rsp + 0x30]
mov rdx, rbx
shl rdx, 4
movsx r9d, word [rax + rdx]
cmp r9w, bp
mov ecx, r9d
jg 0x14037dc90
lea ecx, [r9 + 0x31]
cmp ecx, r14d
jl 0x14037dcc0
lea ecx, [r9 + 0x1f]
cmp ecx, r14d
jge 0x14037dd20
lea r9d, [rbp + 1]
movsx r9d, r9w
nop dword [rax + rax]
movsx r8d, word [rdi + rdx]
cmp r8w, r15w
mov ecx, r8d
jg 0x14037dc70
lea ecx, [r8 + 0x31]
cmp ecx, r13d
jl 0x14037dcb0
lea ecx, [r8 + 0x1f]
cmp ecx, r13d
jge 0x14037dcd0
lea r8d, [r15 + 1]
movsx r8d, r8w
nop dword [rax]
mov rcx, qword [rsp + 0x28]
add rbx, 1
mov rax, qword [rcx + rdx]
mov rcx, r12
or rax, rsi
mov rdx, rax
call sym.whereOrInsert.isra.0
movzx ecx, word [rsp + 0x130]
cmp ecx, ebx
jg 0x14037db83
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x70], rax
je 0x14037dc44
add rax, 0x10
test cx, cx
jne 0x14037db50
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
mov ebx, dword [rsp + 0xac]
jmp 0x14037d9f8
cmp dword [rsp + 0x50], r8d
jl 0x14037dc00
lea r10d, [r13 + 0x1f]
cmp r10d, r8d
jge 0x14037dd48
add ecx, 1
movsx r8d, cx
jmp 0x14037dc00
cmp dword [rsp + 0x44], r9d
jl 0x14037dbc8
cmp dword [rsp + 0x54], r9d
jge 0x14037dcf8
add ecx, 1
movsx r9d, cx
jmp 0x14037dbc8
mov r8d, r13d
jmp 0x14037dc00
mov r9d, r14d
jmp 0x14037dbc8
lea rax, str._n_n_t_t_b_b_a_a_a
mov ecx, r13d
sub ecx, r8d
movsxd rcx, ecx
movzx r8d, byte [rax + rcx]
add r8d, r15d
movsx r8d, r8w
jmp 0x14037dc00
lea rax, str._n_n_t_t_b_b_a_a_a
sub r9d, r14d
movsxd r9, r9d
movzx r9d, byte [rax + r9]
add r9d, ecx
movsx r9d, r9w
jmp 0x14037dbc8
lea rax, str._n_n_t_t_b_b_a_a_a
mov ecx, r14d
sub ecx, r9d
movsxd rcx, ecx
movzx r9d, byte [rax + rcx]
add r9d, ebp
movsx r9d, r9w
jmp 0x14037dbc8
lea rax, str._n_n_t_t_b_b_a_a_a
sub r8d, r13d
movsxd r8, r8d
movzx r8d, byte [rax + r8]
add r8d, ecx
movsx r8d, r8w
jmp 0x14037dc00
mov r10, r12
mov rdi, qword [rsp + 0x78]
mov r11d, dword [rsp + 0xa8]
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x3f0]
mov r12, qword [rsp + 0x80]
mov rax, qword [r12 + 0x48]
xor r8d, r8d
mov ecx, 1
test ebx, ebx
mov word [r12 + 0x3c], cx
mov qword [rax], rbp
mov dword [r12 + 0x38], 0x2000
mov word [r12 + 0x12], r8w
mov byte [r12 + 0x11], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0
mov qword [r12 + 0x30], 0
jne 0x14037deec
movzx r13d, word [rsp + 0xf0]
mov rbx, r12
mov r15, r10
mov dword [rsp + 0x28], r11d
mov r12, r10
shl r13, 4
add r13, r10
jmp 0x14037de46
movzx eax, word [r15 + 0x10]
mov rcx, rsi
add r15, 0x10
lea edx, [rax + 1]
movzx eax, word [r15 + 2]
movzx edx, dx
shl eax, 0x10
or eax, edx
mov rdx, rbx
mov dword [rbx + 0x14], eax
mov rax, qword [r15 - 8]
mov qword [rbx], rax
call sym.whereLoopInsert
test eax, eax
jne 0x14037d89a
cmp r13, r15
jne 0x14037de10
mov r10, r12
mov r11d, dword [rsp + 0x28]
mov r12, rbx
jmp 0x14037d88f
xor r13d, r13d
mov r10, r12
mov rdi, qword [rsp + 0x78]
mov r11d, dword [rsp + 0xa8]
mov word [rsp + 0xf0], r13w
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x3f0]
mov r12, qword [rsp + 0x80]
jmp 0x14037dd98
mov eax, 1
xor edx, edx
mov word [r12 + 0x3c], ax
mov rax, qword [r12 + 0x48]
mov qword [rax], rbp
mov dword [r12 + 0x38], 0x2000
mov word [r12 + 0x12], dx
mov byte [r12 + 0x11], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0
mov qword [r12 + 0x30], 0
jmp 0x14037ddef
mov eax, ebx
jmp 0x14037d89a