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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x150
mov qword [rax - 0x20], rbx
mov rbx, qword [rcx + 0x18]
mov qword [rax - 0x28], rsi
mov qword [rax - 0x30], rdi
xor edi, edi
mov r14, rcx
mov qword [rsp + 0x28], rbx
mov qword [rax - 0x40], r13
mov dword [rsp + 0x30], edi
cmp qword [rcx + 0x90], rdi
jne 0x180116203
call fcn.18010e190
mov qword [r14 + 0x88], rax
cmp dword [r14 + 0x3c], edi
jne 0x180116203
mov rcx, r14
call fcn.18010e0d0
mov qword [r14 + 0x90], rax
lea r13, [r14 + 0x3c]
mov qword [rsp + 0x70], r13
cmp dword [r13], edi
je 0x180116217
xor r15d, r15d
jmp 0x180116227
mov rax, qword [r14 + 0x90]
inc dword [rax]
mov r15, qword [r14 + 0x90]
mov rcx, qword [r14 + 0x90]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
test rcx, rcx
je 0x180116249
call fcn.18010d6e0
mov qword [r14 + 0x90], rdi
cmp dword [rbx + 0x10], edi
je 0x1801168c6
mov rdx, r15
mov rcx, r14
call fcn.180113360
mov dword [rsp + 0x58], eax
test eax, eax
je 0x1801168c6
mov rcx, qword [r14]
mov qword [rsp + 0x130], r12
lea rdx, [rbp - 0x70]
mov r12d, dword [rcx + 0x88]
mov esi, dword [rcx + 0xb0]
movsxd rdi, dword [rcx + 0x5c]
mov r8d, eax
mov rcx, r14
mov dword [rbp + 0x80], r12d
mov dword [rbp + 0x88], esi
call fcn.1801141c0
cmp dword [r13], 0
jne 0x1801162bd
lea r9, [rbx + 0x18]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.18010ce50
mov dword [r13], eax
cmp dword [r13], 0
mov qword [rsp + 0x68], rdi
jne 0x18011680f
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
mov r9, qword [rsp + 0x28]
nop dword [rax]
mov rsi, qword [r9 + 0x18]
test rsi, rsi
je 0x180116801
or rcx, 0xffffffffffffffff
lea rdx, [rsi + 0x30]
xor eax, eax
mov rdi, rdx
mov qword [rsp + 0x60], rdx
xor r8d, r8d
repne scasb al, byte [rdi]
mov rdx, rsi
not rcx
lea rdi, [rcx - 1]
mov rcx, r9
call fcn.18010c780
mov r11d, dword [rsi + 0x18]
lea edx, [rdi + 1]
sub r11d, edi
or rcx, 0xffffffffffffffff
lea r8, [rsi + 0x30]
xor eax, eax
sub r11d, 0x31
mov rdi, r8
repne scasb al, byte [rdi]
mov edi, dword [rbp + 0x88]
movsxd rdx, edx
add rdx, r8
not rcx
mov dword [rbp + 0x78], r11d
dec rcx
mov qword [rsp + 0x20], rdx
mov qword [rbp + 0x10], rcx
test edi, edi
jne 0x1801163b0
mov r9, r8
mov r8d, ecx
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180113c80
cmp dword [r14 + 0x3c], edi
lea r13, [r14 + 0x3c]
jne 0x180116805
movsxd rbx, dword [rbp - 0x58]
mov r13d, dword [rbp - 0x48]
movsxd r11, dword [rbp + 0x78]
mov r15, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x20]
lea eax, [rbx + r13]
lea ecx, [rax + r11 + 1]
cmp r12d, ecx
jl 0x1801163b0
lea rcx, [r15 + rbx]
mov r8, r11
call fcn.1801278d0
add ebx, dword [rbp + 0x78]
mov dword [rbp - 0x58], ebx
jmp 0x1801164d1
xor eax, eax
test edi, edi
lea rdi, [r14 + 0x3c]
sete al
xor esi, esi
xor r12d, r12d
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x78], rsi
cmp dword [rdi], esi
jne 0x1801167e8
cmp r12d, r11d
jge 0x1801164d1
movsxd rax, r12d
mov qword [rsp + 0x38], 0
movzx r8d, byte [rax + rdx]
lea rcx, [rax + rdx]
test r8b, r8b
js 0x1801163fb
mov ecx, r8d
mov al, 1
jmp 0x18011640f
lea rdx, [rsp + 0x38]
call fcn.180125af0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
add rsi, rcx
mov ecx, dword [rbp + 0x88]
movzx eax, al
add r12d, eax
mov qword [rbp + 0x18], rsi
mov dword [rsp + 0x38], r12d
test ecx, ecx
je 0x1801164fa
cmp qword [rsp + 0x68], 1
jne 0x18011648d
cmp r12d, r11d
jge 0x1801164fa
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x1801164fa
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r14
call fcn.1801160c0
mov r11d, dword [rbp + 0x78]
mov rdx, qword [rsp + 0x20]
inc r12d
cmp r12d, r11d
jge 0x1801164c8
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x1801164c8
inc r12d
xor r11d, r11d
mov dword [rbp + 0x78], r11d
mov dword [rsp + 0x38], r12d
jmp 0x1801164fa
movsxd rdi, r12d
test byte [rdi + rdx], 1
je 0x1801164f6
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r14
call fcn.1801160c0
cmp dword [r14 + 0x3c], 0
mov rdx, qword [rsp + 0x20]
jne 0x1801164bd
cmp byte [rdi + rdx], 1
jne 0x1801164f6
inc r12d
mov r11d, dword [rbp + 0x78]
lea rdi, [r14 + 0x3c]
cmp dword [rdi], 0
je 0x1801163d1
cmp dword [r14 + 0x3c], 0
mov r9, qword [rsp + 0x28]
lea rsi, [r14 + 0x3c]
jne 0x1801167f4
mov rax, qword [r9 + 0x18]
mov rdx, qword [rax + 8]
mov qword [r9 + 0x18], rdx
jmp 0x1801167f1
lea rdi, [r14 + 0x3c]
cmp dword [rdi], 0
jne 0x18011652f
cmp dword [rsp + 0x40], 0
jne 0x18011652f
mov r9, qword [rsp + 0x60]
mov r8d, dword [rbp + 0x10]
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180113c80
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
mov eax, 1
mov dword [rsp + 0x40], eax
movsxd rcx, ebx
add rcx, r15
cmp byte [rbp - 0x27], 0
je 0x1801165b4
movzx eax, word [rbp - 0x58]
shr ax, 8
mov byte [r15], al
movzx eax, byte [rbp - 0x58]
mov byte [r15 + 1], al
cmp rsi, 0x7f
ja 0x180116563
movzx eax, sil
and al, 0x7f
mov byte [rcx], al
mov eax, 1
jmp 0x18011658f
cmp rsi, 0x3fff
ja 0x180116587
mov rax, rsi
shr rax, 7
or al, 0x80
mov byte [rcx], al
movzx eax, sil
and al, 0x7f
mov byte [rcx + 1], al
mov eax, 2
jmp 0x18011658f
mov rdx, rsi
call fcn.180125ca0
add ebx, eax
lea rdx, [rbp - 0x70]
mov r8, rsi
mov rcx, r14
mov byte [rbp - 0x27], 0
mov dword [rbp - 0x58], ebx
call fcn.180113910
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
jmp 0x1801165f9
mov rdx, rsi
sub rdx, qword [rsp + 0x78]
cmp rdx, 0x7f
ja 0x1801165ce
and dl, 0x7f
mov eax, 1
mov byte [rcx], dl
jmp 0x1801165f4
cmp rdx, 0x3fff
ja 0x1801165ef
mov rax, rdx
shr rax, 7
or al, 0x80
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, 2
jmp 0x1801165f4
call fcn.180125ca0
add ebx, eax
mov dword [rbp - 0x58], ebx
cmp dword [r14 + 0x3c], 0
jne 0x1801167e8
cmp qword [rsp + 0x68], 1
mov qword [rsp + 0x78], rsi
jne 0x180116687
mov r11d, dword [rbp + 0x78]
mov rdx, qword [rsp + 0x20]
cmp r12d, r11d
jge 0x180116656
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116656
movsxd rax, ebx
inc ebx
inc r12d
mov byte [rax + r15], 0
mov dword [rbp - 0x58], ebx
cmp r12d, r11d
jge 0x180116656
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116656
movsxd rax, ebx
inc ebx
inc r12d
mov byte [rax + r15], 0
mov dword [rbp - 0x58], ebx
lea eax, [rbx + r13]
cmp eax, dword [rbp + 0x80]
jl 0x1801164c4
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180113b30
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
mov rdx, qword [rsp + 0x20]
jmp 0x1801164c0
movsxd r14, r12d
mov edi, 1
add r14, qword [rsp + 0x20]
movzx ecx, byte [r14]
test cl, cl
jns 0x180116707
movzx edx, byte [r14 + 1]
test dl, dl
js 0x1801166b4
and ecx, 0x7f
mov edi, 2
shl ecx, 7
or ecx, edx
jmp 0x180116707
movzx eax, byte [r14 + 2]
shl ecx, 0xe
or ecx, eax
mov eax, ecx
test cl, cl
js 0x1801166da
mov ecx, edx
and eax, 0x1fc07f
mov edi, 3
and ecx, 0x7f
shl ecx, 7
or ecx, eax
jmp 0x180116707
movzx r8d, byte [r14]
test r8b, r8b
js 0x1801166f0
mov ecx, r8d
movzx eax, dil
mov qword [rbp - 0x80], rcx
jmp 0x180116700
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.180125af0
mov rcx, qword [rbp - 0x80]
btr ecx, 0x1f
movzx edi, al
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r13d, [rdi + rax]
mov eax, dword [rbp - 0x48]
lea ecx, [rbx + rax]
mov eax, dword [rbp + 0x80]
add ecx, r13d
cmp ecx, eax
jg 0x180116741
movsxd rcx, ebx
movsxd r8, r13d
mov rdx, r14
add rcx, r15
call fcn.1801278d0
add ebx, r13d
mov dword [rbp - 0x58], ebx
jmp 0x1801167ca
mov r12d, dword [rbp - 0x48]
xor esi, esi
jmp 0x180116756
mov eax, dword [rbp + 0x80]
mov edx, eax
mov edi, r13d
sub edx, ebx
sub edi, esi
sub edx, r12d
cmp edi, edx
jle 0x180116773
movsxd rcx, esi
add rcx, r14
call fcn.1801152e0
mov edi, eax
movsxd rdx, esi
movsxd rcx, ebx
movsxd r8, edi
add rdx, r14
add rcx, r15
call fcn.1801278d0
add ebx, edi
add esi, edi
lea eax, [rbx + r12]
mov dword [rbp - 0x58], ebx
cmp eax, dword [rbp + 0x80]
jl 0x1801167b2
mov rcx, qword [rbp + 0x70]
lea rdx, [rbp - 0x70]
call fcn.180113b30
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
cmp esi, r13d
jge 0x1801167c1
mov rax, qword [rsp + 0x70]
cmp dword [rax], 0
je 0x180116750
mov r12d, dword [rsp + 0x38]
mov rsi, qword [rbp + 0x18]
mov r14, qword [rbp + 0x70]
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x20]
mov r11d, dword [rbp + 0x78]
add r12d, r13d
mov r13d, dword [rbp - 0x48]
jmp 0x1801164c8
mov r9, qword [rsp + 0x28]
lea rsi, [r14 + 0x3c]
cmp dword [rsi], 0
mov r12d, dword [rbp + 0x80]
je 0x1801162e0
lea r13, [r14 + 0x3c]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.18010c500
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180114000
mov edi, dword [rsp + 0x30]
mov r12, qword [rsp + 0x130]
test edi, edi
jle 0x1801168c6
cmp dword [r15 + 0x1c], 0
jne 0x180116855
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.18010df50
mov r15, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rcx, r13
call fcn.18010dfe0
cmp dword [r13], 0
jne 0x1801168b9
movsxd rax, dword [r15 + 0x24]
mov rcx, rax
imul rcx, rcx, 0x38
add rcx, qword [r15 + 0x28]
inc eax
mov dword [r15 + 0x24], eax
mov eax, dword [rsp + 0x58]
mov dword [rcx + 4], 1
mov dword [rcx], eax
mov dword [rcx + 8], edi
cmp qword [r15 + 0x10], 0
jbe 0x1801168b5
mov rax, qword [r15 + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [r15 + 0x10]
mov qword [rcx + 0x18], rax
movsxd rax, dword [r14 + 0x38]
mov qword [rcx + 0x30], rax
inc qword [r15 + 0x10]
inc dword [r15 + 0x18]
mov r8, r15
xor edx, edx
mov rcx, r14
call fcn.18010ed20
cmp dword [r13], 0
mov eax, dword [r14 + 0x34]
lea ecx, [rdi + rax]
jne 0x180116937
mov rax, qword [r14]
cmp dword [rax + 0x8c], 0
jle 0x180116937
test r15, r15
je 0x180116937
mov r9, qword [r15 + 8]
movsxd r8, ecx
movsxd rcx, dword [r14 + 0x10]
lea rax, [r9 + r8]
xor edx, edx
div rcx
xor edx, edx
mov rdi, rax
mov rax, r9
div rcx
lea rcx, [r9 + r8]
mov r8d, dword [r15 + 0x1c]
mov qword [r15 + 8], rcx
mov rcx, qword [r14]
sub edi, eax
mov r9d, dword [rcx + 0x8c]
imul r8d, edi
lea rdx, [rsp + 0x48]
imul r8d, dword [r14 + 0x10]
mov rcx, r14
call fcn.1801151b0
mov r15, qword [rsp + 0x48]
mov rax, qword [r14]
mov qword [rbp + 0x70], r15
mov esi, dword [rax + 0x90]
test r15, r15
je 0x180116997
cmp dword [r15 + 0x1c], 0
jle 0x180116997
xor edi, edi
cmp dword [r13], edi
jne 0x180116997
xor ebx, ebx
nop word [rax + rax]
cmp dword [rbx + r15 + 0x24], esi
jl 0x180116997
lea rdx, [rbp + 0x70]
xor r9d, r9d
mov r8d, edi
mov rcx, r14
call fcn.180114870
mov r15, qword [rbp + 0x70]
inc edi
mov edx, edi
mov rcx, r14
mov r8, r15
call fcn.18010ed20
add rbx, 0x10
cmp dword [r13], 0
je 0x180116960
cmp dword [r13], 0
mov rdi, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x140]
mov r13, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x148]
jne 0x1801169c9
mov rdx, r15
mov rcx, r14
call fcn.18010e240
mov rcx, r15
call fcn.18010d6e0
mov dword [r14 + 0x34], 0
add rsp, 0x150
pop r15
pop r14
pop rbp
ret