Function at 0x140173260
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, 0xa8
xor eax, eax
mov esi, 0x100
lea r14, [rsp + 0x40]
mov r12, rcx
mov ecx, 0xb
mov rbp, r8
mov rdi, r14
mov qword [rsp + 0xf8], rdx
mov rbx, r9
rep stosq qword [rdi], rax
mov eax, dword [r8]
mov rcx, r12
and eax, 0xc000
cmp eax, 0x8000
mov eax, 0x14
cmove esi, eax
mov edx, esi
call fcn.140171bd0
mov rcx, qword [rsp + 0xf8]
mov edx, esi
lea edi, [rax + 1]
call fcn.140171bd0
lea r13d, [rax + 1]
mov eax, dword [rbp]
lea r15d, [rdi + r13]
lea esi, [r15 + 1]
mov dword [rsp + 0x90], eax
mov ecx, esi
call fcn.140171e40
mov edx, 0x28
mov ecx, eax
mov dword [rsp + 0x40], eax
mov eax, 1
shl eax, cl
test esi, esi
mov dword [rsp + 0x44], eax
lea eax, [r15 + 4]
lea r15, [rsp + 0x50]
cmovns eax, esi
mov rcx, r15
sar eax, 2
lea r8d, [rax + 1]
call fcn.14016fb40
test eax, eax
js 0x140173369
movsxd rcx, dword [rsp + 0x44]
mov edx, 8
call fcn.1400bc480
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1401737e3
mov dword [rsp + 0x88], esi
test esi, esi
jns 0x140173388
mov qword [rsp + 0x80], 0
mov rsi, qword [0x14019f130]
mov rcx, rax
call qword [rsi + 0x10]
mov rcx, r15
call fcn.14016fb10
mov eax, 0xffffffff
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rcx, esi
mov rsi, qword [0x14019f130]
mov r8d, 0x13
lea rdx, [0x140191c40]
shl rcx, 3
call qword [rsi]
test rax, rax
je 0x140173780
mov qword [rsp + 0x28], rbx
mov r9, rbp
mov r8d, edi
mov rdx, r12
mov qword [rsp + 0x20], r14
mov ecx, 1
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x8c], 0
call fcn.140172dd0
test eax, eax
js 0x1401737d0
lea rdi, [rbx + 0x70]
mov qword [rsp + 0x20], r14
mov r9, rbp
mov r8d, r13d
mov qword [rsp + 0x28], rdi
mov rdx, qword [rsp + 0xf8]
mov ecx, 2
call fcn.140172dd0
test eax, eax
js 0x1401737c8
mov eax, dword [rbp]
and eax, 0xc000
sub eax, 0x4000
test eax, 0xffff8000
je 0x1401736e5
mov r9d, dword [rbx + 0xa0]
mov r10d, dword [rbx + 0x30]
mov rbp, qword [rbx + 0x48]
mov r8, qword [rbx + 0xb8]
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
test r11d, r11d
jle 0x14017379b
movsxd r12, r11d
xor eax, eax
jmp 0x140173470
lea rdx, [rax + 1]
cmp r12, rdx
je 0x140173770
mov rax, rdx
mov rdx, qword [r8 + rax*8]
mov rcx, qword [rbp + rax*8]
mov edx, dword [rdx + 0x14]
cmp dword [rcx + 0x14], edx
je 0x140173460
movsxd rdx, r10d
sub r11d, eax
mov dword [rbx + 0xb0], eax
lea rbp, [rbp + rdx*8 - 8]
movsxd rdx, r9d
mov dword [rbx + 0x40], eax
lea r12, [r8 + rdx*8 - 8]
test r11d, r11d
jle 0x1401737ac
xor eax, eax
xor edx, edx
jmp 0x1401734c0
add edx, 1
sub rax, 8
cmp r11d, edx
je 0x140173758
mov rcx, qword [r12 + rax]
mov r8, qword [rbp + rax]
mov ecx, dword [rcx + 0x14]
cmp dword [r8 + 0x14], ecx
je 0x1401734b0
mov ecx, r10d
mov eax, r9d
sub ecx, edx
sub eax, edx
lea edx, [rcx - 1]
sub eax, 1
lea ecx, [r9 + r10 + 2]
mov dword [rbx + 0x44], edx
movsxd rcx, ecx
mov edx, 1
mov dword [rbx + 0xb4], eax
call fcn.1400bc480
mov rbp, rax
test rax, rax
je 0x1401737c0
movsxd rax, dword [rbx + 0x30]
mov rcx, rax
lea r12, [rbp + rax + 1]
call fcn.14016f840
mov r8, qword [rbx + 0x48]
mov r9d, eax
mov eax, 0x400
cmp r9d, eax
cmovg r9d, eax
movsxd rax, dword [rbx + 0x40]
cmp eax, dword [rbx + 0x44]
jg 0x140173577
nop word cs:[rax + rax]
mov rdx, qword [r8 + rax*8]
mov ecx, dword [rdx + 0x14]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdx + rcx*8]
xor edx, edx
test rcx, rcx
je 0x14017356a
mov ecx, dword [rcx + 0x24]
test ecx, ecx
je 0x14017356a
cmp r9d, ecx
setle dl
add edx, 1
mov byte [rbp + rax], dl
add rax, 1
cmp dword [rbx + 0x44], eax
jge 0x140173540
mov ecx, dword [rbx + 0xa0]
call fcn.14016f840
mov r8, qword [rbx + 0xb8]
mov r9d, eax
mov eax, 0x400
cmp r9d, eax
cmovg r9d, eax
movsxd rax, dword [rbx + 0xb0]
cmp eax, dword [rbx + 0xb4]
jg 0x1401735ea
nop word [rax + rax]
mov rdx, qword [r8 + rax*8]
mov ecx, dword [rdx + 0x14]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdx + rcx*8]
xor edx, edx
test rcx, rcx
je 0x1401735da
mov ecx, dword [rcx + 0x20]
test ecx, ecx
je 0x1401735da
cmp r9d, ecx
setle dl
add edx, 1
mov byte [r12 + rax], dl
add rax, 1
cmp dword [rbx + 0xb4], eax
jge 0x1401735b0
movsxd rdi, dword [rbx + 0x40]
mov r9d, dword [rbx + 0x44]
xor r13d, r13d
mov r14, qword [rbx + 0x48]
cmp edi, r9d
jle 0x14017361d
jmp 0x140173651
cmp al, 2
je 0x140173710
mov rax, qword [rbx + 0x50]
mov byte [rax + rdi], 1
mov r9d, dword [rbx + 0x44]
add rdi, 1
cmp r9d, edi
jl 0x140173651
movzx eax, byte [rbp + rdi]
mov edx, edi
cmp al, 1
jne 0x140173600
mov rcx, qword [rbx + 0x58]
movsxd rax, r13d
add r13d, 1
mov dword [rcx + rax*4], edx
mov rdx, qword [r14 + rdi*8]
add rdi, 1
mov ecx, dword [rdx + 0x14]
mov rdx, qword [rbx + 0x68]
mov dword [rdx + rax*4], ecx
mov r9d, dword [rbx + 0x44]
cmp r9d, edi
jge 0x14017361d
movsxd rdi, dword [rbx + 0xb0]
mov r9d, dword [rbx + 0xb4]
mov dword [rbx + 0x60], r13d
xor r13d, r13d
mov r14, qword [rbx + 0xb8]
cmp r9d, edi
jge 0x14017369b
jmp 0x1401736d8
cmp al, 2
je 0x140173730
mov rax, qword [rbx + 0xc0]
mov byte [rax + rdi], 1
mov r9d, dword [rbx + 0xb4]
add rdi, 1
cmp r9d, edi
jl 0x1401736d8
movzx eax, byte [r12 + rdi]
mov edx, edi
cmp al, 1
jne 0x140173678
mov rcx, qword [rbx + 0xc8]
movsxd rax, r13d
add r13d, 1
mov dword [rcx + rax*4], edx
mov rdx, qword [r14 + rdi*8]
add rdi, 1
mov ecx, dword [rdx + 0x14]
mov rdx, qword [rbx + 0xd8]
mov dword [rdx + rax*4], ecx
mov r9d, dword [rbx + 0xb4]
cmp r9d, edi
jge 0x14017369b
mov dword [rbx + 0xd0], r13d
mov rcx, rbp
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x80]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x48]
call qword [rsi + 0x10]
mov rcx, r15
call fcn.14016fb10
xor eax, eax
jmp 0x14017336e
mov r8d, dword [rbx + 0x40]
mov rcx, rbp
mov dword [rsp + 0x3c], edi
call fcn.140170140
mov edx, edi
test eax, eax
jne 0x140173608
jmp 0x140173628
mov r8d, dword [rbx + 0xb0]
mov rcx, r12
mov dword [rsp + 0x3c], edi
call fcn.140170140
mov edx, edi
test eax, eax
jne 0x140173680
jmp 0x1401736a6
mov ecx, r10d
mov eax, r9d
sub ecx, r11d
sub eax, r11d
jmp 0x1401734dc
add eax, 1
jmp 0x140173481
call fcn.1400da310
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x80], 0
jmp 0x14017335b
mov dword [rbx + 0xb0], 0
mov dword [rbx + 0x40], 0
mov eax, r9d
mov ecx, r10d
jmp 0x1401734dc
mov rcx, rdi
call fcn.140171a40
mov rcx, rbx
call fcn.140171a40
mov rcx, qword [rsp + 0x80]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x48]
call qword [rsi + 0x10]
mov rcx, r15
call fcn.14016fb10
jmp 0x140173369