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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 8], ecx
push rbx
push rsi
sub rsp, 0x98
mov esi, ecx
mov rbx, r8
imul esi, edx
mov dword [rsp + 0xb8], esi
test r9d, r9d
jle 0x14027090e
mov edx, r9d
lea rcx, [rsp + 0x48]
call fcn.1402549b0
test eax, eax
jne 0x140270906
add rsp, 0x98
pop rsi
pop rbx
ret
mov r9d, dword [rsp + 0xc8]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x68], r15
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140270940
mov rax, qword [rdi + 0x18]
mov qword [rcx], rax
mov rax, qword [rdi + 8]
lea rcx, [rdi + 8]
xor r15d, r15d
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x10], rcx
mov r12d, 1
mov qword [rdi + 0x20], r15
mov qword [rcx], r15
mov edx, dword [rbx]
mov word [rsp + 0x22], r12w
test r9d, r9d
jle 0x1402709c6
mov ecx, dword [rsp + 0x50]
mov eax, edx
imul r8, rax, 0x1e35a7bd
mov rax, qword [rsp + 0x48]
mov r8d, r8d
shr r8, cl
mov ecx, r8d
cmp dword [rax + rcx*4], edx
lea r9, [rax + rcx*4]
jne 0x1402709a0
mov byte [rsp + 0x20], r12b
mov edx, r15d
mov dword [rsp + 0x24], r8d
jmp 0x1402709b0
mov dword [rsp + 0x24], edx
mov dword [r9], edx
mov rdx, qword [rdi + 0x20]
mov byte [rsp + 0x20], r15b
mov rax, qword [rsp + 0x20]
mov rbx, rax
test rdx, rdx
je 0x1402709d4
mov ecx, dword [rdi]
cmp dword [rdx + 0x10], ecx
jne 0x140270a25
jmp 0x1402709d4
mov byte [rsp + 0x20], r15b
mov dword [rsp + 0x24], edx
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rdi + 0x18]
test rdx, rdx
jne 0x140270a08
movsxd rax, dword [rdi]
mov rcx, r12
lea rdx, [rax*8 + 0x18]
call fcn.1401e4960
mov rdx, rax
test rax, rax
jne 0x1402709fe
or dword [rdi + 4], 1
jmp 0x140270a34
add rax, 0x18
mov qword [rdx + 8], rax
jmp 0x140270a0f
mov rax, qword [rdx]
mov qword [rdi + 0x18], rax
mov rax, qword [rdi + 0x10]
mov qword [rax], rdx
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x20], rdx
mov qword [rdx], r15
mov dword [rdx + 0x10], r15d
movsxd rcx, dword [rdx + 0x10]
mov rax, qword [rdx + 8]
mov qword [rax + rcx*8], rbx
inc dword [rdx + 0x10]
mov r13d, r12d
cmp esi, 1
jle 0x140270d43
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x70], r14
nop dword [rax]
mov rcx, qword [rsp + 0xc0]
mov eax, esi
sub eax, r13d
movsxd rbp, r13d
mov r14d, 0xfff
lea rsi, [rcx + rbp*4]
cmp eax, r14d
lea rdx, [rsi - 4]
cmovl r14d, eax
mov eax, dword [rdx]
cmp dword [rsi], eax
je 0x140270a80
mov ebx, r15d
jmp 0x140270a96
mov r8d, r14d
mov rcx, rsi
call qword [0x140813680]
mov rcx, qword [rsp + 0xc0]
mov ebx, eax
movsxd rax, dword [rsp + 0xb0]
cmp r13d, eax
jge 0x140270aa8
mov ebp, r15d
jmp 0x140270ad0
sub rbp, rax
mov eax, dword [rcx + rbp*4]
lea rdx, [rcx + rbp*4]
cmp dword [rsi], eax
je 0x140270abb
mov ebp, r15d
jmp 0x140270ac9
mov r8d, r14d
mov rcx, rsi
call qword [0x140813680]
mov ebp, eax
mov eax, dword [rsp + 0xb0]
cmp ebx, ebp
jl 0x140270b6f
cmp ebx, 4
jl 0x140270b6f
mov r8, qword [rdi + 0x20]
mov byte [rsp + 0x20], 2
mov dword [rsp + 0x24], r12d
mov word [rsp + 0x22], bx
test r8, r8
je 0x140270b01
mov eax, dword [rdi]
cmp dword [r8 + 0x10], eax
jne 0x140270b55
mov r8, qword [rdi + 0x18]
test r8, r8
jne 0x140270b38
movsxd rax, dword [rdi]
mov rcx, r12
lea rdx, [rax*8 + 0x18]
call fcn.1401e4960
mov r8, rax
test rax, rax
jne 0x140270b2e
or dword [rdi + 4], 1
jmp 0x140270d23
add rax, 0x18
mov qword [r8 + 8], rax
jmp 0x140270b3f
mov rax, qword [r8]
mov qword [rdi + 0x18], rax
mov rax, qword [rdi + 0x10]
mov qword [rax], r8
mov qword [rdi + 0x10], r8
mov qword [rdi + 0x20], r8
mov qword [r8], r15
mov dword [r8 + 0x10], r15d
movsxd rdx, dword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov rax, qword [rsp + 0x20]
mov qword [rcx + rdx*8], rax
inc dword [r8 + 0x10]
jmp 0x140270d23
cmp ebp, 4
jl 0x140270c40
mov r8, qword [rdi + 0x20]
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x2c], eax
mov word [rsp + 0x2a], bp
test r8, r8
je 0x140270b97
mov eax, dword [rdi]
cmp dword [r8 + 0x10], eax
jne 0x140270be8
mov r8, qword [rdi + 0x18]
test r8, r8
jne 0x140270bcb
movsxd rax, dword [rdi]
mov rcx, r12
lea rdx, [rax*8 + 0x18]
call fcn.1401e4960
mov r8, rax
test rax, rax
jne 0x140270bc1
or dword [rdi + 4], 1
jmp 0x140270bfd
add rax, 0x18
mov qword [r8 + 8], rax
jmp 0x140270bd2
mov rax, qword [r8]
mov qword [rdi + 0x18], rax
mov rax, qword [rdi + 0x10]
mov qword [rax], r8
mov qword [rdi + 0x10], r8
mov qword [rdi + 0x20], r8
mov qword [r8], r15
mov dword [r8 + 0x10], r15d
movsxd rdx, dword [r8 + 0x10]
mov rcx, qword [r8 + 8]
mov rax, qword [rsp + 0x28]
mov qword [rcx + rdx*8], rax
inc dword [r8 + 0x10]
cmp dword [rsp + 0xc8], r15d
jle 0x140270c39
mov r8d, ebp
nop word [rax + rax]
mov edx, dword [rsi]
lea rsi, [rsi + 4]
mov ecx, dword [rsp + 0x50]
mov eax, edx
imul rax, rax, 0x1e35a7bd
mov eax, eax
shr rax, cl
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
mov dword [rax + rcx*4], edx
sub r8, 1
jne 0x140270c10
mov ebx, ebp
jmp 0x140270d23
mov edx, dword [rsi]
cmp dword [rsp + 0xc8], r15d
jle 0x140270c9c
mov ecx, dword [rsp + 0x50]
mov eax, edx
imul r8, rax, 0x1e35a7bd
mov rax, qword [rsp + 0x48]
mov r8d, r8d
shr r8, cl
mov ecx, r8d
cmp dword [rax + rcx*4], edx
jne 0x140270c83
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], r8d
mov word [rsp + 0x32], r12w
mov rbx, qword [rsp + 0x30]
jmp 0x140270cb0
mov byte [rsp + 0x38], r15b
mov dword [rsp + 0x3c], edx
mov word [rsp + 0x3a], r12w
mov rbx, qword [rsp + 0x38]
mov dword [rax + rcx*4], edx
jmp 0x140270cb0
mov byte [rsp + 0x40], r15b
mov dword [rsp + 0x44], edx
mov word [rsp + 0x42], r12w
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x140270cc0
mov eax, dword [rdi]
cmp dword [rdx + 0x10], eax
jne 0x140270d11
mov rdx, qword [rdi + 0x18]
test rdx, rdx
jne 0x140270cf4
movsxd rax, dword [rdi]
mov rcx, r12
lea rdx, [rax*8 + 0x18]
call fcn.1401e4960
mov rdx, rax
test rax, rax
jne 0x140270cea
or dword [rdi + 4], 1
jmp 0x140270d20
add rax, 0x18
mov qword [rdx + 8], rax
jmp 0x140270cfb
mov rax, qword [rdx]
mov qword [rdi + 0x18], rax
mov rax, qword [rdi + 0x10]
mov qword [rax], rdx
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x20], rdx
mov qword [rdx], r15
mov dword [rdx + 0x10], r15d
movsxd rcx, dword [rdx + 0x10]
mov rax, qword [rdx + 8]
mov qword [rax + rcx*8], rbx
inc dword [rdx + 0x10]
mov ebx, r12d
mov esi, dword [rsp + 0xb8]
add r13d, ebx
cmp r13d, esi
jl 0x140270a50
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
cmp dword [rsp + 0xc8], r15d
jle 0x140270d64
lea rcx, [rsp + 0x48]
call fcn.140254a40
cmp dword [rdi + 4], r15d
mov rdi, qword [rsp + 0x88]
sete r15b
mov eax, r15d
mov r15, qword [rsp + 0x68]
add rsp, 0x98
pop rsi
pop rbx
ret