Function at 0x140108e7c
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 0x140108eeb
call fcn.1401089f4
test al, al
je 0x1401095a1
mov rax, qword [0x14022ab50]
mov r8d, ebx
mov ecx, dword [rdi + 0x30]
mov dword [rbp + 0x58], ebx
mov r15b, byte [rax + 0x11075]
mov r13b, byte [rax + 0xf9b]
mov byte [rbp + 0x50], r15b
test ecx, ecx
je 0x14010959f
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.14011dd74
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
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
mov eax, dword [rdi + 0x34]
imul eax, r8d
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 0x140109063
mov edx, r8d
mov rcx, rdi
call fcn.140109f38
mov ebx, eax
test eax, eax
je 0x140109061
test r13b, r13b
je 0x140109004
mov ecx, r14d
call fcn.14002bf40
mov edx, 0x28
test al, al
jne 0x140109009
mov edx, 8
test r15b, r15b
je 0x14010902f
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x140109028
mov eax, 0x2588
cmp r14d, eax
jne 0x14010902f
mov ecx, 0x800
jmp 0x140109031
xor ecx, ecx
lea eax, [r14 - 0x2502]
cmp eax, 0x32
jbe 0x14010904d
lea eax, [r14 - 0x2551]
cmp eax, 0x1b
jbe 0x14010904d
xor eax, eax
jmp 0x140109052
mov eax, 0x40
or ebx, eax
or ebx, ecx
or ebx, edx
mov dword [r12], ebx
jmp 0x14010957d
xor ebx, ebx
mov ecx, r14d
call fcn.140109f08
test al, al
je 0x1401090c0
mov dword [r12], 0x200
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140109f08
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140109091
jmp 0x14010957d
mov ecx, r14d
call fcn.140109e88
test al, al
je 0x14010911d
mov dword [r12], 0x400
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140109e88
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x1401090ee
jmp 0x14010957d
test r15b, r15b
je 0x14010925a
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x1401091db
mov eax, 0x2588
cmp r14d, eax
je 0x1401091db
mov ecx, r14d
call fcn.140109e64
test al, al
je 0x1401091bc
test r13b, r13b
je 0x14010916a
mov ecx, r14d
call fcn.14002bf40
test al, al
mov eax, 0x1020
jne 0x14010916f
mov eax, 0x1000
mov dword [r12], eax
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140109e64
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x14010918d
jmp 0x14010957d
lea eax, [r14 - 0xe0b0]
test eax, 0xfffffffd
jne 0x14010925a
mov dword [r12], 0x4000
jmp 0x14010957d
test r13b, r13b
je 0x1401091f1
mov ecx, r14d
call fcn.14002bf40
test al, al
mov eax, 0x820
jne 0x1401091f6
mov eax, 0x800
mov dword [r12], eax
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov r8, qword [rdi + 0x48]
mov r9, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [r8 + rax*8], r9
jne 0x14010957d
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 0x14010924d
mov eax, 0x2588
cmp dx, ax
jne 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
jmp 0x140109214
lea eax, [r14 - 0x2013]
cmp eax, 0x5b1
ja 0x1401093a2
mov dword [r12], 0x40
test r13b, r13b
je 0x140109321
mov ecx, r14d
call fcn.14002bf40
test al, al
je 0x140109321
or dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov r14, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
lea eax, [rbx - 0x2013]
cmp eax, 0x5b1
ja 0x14010957d
test r15b, r15b
je 0x1401092e7
mov ecx, ebx
call fcn.140109e64
test al, al
jne 0x14010957d
lea eax, [rbx - 0x2502]
cmp eax, 0x32
jbe 0x14010957d
lea eax, [rbx - 0x2551]
cmp eax, 0x1b
jbe 0x14010957d
mov ecx, ebx
call fcn.14002bf40
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
jmp 0x1401092a8
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov r14, qword [rdi + 0x48]
mov r15, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [r14 + rax*8], r15
jne 0x140109579
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
lea eax, [rbx - 0x2013]
cmp eax, 0x5b1
ja 0x140109579
cmp byte [rbp + 0x50], 0
je 0x140109377
mov ecx, ebx
call fcn.140109e64
test al, al
jne 0x140109579
lea eax, [rbx - 0x2502]
cmp eax, 0x32
jbe 0x140109579
lea eax, [rbx - 0x2551]
cmp eax, 0x1b
jbe 0x140109579
inc esi
cmp esi, dword [rdi + 0x30]
jae 0x140109579
jmp 0x14010933b
mov ecx, r14d
call fcn.140126aa4
test al, al
je 0x140109473
mov dword [r12], 0x80
test r13b, r13b
je 0x14010942a
mov ecx, r14d
call fcn.14002bf40
test al, al
je 0x14010942a
or dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov r14, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ebx, word [rax + rsi*2]
mov ecx, ebx
call fcn.140126aa4
test al, al
je 0x14010957d
mov ecx, ebx
call fcn.14002bf40
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x1401093e6
jmp 0x14010957d
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov rbx, qword [rbp - 0x20]
mov rax, qword [rdi + 0x48]
lea rcx, [rsi + rsi*2]
cmp qword [rax + rcx*8], rbx
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140126aa4
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x140109440
jmp 0x14010957d
test r13b, r13b
je 0x1401094d5
mov ecx, r14d
call fcn.14002bf40
test al, al
je 0x1401094d5
mov dword [r12], 0x20
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
mov rbx, qword [rdi + 0x48]
mov r14, qword [rbp - 0x20]
lea rax, [rsi + rsi*2]
cmp qword [rbx + rax*8], r14
jne 0x14010957d
mov rax, qword [rdi + 0x40]
movzx ecx, word [rax + rsi*2]
call fcn.140109e64
test al, al
je 0x14010957d
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x1401094a6
jmp 0x14010957d
mov dword [r12], 0x10
cmp byte [rbp + 0x60], bl
jne 0x14010957d
cmp esi, dword [rdi + 0x30]
jae 0x14010957d
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 0x140109575
mov rax, qword [rdi + 0x40]
movzx r14d, word [rax + rsi*2]
mov ecx, r14d
mov ebx, r14d
call fcn.140109f08
test al, al
jne 0x140109575
mov ecx, ebx
call fcn.140109e88
test al, al
jne 0x140109575
lea eax, [r14 - 0x2591]
mov ecx, 2
cmp eax, ecx
jbe 0x140109575
cmp ebx, r12d
je 0x140109575
mov ecx, ebx
call fcn.140109e64
test al, al
jne 0x140109575
lea eax, [r14 - 0x2013]
cmp eax, 0x5b1
jbe 0x140109575
cmp r14d, 0x7d
je 0x140109575
test r13b, r13b
je 0x14010956e
mov ecx, ebx
call fcn.14002bf40
test al, al
jne 0x140109575
inc esi
cmp esi, dword [rdi + 0x30]
jb 0x1401094f9
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.140109884
mov ecx, dword [rdi + 0x30]
mov r8d, esi
mov dword [rbp + 0x58], esi
cmp esi, ecx
jb 0x140108f15
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