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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, dword [rbp + 0x60]
xor ebx, ebx
test byte [rcx + 0x20], 7
mov rdi, rcx
mov dword [rcx + 0x3c], eax
mov rax, qword [rbp + 0x68]
mov qword [rcx + 0x40], rax
mov rax, qword [rbp + 0x70]
mov qword [rcx + 0x48], rax
setne al
mov byte [rcx + 0x2c], al
mov dword [rcx + 0x30], r8d
mov dword [rcx + 0x34], r9d
mov dword [rcx + 0x54], ebx
mov byte [rcx + 0x75], 1
mov qword [rcx + 0x78], rbx
mov qword [rcx + 0x80], rbx
mov dword [rcx + 0x88], ebx
cmp dword [rcx + 0x50], r8d
jae 0x14011536b
call fcn.140114e78
test al, al
je 0x140115a21
mov rax, qword [0x14021c740]
mov r8d, ebx
mov ecx, dword [rdi + 0x30]
mov dword [rbp + 0x58], ebx
mov r15b, byte [rax + 0x1107d]
mov r13b, byte [rax + 0xfa3]
mov byte [rbp + 0x50], r15b
test ecx, ecx
je 0x140115a1f
lea eax, [r8 + 1]
mov ebx, r8d
cmp eax, ecx
lea rdx, [rbp + 0x60]
mov rax, qword [rdi + 0x40]
setb byte [rbp + 0x60]
lea rcx, [rax + rbx*2]
call fcn.14012b6d4
mov cl, byte [rbp + 0x60]
lea rdx, [rbx + rbx*2]
mov r8d, dword [rbp + 0x58]
neg cl
mov rcx, qword [rdi + 0x48]
mov r14d, eax
mov eax, dword [rdi + 0x54]
sbb esi, esi
mov r12d, eax
neg esi
inc esi
shl r12, 6
movups xmm0, xmmword [rcx + rdx*8]
add r12, qword [rdi + 0x58]
add esi, r8d
inc eax
mov qword [rbp + 0x68], r12
mov dword [rdi + 0x54], eax
mov eax, r8d
movups xmmword [rbp - 0x20], xmm0
and dword [r12], 0
and dword [r12 + 0x20], 0
mov dword [r12 + 4], 1
mov dword [r12 + 0x18], r8d
mov dword [r12 + 0x1c], r8d
imul eax, dword [rdi + 0x34]
mov dword [r12 + 0x28], eax
mov dword [r12 + 0x24], eax
mov rax, qword [rdi + 0x40]
lea rcx, [rax + rbx*2]
mov qword [r12 + 8], rcx
mov rax, qword [rdi + 0x48]
lea rcx, [rax + rdx*8]
mov qword [r12 + 0x10], rcx
mov rax, qword [rdi + 0x60]
lea rcx, [rax + rbx*4]
mov qword [r12 + 0x30], rcx
mov rax, qword [rdi + 0x68]
lea rcx, [rax + rbx*4]
xor ebx, ebx
mov qword [r12 + 0x38], rcx
test r8d, r8d
je 0x1401154e3
mov edx, r8d
mov rcx, rdi
call fcn.1401163d0
mov ebx, eax
test eax, eax
je 0x1401154e1
test r13b, r13b
je 0x140115484
mov ecx, r14d
call fcn.14002d994
mov edx, 0x28
test al, al
jne 0x140115489
mov edx, 8
test r15b, r15b
je 0x1401154af
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x1401154a8
mov eax, 0x2588
cmp r14d, eax
jne 0x1401154af
mov ecx, 0x800
jmp 0x1401154b1
xor ecx, ecx
lea eax, [r14 - 0x2502]
cmp eax, 0x32
jbe 0x1401154cd
lea eax, [r14 - 0x2551]
cmp eax, 0x1b
jbe 0x1401154cd
xor eax, eax
jmp 0x1401154d2
mov eax, 0x40
or ebx, eax
or ebx, ecx
or ebx, edx
mov dword [r12], ebx
jmp 0x1401159fd
xor ebx, ebx
mov ecx, r14d
call fcn.1401163a0
test al, al
je 0x140115540
mov dword [r12], 0x200
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.1401163a0
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140115511
jmp 0x1401159fd
mov ecx, r14d
call fcn.140116308
test al, al
je 0x14011559d
mov dword [r12], 0x400
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140116308
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x14011556e
jmp 0x1401159fd
test r15b, r15b
je 0x1401156da
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x14011565b
mov eax, 0x2588
cmp r14d, eax
je 0x14011565b
mov ecx, r14d
call fcn.1401162e4
test al, al
je 0x14011563c
test r13b, r13b
je 0x1401155ea
mov ecx, r14d
call fcn.14002d994
test al, al
mov eax, 0x1020
jne 0x1401155ef
mov eax, 0x1000
mov dword [r12], eax
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.1401162e4
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x14011560d
jmp 0x1401159fd
lea eax, [r14 - 0xe0b0]
test eax, 0xfffffffd
jne 0x1401156da
mov dword [r12], 0x4000
jmp 0x1401159fd
test r13b, r13b
je 0x140115671
mov ecx, r14d
call fcn.14002d994
test al, al
mov eax, 0x820
jne 0x140115676
mov eax, 0x800
mov dword [r12], eax
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov r8, qword [rdi + 0x48]
mov r9, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [r8 + rax*8], r9
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
mov ecx, 0x2591
movzx edx, word [rax + rsi*2]
movzx eax, dx
sub ax, cx
mov ecx, 2
cmp ax, cx
jbe 0x1401156cd
mov eax, 0x2588
cmp dx, ax
jne 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
jmp 0x140115694
lea eax, [r14 - 0x2013]
cmp eax, 0x5b1
ja 0x140115822
mov dword [r12], 0x40
test r13b, r13b
je 0x1401157a1
mov ecx, r14d
call fcn.14002d994
test al, al
je 0x1401157a1
or dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov r14, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
lea eax, [rbx - 0x2013]
cmp eax, 0x5b1
ja 0x1401159fd
test r15b, r15b
je 0x140115767
mov ecx, ebx
call fcn.1401162e4
test al, al
jne 0x1401159fd
lea eax, [rbx - 0x2502]
cmp eax, 0x32
jbe 0x1401159fd
lea eax, [rbx - 0x2551]
cmp eax, 0x1b
jbe 0x1401159fd
mov ecx, ebx
call fcn.14002d994
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
jmp 0x140115728
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov r14, qword [rdi + 0x48]
mov r15, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [r14 + rax*8], r15
jne 0x1401159f9
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
lea eax, [rbx - 0x2013]
cmp eax, 0x5b1
ja 0x1401159f9
cmp byte [rbp + 0x50], 0
je 0x1401157f7
mov ecx, ebx
call fcn.1401162e4
test al, al
jne 0x1401159f9
lea eax, [rbx - 0x2502]
cmp eax, 0x32
jbe 0x1401159f9
lea eax, [rbx - 0x2551]
cmp eax, 0x1b
jbe 0x1401159f9
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x1401159f9
jmp 0x1401157bb
mov ecx, r14d
call fcn.140134e50
test al, al
je 0x1401158f3
mov dword [r12], 0x80
test r13b, r13b
je 0x1401158aa
mov ecx, r14d
call fcn.14002d994
test al, al
je 0x1401158aa
or dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov r14, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
mov ecx, ebx
call fcn.140134e50
test al, al
je 0x1401159fd
mov ecx, ebx
call fcn.14002d994
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140115866
jmp 0x1401159fd
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov rbx, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], rbx
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140134e50
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x1401158c0
jmp 0x1401159fd
test r13b, r13b
je 0x140115955
mov ecx, r14d
call fcn.14002d994
test al, al
je 0x140115955
mov dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x1401159fd
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.1401162e4
test al, al
je 0x1401159fd
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140115926
jmp 0x1401159fd
mov dword [r12], 0x10
cmp byte [rbp + 0x60], bl
jne 0x1401159fd
cmp esi, dword [rdi + 0x30]
jae 0x1401159fd
mov r15, qword [rbp - 0x20]
mov r12d, 0x2588
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], r15
jne 0x1401159f5
mov rax, qword [rdi + 0x40]
movzx r14d, word [rax + rsi*2]
mov ecx, r14d
mov ebx, r14d
call fcn.1401163a0
test al, al
jne 0x1401159f5
mov ecx, ebx
call fcn.140116308
test al, al
jne 0x1401159f5
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x1401159f5
cmp ebx, r12d
je 0x1401159f5
mov ecx, ebx
call fcn.1401162e4
test al, al
jne 0x1401159f5
lea eax, [r14 - 0x2013]
cmp eax, 0x5b1
jbe 0x1401159f5
cmp r14d, 0x7d
je 0x1401159f5
test r13b, r13b
je 0x1401159ee
mov ecx, ebx
call fcn.14002d994
test al, al
jne 0x1401159f5
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140115979
mov r12, qword [rbp + 0x68]
mov r15b, byte [rbp + 0x50]
mov r8d, dword [rdi + 0x34]
mov edx, esi
sub edx, dword [rbp + 0x58]
mov rcx, r12
call fcn.140115d04
mov ecx, dword [rdi + 0x30]
mov r8d, esi
mov dword [rbp + 0x58], esi
cmp esi, ecx
jb 0x140115395
mov al, 1
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret