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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
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, 0x78
mov rdi, qword [rcx]
xor ebx, ebx
mov r12, qword [r8 + 0x60]
mov r15, r8
movsxd rsi, edx
mov rbp, rcx
mov qword [rsp + 0x50], r12
mov r14, qword [rdi + 0x10]
mov rax, qword [rdi + 0x60]
mov qword [rdi + 0x60], rbx
mov qword [rsp + 0x58], r14
movsxd rdx, dword [r14 + 0x90]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x40], edx
cmp dword [r14 + 0x94], edx
jg 0x1400b877f
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0xf]
mov rcx, r14
call fcn.140035ae0
mov dword [rsp + 0x40], eax
jmp 0x1400b87a6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rbx
mov qword [rax + rcx*8 + 0x10], rbx
mov qword [rsp + 0x48], rsi
nop dword [rax + rax]
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.1400ac5b0
dec dword [rdi + 0x44]
mov r9d, dword [rdi + 0x38]
mov r13d, dword [r15 + 4]
inc r9d
mov eax, dword [rdi + 0x44]
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x38], r9d
mov dword [r15 + 0x34], r9d
movzx r15d, byte [r15 + 0x40]
mov rbp, qword [rbp + 8]
imul rcx, r15, 0x68
mov dword [rsp + 0x34], r13d
mov rax, qword [rcx + rbp + 0x28]
movsx ecx, word [rax + 0x3a]
mov eax, 0x66666667
imul ecx
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
lea eax, [r8 + r8*4]
add eax, eax
sub ecx, eax
movsxd rdx, ecx
cmp rdx, 5
jb 0x1400b8824
sub rdx, 2
jmp 0x1400b882d
cmp rdx, 1
jb 0x1400b882d
dec rdx
cmp r8w, 0x3c
jg 0x1400b8871
add rdx, 8
movsx ecx, r8w
cmp r8w, 3
jl 0x1400b884b
add ecx, 0xfffffffd
shl rdx, cl
jmp 0x1400b8858
mov eax, 3
sub eax, ecx
movzx ecx, al
shr rdx, cl
cmp rdx, 0x2710
jae 0x1400b8868
mov edx, 0x2710
jmp 0x1400b8876
cmp rdx, 0x989680
jbe 0x1400b8876
mov edx, 0x989680
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1400b889c
mov r8d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x4d
mov rcx, r14
call fcn.140035ae0
jmp 0x1400b88ca
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rdx, dword [r14 + 0x90]
mov dword [rsp + 0x3c], edx
cmp dword [r14 + 0x94], edx
jg 0x1400b88fa
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.140035ae0
mov dword [rsp + 0x3c], eax
jmp 0x1400b8929
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rax + 0x90]
movsxd rax, dword [rax + 0x84]
imul rsi, rax, 0x38
add rsi, rbx
cmp rbx, rsi
jae 0x1400b898a
mov r12d, dword [rsp + 0x38]
test byte [rbx + 0x12], 2
jne 0x1400b897c
mov rcx, qword [rbx]
mov r8d, r15d
mov rdx, rbp
call fcn.140052870
test eax, eax
je 0x1400b897c
mov rdx, qword [rbx]
mov r9d, 0x10
mov r8d, r12d
mov rcx, rdi
call fcn.140059bb0
add rbx, 0x38
cmp rbx, rsi
jb 0x1400b8950
mov r12, qword [rsp + 0x50]
test dword [r12 + 0x38], 0x100
je 0x1400b8aa1
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400b89a9
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
jmp 0x1400b89b8
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0xe0]
movsxd rcx, dword [r14 + 0x90]
xor esi, esi
cmp dword [r14 + 0x94], ecx
jg 0x1400b89e3
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov edx, 0x87
mov rcx, r14
call fcn.140035ae0
jmp 0x1400b8a11
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r15, qword [rsp + 0xd0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400b8a4e
mov r8d, edx
mov dword [rsp + 0x28], 1
mov edx, 0xb4
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov rcx, r14
call fcn.140035b40
jmp 0x1400b8a7e
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xfdb4
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov dword [rax + rcx*8 + 0x10], 1
test ebx, ebx
je 0x1400b8c7d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400b8c7d
mov dword [rdi + rax*4 + 0xe0], ebx
inc byte [rdi + 0x1f]
jmp 0x1400b8c7d
movzx esi, word [r12 + 0x18]
mov r13, qword [r12 + 0x20]
mov dword [rsp + 0x44], esi
cmp esi, 1
jne 0x1400b8ae6
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400b8acd
inc dword [rdi + 0x38]
lea r8, [rdi + 0x28]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x30], eax
jmp 0x1400b8b14
dec al
lea r8, [rdi + 0x28]
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0xe0]
mov dword [rsp + 0x30], eax
jmp 0x1400b8b14
mov ecx, dword [rdi + 0x28]
lea r8, [rdi + 0x28]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x30], edx
cmp esi, ecx
jg 0x1400b8b05
lea eax, [rdx + rsi]
sub ecx, esi
mov dword [rdi + 0x2c], eax
mov dword [r8], ecx
jmp 0x1400b8b14
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
add eax, esi
mov dword [rdi + 0x38], eax
mov dword [rsp + 0x30], ecx
xor r9d, r9d
mov rbx, r8
mov r15d, r9d
test esi, esi
je 0x1400b8be0
mov ebp, dword [rsp + 0x30]
mov r12d, r9d
mov r14, rsi
nop
mov rax, qword [r13 + 8]
movsx ecx, word [rax + r15*2]
cmp cx, 0xfffe
jne 0x1400b8b9c
mov eax, dword [rsp + 0x34]
mov rsi, qword [rdi]
inc eax
mov dword [rdi + 0x40], eax
mov rax, qword [r13 + 0x50]
mov rdx, qword [rax + r12 + 8]
test rdx, rdx
je 0x1400b8b6c
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.140050b60
mov rbx, rax
jmp 0x1400b8b6f
mov rbx, r9
cmp byte [rsi + 0x67], 0
jne 0x1400b8b83
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.140059000
test rbx, rbx
je 0x1400b8b93
mov rdx, rbx
mov rcx, rsi
call fcn.140050850
xor r9d, r9d
mov dword [rdi + 0x40], r9d
jmp 0x1400b8bb8
mov r8d, dword [rsp + 0x34]
mov r9d, ecx
mov rcx, qword [rdi + 0x10]
mov rdx, qword [r13 + 0x18]
mov dword [rsp + 0x20], ebp
call fcn.1400560d0
xor r9d, r9d
inc ebp
inc r15
add r12, 0x20
cmp r15, r14
jl 0x1400b8b30
mov r14, qword [rsp + 0x58]
lea rbx, [rdi + 0x28]
mov esi, dword [rsp + 0x44]
lea r8, [rdi + 0x28]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0xd0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400b8c21
mov eax, dword [rsp + 0x30]
mov r8d, edx
mov edx, 0xb4
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140035b40
mov edx, dword [rsp + 0x30]
jmp 0x1400b8c55
lea eax, [rcx + 1]
mov rbx, r8
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0xfdb4
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0x10], esi
cmp esi, 1
jne 0x1400b8c72
test edx, edx
je 0x1400b8c7b
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400b8c7b
mov dword [rdi + rax*4 + 0xe0], edx
inc byte [rdi + 0x1f]
jmp 0x1400b8c7b
cmp esi, dword [rbx]
jle 0x1400b8c7b
mov dword [rbx], esi
mov dword [rdi + 0x2c], edx
xor esi, esi
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x38]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400b8c9c
mov r8d, edx
mov rdx, r14
call fcn.140036270
jmp 0x1400b8cad
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rbx, dword [rsp + 0x3c]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r15 + 4]
lea edx, [rbx + 1]
cmp dword [r14 + 0x94], ecx
jg 0x1400b8cdf
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x27
mov rcx, r14
call fcn.140035ae0
jmp 0x1400b8d0d
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400b8d26
lea rax, [0x14014ae80]
jmp 0x1400b8d35
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
and dword [r12 + 0x38], 0xffbfffff
mov rax, qword [rdi]
test dword [rax + 0x60], 0x100000
jne 0x1400b8e0d
mov esi, dword [rsp + 0xc8]
mov rbx, qword [rsp + 0x48]
inc esi
mov rbp, qword [rsp + 0xc0]
inc rbx
mov dword [rsp + 0xc8], esi
mov qword [rsp + 0x48], rbx
movzx r10d, byte [rbp + 0x40]
cmp esi, r10d
jge 0x1400b8e02
mov r9, qword [rbp + 8]
mov r14, qword [rsp + 0xd8]
imul rdx, rbx, 0x70
add rdx, 0x3c0
add rdx, rbp
nop
movzx eax, byte [rdx - 0x20]
lea r15, [rdx - 0x60]
imul rcx, rax, 0x68
mov qword [rsp + 0xd0], r15
test byte [rcx + r9 + 0x44], 0x48
jne 0x1400b8ddb
mov r12, qword [rdx]
test r12, r12
je 0x1400b8ddb
test qword [r12], r14
jne 0x1400b8ddb
mov eax, dword [r12 + 0x38]
and eax, 0x400004
cmp eax, 0x400000
je 0x1400b8de9
inc esi
inc rbx
add rdx, 0x70
cmp rbx, r10
jl 0x1400b8da0
mov r14, qword [rsp + 0x58]
cmp esi, r10d
mov dword [rsp + 0xc8], esi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r12
mov ebx, 0
jl 0x1400b87b0
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400b8e25
mov dword [0x14014ae88], edx
jmp 0x1400b8e39
movsxd rax, dword [rsp + 0x40]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x60], rax
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret