Function at 0x180116b00
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 0x180116b63
call fcn.18010eaf0
mov qword [r14 + 0x88], rax
cmp dword [r14 + 0x3c], edi
jne 0x180116b63
mov rcx, r14
call fcn.18010ea30
mov qword [r14 + 0x90], rax
lea r13, [r14 + 0x3c]
mov qword [rsp + 0x70], r13
cmp dword [r13], edi
je 0x180116b77
xor r15d, r15d
jmp 0x180116b87
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 0x180116ba9
call fcn.18010e040
mov qword [r14 + 0x90], rdi
cmp dword [rbx + 0x10], edi
je 0x180117226
mov rdx, r15
mov rcx, r14
call fcn.180113cc0
mov dword [rsp + 0x58], eax
test eax, eax
je 0x180117226
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.180114b20
cmp dword [r13], 0
jne 0x180116c1d
lea r9, [rbx + 0x18]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.18010d7b0
mov dword [r13], eax
cmp dword [r13], 0
mov qword [rsp + 0x68], rdi
jne 0x18011716f
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 0x180117161
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.18010d0e0
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 0x180116d10
mov r9, r8
mov r8d, ecx
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.1801145e0
cmp dword [r14 + 0x3c], edi
lea r13, [r14 + 0x3c]
jne 0x180117165
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 0x180116d10
lea rcx, [r15 + rbx]
mov r8, r11
call fcn.180128740
add ebx, dword [rbp + 0x78]
mov dword [rbp - 0x58], ebx
jmp 0x180116e31
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 0x180117148
cmp r12d, r11d
jge 0x180116e31
movsxd rax, r12d
mov qword [rsp + 0x38], 0
movzx r8d, byte [rax + rdx]
lea rcx, [rax + rdx]
test r8b, r8b
js 0x180116d5b
mov ecx, r8d
mov al, 1
jmp 0x180116d6f
lea rdx, [rsp + 0x38]
call fcn.180126a70
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 0x180116e5a
cmp qword [rsp + 0x68], 1
jne 0x180116ded
cmp r12d, r11d
jge 0x180116e5a
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116e5a
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r14
call fcn.180116a20
mov r11d, dword [rbp + 0x78]
mov rdx, qword [rsp + 0x20]
inc r12d
cmp r12d, r11d
jge 0x180116e28
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116e28
inc r12d
xor r11d, r11d
mov dword [rbp + 0x78], r11d
mov dword [rsp + 0x38], r12d
jmp 0x180116e5a
movsxd rdi, r12d
test byte [rdi + rdx], 1
je 0x180116e56
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r14
call fcn.180116a20
cmp dword [r14 + 0x3c], 0
mov rdx, qword [rsp + 0x20]
jne 0x180116e1d
cmp byte [rdi + rdx], 1
jne 0x180116e56
inc r12d
mov r11d, dword [rbp + 0x78]
lea rdi, [r14 + 0x3c]
cmp dword [rdi], 0
je 0x180116d31
cmp dword [r14 + 0x3c], 0
mov r9, qword [rsp + 0x28]
lea rsi, [r14 + 0x3c]
jne 0x180117154
mov rax, qword [r9 + 0x18]
mov rdx, qword [rax + 8]
mov qword [r9 + 0x18], rdx
jmp 0x180117151
lea rdi, [r14 + 0x3c]
cmp dword [rdi], 0
jne 0x180116e8f
cmp dword [rsp + 0x40], 0
jne 0x180116e8f
mov r9, qword [rsp + 0x60]
mov r8d, dword [rbp + 0x10]
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.1801145e0
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 0x180116f14
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 0x180116ec3
movzx eax, sil
and al, 0x7f
mov byte [rcx], al
mov eax, 1
jmp 0x180116eef
cmp rsi, 0x3fff
ja 0x180116ee7
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 0x180116eef
mov rdx, rsi
call fcn.180011690
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.180114270
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
jmp 0x180116f59
mov rdx, rsi
sub rdx, qword [rsp + 0x78]
cmp rdx, 0x7f
ja 0x180116f2e
and dl, 0x7f
mov eax, 1
mov byte [rcx], dl
jmp 0x180116f54
cmp rdx, 0x3fff
ja 0x180116f4f
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 0x180116f54
call fcn.180011690
add ebx, eax
mov dword [rbp - 0x58], ebx
cmp dword [r14 + 0x3c], 0
jne 0x180117148
cmp qword [rsp + 0x68], 1
mov qword [rsp + 0x78], rsi
jne 0x180116fe7
mov r11d, dword [rbp + 0x78]
mov rdx, qword [rsp + 0x20]
cmp r12d, r11d
jge 0x180116fb6
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116fb6
movsxd rax, ebx
inc ebx
inc r12d
mov byte [rax + r15], 0
mov dword [rbp - 0x58], ebx
cmp r12d, r11d
jge 0x180116fb6
movsxd rax, r12d
cmp byte [rax + rdx], 0
jne 0x180116fb6
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 0x180116e24
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180114490
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r13d, dword [rbp - 0x48]
mov rdx, qword [rsp + 0x20]
jmp 0x180116e20
movsxd r14, r12d
mov edi, 1
add r14, qword [rsp + 0x20]
movzx ecx, byte [r14]
test cl, cl
jns 0x180117067
movzx edx, byte [r14 + 1]
test dl, dl
js 0x180117014
and ecx, 0x7f
mov edi, 2
shl ecx, 7
or ecx, edx
jmp 0x180117067
movzx eax, byte [r14 + 2]
shl ecx, 0xe
or ecx, eax
mov eax, ecx
test cl, cl
js 0x18011703a
mov ecx, edx
and eax, 0x1fc07f
mov edi, 3
and ecx, 0x7f
shl ecx, 7
or ecx, eax
jmp 0x180117067
movzx r8d, byte [r14]
test r8b, r8b
js 0x180117050
mov ecx, r8d
movzx eax, dil
mov qword [rbp - 0x80], rcx
jmp 0x180117060
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.180126a70
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 0x1801170a1
movsxd rcx, ebx
movsxd r8, r13d
mov rdx, r14
add rcx, r15
call fcn.180128740
add ebx, r13d
mov dword [rbp - 0x58], ebx
jmp 0x18011712a
mov r12d, dword [rbp - 0x48]
xor esi, esi
jmp 0x1801170b6
mov eax, dword [rbp + 0x80]
mov edx, eax
mov edi, r13d
sub edx, ebx
sub edi, esi
sub edx, r12d
cmp edi, edx
jle 0x1801170d3
movsxd rcx, esi
add rcx, r14
call fcn.180115c40
mov edi, eax
movsxd rdx, esi
movsxd rcx, ebx
movsxd r8, edi
add rdx, r14
add rcx, r15
call fcn.180128740
add ebx, edi
add esi, edi
lea eax, [rbx + r12]
mov dword [rbp - 0x58], ebx
cmp eax, dword [rbp + 0x80]
jl 0x180117112
mov rcx, qword [rbp + 0x70]
lea rdx, [rbp - 0x70]
call fcn.180114490
mov ebx, dword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
cmp esi, r13d
jge 0x180117121
mov rax, qword [rsp + 0x70]
cmp dword [rax], 0
je 0x1801170b0
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 0x180116e28
mov r9, qword [rsp + 0x28]
lea rsi, [r14 + 0x3c]
cmp dword [rsi], 0
mov r12d, dword [rbp + 0x80]
je 0x180116c40
lea r13, [r14 + 0x3c]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.18010ce60
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.180114960
mov edi, dword [rsp + 0x30]
mov r12, qword [rsp + 0x130]
test edi, edi
jle 0x180117226
cmp dword [r15 + 0x1c], 0
jne 0x1801171b5
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.18010e8b0
mov r15, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rcx, r13
call fcn.18010e940
cmp dword [r13], 0
jne 0x180117219
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 0x180117215
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.18010f680
cmp dword [r13], 0
mov eax, dword [r14 + 0x34]
lea ecx, [rdi + rax]
jne 0x180117297
mov rax, qword [r14]
cmp dword [rax + 0x8c], 0
jle 0x180117297
test r15, r15
je 0x180117297
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.180115b10
mov r15, qword [rsp + 0x48]
mov rax, qword [r14]
mov qword [rbp + 0x70], r15
mov esi, dword [rax + 0x90]
test r15, r15
je 0x1801172f7
cmp dword [r15 + 0x1c], 0
jle 0x1801172f7
xor edi, edi
cmp dword [r13], edi
jne 0x1801172f7
xor ebx, ebx
nop word [rax + rax]
cmp dword [rbx + r15 + 0x24], esi
jl 0x1801172f7
lea rdx, [rbp + 0x70]
xor r9d, r9d
mov r8d, edi
mov rcx, r14
call fcn.1801151d0
mov r15, qword [rbp + 0x70]
inc edi
mov edx, edi
mov rcx, r14
mov r8, r15
call fcn.18010f680
add rbx, 0x10
cmp dword [r13], 0
je 0x1801172c0
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 0x180117329
mov rdx, r15
mov rcx, r14
call fcn.18010eba0
mov rcx, r15
call fcn.18010e040
mov dword [r14 + 0x34], 0
add rsp, 0x150
pop r15
pop r14
pop rbp
ret