Function at 0x5191f0
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, 0xb8
mov r12d, dword [rsp + 0x130]
test rcx, rcx
mov r15, rcx
mov rbp, rdx
mov qword [rsp + 0x110], r8
mov r13, r9
je 0x519974
mov r8, qword [rcx + 0x78]
add r8, qword [rcx + 0x88]
xor r9d, r9d
mov rdx, qword [rcx + 0x60]
call fcn.0051b950
test eax, eax
je 0x519641
mov r14d, 0xffffffff
lea rbx, [rsp + 0x50]
mov rdx, qword [r15 + 0x60]
mov rcx, r15
mov esi, 0xffffffff
lea rdi, [rsp + 0x38]
mov r8, rbx
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 4]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 8]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0xc]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x10]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518fd0
mov edx, dword [rsp + 0x60]
test eax, eax
lea r8, [rbx + 0x14]
cmovne r14d, esi
mov rax, rdx
mov rcx, rdx
shr rdx, 0x15
and edx, 0xf
shr rcx, 0x10
add edx, esi
and ecx, 0x1f
mov dword [rsp + 0xa0], edx
mov edx, eax
mov dword [rsp + 0x9c], ecx
shr edx, 0x19
mov rcx, r15
add edx, 0x7bc
mov dword [rsp + 0xa4], edx
mov edx, eax
and edx, 0xf800
shr rdx, 0xb
mov dword [rsp + 0x98], edx
mov edx, eax
and eax, 0x1f
and edx, 0x7e0
add eax, eax
shr rdx, 5
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x94], edx
mov rdx, qword [r15 + 0x60]
call fcn.00518fd0
mov rdx, qword [r15 + 0x60]
test eax, eax
mov r8, rdi
mov rcx, r15
cmovne r14d, esi
call fcn.00518fd0
test eax, eax
mov eax, dword [rsp + 0x38]
mov rdx, qword [r15 + 0x60]
mov r8, rdi
mov rcx, r15
cmovne r14d, esi
mov qword [rsp + 0x68], rax
call fcn.00518fd0
test eax, eax
mov eax, dword [rsp + 0x38]
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x28]
mov rcx, r15
cmovne r14d, esi
mov qword [rsp + 0x70], rax
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x2c]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x30]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x34]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x38]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
lea r8, [rbx + 0x3c]
test eax, eax
mov rcx, r15
cmovne r14d, esi
call fcn.00518fd0
mov rdx, qword [r15 + 0x60]
test eax, eax
mov r8, rdi
mov rcx, r15
cmovne r14d, esi
call fcn.00518fd0
test eax, eax
mov edi, eax
jne 0x519510
mov eax, dword [rsp + 0x38]
test r14d, r14d
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x48], rax
sete al
test r13, r13
setne dl
and dl, al
je 0x51997e
cmp ecx, dword [rsp + 0x120]
jb 0x519680
mov esi, ecx
sub esi, dword [rsp + 0x120]
mov r11d, dword [rsp + 0x120]
mov r14d, dword [rsp + 0x120]
test r14d, r14d
je 0x519673
test ecx, ecx
je 0x519673
mov r9d, r11d
mov rdx, qword [r15 + 0x60]
mov dword [rsp + 0x20], r11d
mov rcx, qword [r15 + 0x38]
mov r8, r13
call qword [r15 + 8]
mov r11d, dword [rsp + 0x20]
xor r9d, r9d
cmp eax, r11d
setne r9b
neg r9d
cmp eax, r11d
mov r14d, r9d
sete dl
cmp qword [rsp + 0x128], 0
mov eax, dword [rsp + 0x7c]
je 0x519987
test dl, dl
je 0x519987
cmp r12d, eax
mov r14d, r12d
mov r13d, r12d
jbe 0x5194d7
mov r14d, eax
mov r13d, eax
test esi, esi
jne 0x519820
test eax, eax
je 0x519534
test r12d, r12d
je 0x519534
mov rdx, qword [r15 + 0x60]
mov rcx, qword [r15 + 0x38]
mov r9d, r13d
mov r8, qword [rsp + 0x128]
call qword [r15 + 8]
mov eax, eax
cmp rax, r14
je 0x519530
nop word cs:[rax + rax]
mov edi, 0xffffffff
mov eax, edi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x7c]
sub esi, r13d
lea esi, [rsi + rax]
mov dword [rsp + 0x20], esi
test edi, edi
jne 0x519515
test eax, eax
je 0x519692
xor r13d, r13d
sub dword [rsp + 0x20], eax
mov rdx, qword [r15 + 0x60]
jne 0x5197e0
lea rax, [rsp + 0x3c]
lea rcx, [rsp + 0x40]
lea r10, [rsp + 0x44]
mov dword [rsp + 0x24], edi
mov qword [rsp + 0x108], rbp
xor esi, esi
mov rbp, rbx
mov r12d, 0xffffffff
mov r14d, 0xffffffff
mov qword [rsp + 0x28], r10
mov rdi, rcx
mov rbx, rax
jmp 0x5195d5
cmp qword [rsp + 0x70], r14
je 0x519880
cmp qword [rsp + 0x68], r14
je 0x5198a1
cmp qword [rsp + 0x48], r14
je 0x5198c2
cmp dword [rsp + 0x84], 0xffffffff
je 0x5198e7
mov eax, dword [rsp + 0x40]
lea esi, [rsi + rax + 4]
cmp dword [rsp + 0x7c], esi
jbe 0x51962d
mov rdx, qword [r15 + 0x60]
mov r8, rbx
mov rcx, r15
call fcn.00518f60
mov rdx, qword [r15 + 0x60]
test eax, eax
mov r8, rdi
mov rcx, r15
cmovne r13d, r12d
call fcn.00518f60
test eax, eax
cmovne r13d, r12d
cmp dword [rsp + 0x3c], 1
je 0x519594
mov r8d, dword [rsp + 0x40]
mov rdx, qword [r15 + 0x60]
mov r9d, 1
mov rcx, r15
call fcn.0051b950
test eax, eax
mov eax, dword [rsp + 0x40]
cmovne r13d, r12d
lea esi, [rsi + rax + 4]
cmp dword [rsp + 0x7c], esi
ja 0x5195d1
test r13d, r13d
mov edi, dword [rsp + 0x24]
mov rbp, qword [rsp + 0x108]
sete al
jmp 0x51969a
mov rdx, qword [r15 + 0x60]
lea r8, [rsp + 0x34]
mov rcx, r15
call fcn.00518fd0
test eax, eax
mov r14d, eax
jne 0x519244
cmp dword [rsp + 0x34], 0x2014b50
mov eax, 0xffffff99
cmovne r14d, eax
jmp 0x51924a
xor r14d, r14d
jmp 0x5194ab
mov eax, ecx
xor esi, esi
mov r11d, ecx
mov byte [r13 + rax], 0
jmp 0x519460
xor r13d, r13d
mov eax, 1
cmp qword [rsp + 0x138], 0
je 0x519712
test al, al
je 0x519712
mov eax, dword [rsp + 0x80]
mov ebx, dword [rsp + 0x140]
cmp eax, ebx
jae 0x5196cb
mov rbx, qword [rsp + 0x138]
mov edx, eax
mov byte [rbx + rdx], 0
mov ebx, eax
mov r9d, dword [rsp + 0x20]
test r9d, r9d
jne 0x519850
test eax, eax
je 0x519730
mov r8d, dword [rsp + 0x140]
test r8d, r8d
je 0x519730
xor r13d, r13d
mov rdx, qword [r15 + 0x60]
mov rcx, qword [r15 + 0x38]
mov r9d, ebx
mov r8, qword [rsp + 0x138]
call qword [r15 + 8]
cmp eax, ebx
jne 0x519510
test r13d, r13d
sete al
test rbp, rbp
setne dl
and edx, eax
cmp qword [rsp + 0x110], 0
setne cl
and ecx, eax
jmp 0x519745
test rbp, rbp
setne dl
cmp qword [rsp + 0x110], 0
setne cl
xor r13d, r13d
test dl, dl
je 0x5197bb
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov qword [rbp], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp + 8], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rbp + 0x20], rax
mov rax, qword [rsp + 0x80]
mov qword [rbp + 0x28], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rbp + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rbp + 0x38], rdx
mov rdx, qword [rsp + 0x98]
mov qword [rbp + 0x40], rax
mov rax, qword [rsp + 0xa0]
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], rax
test cl, cl
je 0x519927
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x110]
mov qword [rbx], rax
jmp 0x519515
movsxd r8, dword [rsp + 0x20]
mov r9d, 1
mov rcx, r15
call fcn.0051b950
test eax, eax
jne 0x519940
mov r10d, dword [rsp + 0x7c]
test r10d, r10d
jne 0x519960
mov dword [rsp + 0x20], 0
mov r13d, edi
mov eax, 1
jmp 0x51969a
mov rdx, qword [r15 + 0x60]
mov r9d, 1
movsxd r8, esi
mov rcx, r15
call fcn.0051b950
test eax, eax
mov eax, dword [rsp + 0x7c]
jne 0x519930
xor esi, esi
jmp 0x5194df
movsxd r8, dword [rsp + 0x20]
mov rdx, qword [r15 + 0x60]
mov r9d, 1
mov rcx, r15
call fcn.0051b950
test eax, eax
jne 0x519903
mov eax, dword [rsp + 0x80]
jmp 0x5196d9
mov rdx, qword [r15 + 0x60]
lea r8, [rbp + 0x20]
mov rcx, r15
call fcn.00519090
test eax, eax
cmovne r13d, r12d
cmp qword [rsp + 0x68], r14
jne 0x5195aa
mov rdx, qword [r15 + 0x60]
lea r8, [rbp + 0x18]
mov rcx, r15
call fcn.00519090
test eax, eax
cmovne r13d, r12d
cmp qword [rsp + 0x48], r14
jne 0x5195b5
mov rdx, qword [r15 + 0x60]
lea r8, [rsp + 0x48]
mov rcx, r15
call fcn.00519090
test eax, eax
cmovne r13d, r12d
cmp dword [rsp + 0x84], 0xffffffff
jne 0x5195c3
mov rdx, qword [r15 + 0x60]
mov r8, qword [rsp + 0x28]
mov rcx, r15
call fcn.00518fd0
test eax, eax
cmovne r13d, r12d
jmp 0x5195c3
mov ecx, dword [rsp + 0x80]
test ecx, ecx
je 0x519510
mov eax, dword [rsp + 0x140]
mov r13d, 0xffffffff
test eax, eax
jne 0x5196ed
mov edi, r13d
jmp 0x519515
mov edi, 0xffffffff
jmp 0x5194df
mov edx, dword [rsp + 0x7c]
test edx, edx
je 0x519510
mov rdx, qword [r15 + 0x60]
mov r13d, 0xffffffff
jmp 0x51955b
mov rdx, qword [r15 + 0x60]
mov dword [rsp + 0x20], 0
mov r13d, edi
jmp 0x51955b
mov edi, 0xffffff9a
jmp 0x519515
mov esi, ecx
mov edx, eax
jmp 0x5194ab
lea edi, [rsi + rax]
mov dword [rsp + 0x20], edi
mov edi, r14d
jmp 0x51953e