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

Disassembly:
stc
mov r8, rbx
mov edx, dword [rbx + 0x13c]
call fcn.1800010c0
mov rsi, rax
movsxd r9, dword [r13 + 0x3c]
mov edx, dword [rbx + 0x14]
mov dword [rsp + 0x78], edx
mov ebp, dword [r9 + r13 + 0x88]
mov eax, dword [rbx + 0xf0]
mov qword [rsp + 0x48], r14
mov r8d, dword [rbp + r13 + 0x20]
mov r9d, dword [rbp + r13 + 0x1c]
add r8, r13
mov ecx, dword [rbp + r13 + 0x24]
add r9, r13
add rcx, r13
xor ebp, ebp
mov qword [rsp + 0xc8], rsi
mov rsi, r8
mov qword [rsp + 0xb8], rdi
mov edi, eax
mov qword [rsp + 0xa8], r12
mov r12, r9
mov qword [rsp + 0x40], rbx
mov rbx, rcx
mov qword [rsp + 0x50], r15
mov r14d, edx
inc rbp
mov r15d, dword [rsi + rbp*4 - 4]
add r15, r13
mov rcx, r15
call fcn.180001218
mov r9d, eax
xor edx, edx
test r9d, r9d
jbe 0x1800013f2
mov eax, r9d
mov r11d, 1
xor r8d, r8d
shr eax, 1
je 0x1800013d5
imul edx, r14d
movsx r10d, byte [r15 + r8*2]
movzx r11d, r10w
add edx, r11d
imul edx, r14d
movsx r10d, byte [r15 + r8*2 + 1]
inc r8
movzx r10d, r10w
add edx, r10d
cmp r8, rax
jb 0x1800013a7
lea r11d, [r8 + r8 + 1]
lea r10d, [r11 - 1]
cmp r10d, r9d
jae 0x1800013f2
movsxd r11, r11d
imul edx, r14d
movsx r10d, byte [r11 + r15 - 1]
movzx r15d, r10w
add edx, r15d
movzx r10d, word [rbx + rbp*2 - 2]
mov r10d, dword [r12 + r10*4]
add r10, r13
cmp edi, edx
jne 0x18000137a
mov r15, qword [rsp + 0x50]
mov rcx, rbx
movsxd rdx, dword [r15 + 0x3c]
mov r8, rsi
mov qword [rsp + 0xd8], r10
mov r9, r12
mov rbx, qword [rsp + 0x40]
mov r10d, dword [rdx + r15 + 0x88]
mov r11d, dword [r10 + r15 + 0x24]
mov ebp, dword [r10 + r15 + 0x20]
add r11, r15
mov edx, dword [r10 + r15 + 0x1c]
add rbp, r15
mov qword [rsp + 0x80], r11
add rdx, r15
xor r10d, r10d
mov eax, dword [rbx + 0x100]
mov edi, eax
mov rbx, r10
mov r12, r11
mov esi, dword [rsp + 0x78]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r8
mov qword [rsp + 0xd0], r13
mov r13, rbp
mov rbp, rdx
inc rbx
mov r14d, dword [r13 + rbx*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
xor r9d, r9d
test eax, eax
jbe 0x1800014f6
mov r8d, eax
mov r11d, 1
xor r10d, r10d
shr r8d, 1
je 0x1800014d9
imul r9d, esi
movsx r11d, byte [r14 + r10*2]
movzx r11d, r11w
add r9d, r11d
imul r9d, esi
movsx r11d, byte [r14 + r10*2 + 1]
inc r10
movzx r11d, r11w
add r9d, r11d
cmp r10, r8
jb 0x1800014ab
lea r11d, [r10 + r10 + 1]
lea r8d, [r11 - 1]
cmp r8d, eax
jae 0x1800014f6
movsxd r11, r11d
imul r9d, esi
movsx ecx, byte [r11 + r14 - 1]
movzx r8d, cx
add r9d, r8d
movzx ecx, word [r12 + rbx*2 - 2]
mov ecx, dword [rbp + rcx*4]
add rcx, r15
cmp edi, r9d
jne 0x180001480
mov rbx, qword [rsp + 0x40]
mov rdx, rbp
mov rbp, r13
xor eax, eax
mov r12, rdx
mov qword [rsp + 0xe0], rcx
mov r13, rbp
mov r10d, dword [rbx + 0xc4]
mov rbx, rax
mov ebp, r10d
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x80]
mov esi, dword [rsp + 0x78]
inc rbx
mov r14d, dword [r13 + rbx*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
mov r9d, eax
xor edx, edx
test r9d, r9d
jbe 0x1800015ba
mov eax, r9d
mov r11d, 1
xor r8d, r8d
shr eax, 1
je 0x18000159e
imul edx, esi
movsx r11d, byte [r14 + r8*2]
movzx r11d, r11w
add edx, r11d
imul edx, esi
movsx r11d, byte [r14 + r8*2 + 1]
inc r8
movzx r11d, r11w
add edx, r11d
cmp r8, rax
jb 0x180001572
lea r11d, [r8 + r8 + 1]
lea r8d, [r11 - 1]
cmp r8d, r9d
jae 0x1800015ba
movsxd r11, r11d
imul edx, esi
movsx ecx, byte [r11 + r14 - 1]
movzx r8d, cx
add edx, r8d
movzx ecx, word [rdi + rbx*2 - 2]
mov ecx, dword [r12 + rcx*4]
add rcx, r15
cmp ebp, edx
jne 0x180001545
mov rbx, qword [rsp + 0x40]
mov rdx, r12
mov rbp, r13
xor eax, eax
mov r12, rdx
mov qword [rsp + 0xe8], rcx
mov r13, rbp
mov r10d, dword [rbx + 0x134]
mov rbx, rax
mov ebp, r10d
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x80]
mov esi, dword [rsp + 0x78]
inc rbx
mov r14d, dword [r13 + rbx*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
mov r9d, eax
xor edx, edx
test r9d, r9d
jbe 0x18000167c
mov eax, r9d
mov r11d, 1
xor r8d, r8d
shr eax, 1
je 0x180001660
imul edx, esi
movsx r11d, byte [r14 + r8*2]
movzx r11d, r11w
add edx, r11d
imul edx, esi
movsx r11d, byte [r14 + r8*2 + 1]
inc r8
movzx r11d, r11w
add edx, r11d
cmp r8, rax
jb 0x180001634
lea r11d, [r8 + r8 + 1]
lea r8d, [r11 - 1]
cmp r8d, r9d
jae 0x18000167c
movsxd r11, r11d
imul edx, esi
movsx ecx, byte [r11 + r14 - 1]
movzx r8d, cx
add edx, r8d
movzx ecx, word [rdi + rbx*2 - 2]
mov ecx, dword [r12 + rcx*4]
add rcx, r15
cmp ebp, edx
jne 0x180001607
mov rbx, qword [rsp + 0x40]
mov rdx, r12
xor eax, eax
mov rbp, r13
mov rsi, rax
mov qword [rsp + 0xa0], rcx
mov r13, rdx
mov r10d, dword [rbx + 0x80]
mov r12d, r10d
mov rdi, qword [rsp + 0x80]
mov ebx, dword [rsp + 0x78]
inc rsi
mov r14d, dword [rbp + rsi*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
mov r9d, eax
xor edx, edx
test r9d, r9d
jbe 0x180001736
mov eax, r9d
mov r11d, 1
xor r8d, r8d
shr eax, 1
je 0x18000171a
imul edx, ebx
movsx r11d, byte [r14 + r8*2]
movzx r11d, r11w
add edx, r11d
imul edx, ebx
movsx r11d, byte [r14 + r8*2 + 1]
inc r8
movzx r11d, r11w
add edx, r11d
cmp r8, rax
jb 0x1800016ee
lea r11d, [r8 + r8 + 1]
lea r8d, [r11 - 1]
cmp r8d, r9d
jae 0x180001736
movsxd r11, r11d
imul edx, ebx
movsx r8d, byte [r11 + r14 - 1]
movzx r9d, r8w
add edx, r9d
movzx r8d, word [rdi + rsi*2 - 2]
mov r8d, dword [r13 + r8*4]
add r8, r15
cmp r12d, edx
jne 0x1800016c1
mov rbx, qword [rsp + 0x40]
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor edi, edi
mov qword [rsp + 0xf0], r8
mov r13, rbp
mov edx, dword [rbx + 0x44]
mov rbp, rax
mov r12d, edx
mov r8, qword [rsp + 0x60]
mov rbx, rcx
mov esi, dword [rsp + 0x78]
inc rbp
mov r14d, dword [r13 + rbp*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
mov r9d, eax
mov edx, edi
test r9d, r9d
jbe 0x1800017f0
mov eax, r9d
mov r10d, 1
xor r8d, r8d
shr eax, 1
je 0x1800017d4
imul edx, esi
movsx r10d, byte [r14 + r8*2]
movzx r11d, r10w
add edx, r11d
imul edx, esi
movsx r10d, byte [r14 + r8*2 + 1]
inc r8
movzx r10d, r10w
add edx, r10d
cmp r8, rax
jb 0x1800017a8
lea r10d, [r8 + r8 + 1]
lea r8d, [r10 - 1]
cmp r8d, r9d
jae 0x1800017f0
movsxd r10, r10d
imul edx, esi
movsx r8d, byte [r10 + r14 - 1]
movzx r9d, r8w
add edx, r9d
cmp r12d, edx
jne 0x18000177b
mov rcx, rbx
xor ebp, ebp
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov rsi, r8
mov r12, r9
mov eax, dword [rbx + 0x34]
mov ebx, eax
mov r13, qword [rsp + 0xd0]
mov r14, rcx
mov edi, dword [rsp + 0x78]
mov qword [rsp + 0x50], r15
inc rbp
mov r15d, dword [rsi + rbp*4 - 4]
add r15, r13
mov rcx, r15
call fcn.180001218
mov r9d, eax
xor edx, edx
test r9d, r9d
jbe 0x18000189d
mov eax, r9d
mov r11d, 1
xor r8d, r8d
shr eax, 1
je 0x180001881
imul edx, edi
movsx r10d, byte [r15 + r8*2]
movzx r11d, r10w
add edx, r11d
imul edx, edi
movsx r10d, byte [r15 + r8*2 + 1]
inc r8
movzx r10d, r10w
add edx, r10d
cmp r8, rax
jb 0x180001855
lea r11d, [r8 + r8 + 1]
lea r10d, [r11 - 1]
cmp r10d, r9d
jae 0x18000189d
movsxd r11, r11d
imul edx, edi
movsx r10d, byte [r11 + r15 - 1]
movzx r15d, r10w
add edx, r15d
movzx r10d, word [r14 + rbp*2 - 2]
mov r10d, dword [r12 + r10*4]
add r10, r13
cmp ebx, edx
jne 0x180001828
mov qword [rsp + 0xf8], r10
mov ecx, 0x40
mov edx, 0x100
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
call qword [rsp + 0xa0]
mov rbp, rax
movsxd r9, dword [r15 + 0x3c]
mov eax, dword [rbx + 0xa0]
mov ecx, dword [rbx + 0x14]
mov edx, dword [r9 + r15 + 0x88]
mov qword [rsp + 0x100], rbp
mov ebp, ecx
mov qword [rsp + 0xc8], rsi
mov esi, eax
mov r10d, dword [rdx + r15 + 0x20]
mov r9d, dword [rdx + r15 + 0x1c]
add r10, r15
mov r8d, dword [rdx + r15 + 0x24]
add r9, r15
add r8, r15
xor edx, edx
mov qword [rsp + 0xb8], rdi
mov rdi, r10
mov qword [rsp + 0xa8], r12
mov r12, r8
mov qword [rsp + 0x40], rbx
mov rbx, rdx
mov qword [rsp + 0xd0], r13
mov r13, r9
mov qword [rsp + 0x48], r14
inc rbx
mov r14d, dword [rdi + rbx*4 - 4]
add r14, r15
mov rcx, r14
call fcn.180001218
xor r9d, r9d
test eax, eax
jbe 0x1800019d9
mov edx, eax
mov ecx, 1
xor r8d, r8d
shr edx, 1
je 0x1800019bc
imul r9d, ebp
movsx r11d, byte [r14 + r8*2]
movzx r11d, r11w
add r9d, r11d
imul r9d, ebp
movsx r11d, byte [r14 + r8*2 + 1]
inc r8
movzx r11d, r11w
add r9d, r11d
add ecx, ebx
cmp r8, rdx
jb 0x18000198e
lea ecx, [r8 + r8 + 1]
lea r11d, [rcx - 1]
cmp r11d, eax
jae 0x1800019d9
movsxd rcx, ecx
imul r9d, ebp
movsx r11d, byte [rcx + r14 - 1]
movzx r14d, r11w
add r9d, r14d
movzx r11d, word [r12 + rbx*2 - 2]
mov eax, dword [r13 + r11*4]
add rax, r15
cmp esi, r9d
jne 0x180001966
mov rbp, qword [rsp + 0x100]
mov qword [rbp + 0x18], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbp + 0xd0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rbp + 0xc8], rax
mov rdi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd8]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x60], rdi
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rbp + 8], r15
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x68], r9
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xa0], r10
mov qword [rbp + 0x78], r11
mov qword [rbp + 0xd8], rdi
xor edi, edi
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xe0], rsi
mov qword [rbp + 0x48], r12
movsxd rsi, dword [r13 + 0x3c]
mov rbx, qword [rsp + 0x40]
mov r12d, dword [rsi + r13 + 0x88]
mov ecx, dword [rbx + 0x10]
mov ebp, ecx
mov qword [rsp + 0x50], r15
mov edx, dword [r12 + r13 + 0x20]
mov eax, dword [r12 + r13 + 0x1c]
add rdx, r13
add rax, r13
mov r14, rdx
mov esi, dword [r12 + r13 + 0x24]
mov r12d, dword [rbx + 0x14]
add rsi, r13
mov rbx, rax
inc rdi
mov r15d, dword [r14 + rdi*4 - 4]
add r15, r13
mov rcx, r15
call fcn.180001218
mov r8d, eax
xor r9d, r9d
test r8d, r8d
jbe 0x180001b6b
mov eax, r8d
mov r11d, 1
xor edx, edx
shr eax, 1
je 0x180001b4e
imul r9d, r12d
movsx r10d, byte [r15 + rdx*2]
movzx r11d, r10w
add r9d, r11d
imul r9d, r12d
movsx r10d, byte [r15 + rdx*2 + 1]
inc rdx
movzx r10d, r10w
add r9d, r10d
cmp rdx, rax
jb 0x180001b20
lea r11d, [rdx + rdx + 1]
lea r10d, [r11 - 1]
cmp r10d, r8d
jae 0x180001b6b
movsxd r11, r11d
imul r9d, r12d
movsx r8d, byte [r11 + r15 - 1]
movzx r10d, r8w
add r9d, r10d
movzx r8d, word [rsi + rdi*2 - 2]
mov r10d, dword [rbx + r8*4]
add r10, r13
cmp ebp, r9d
jne 0x180001af3
mov rbp, qword [rsp + 0x100]
xor edi, edi
mov qword [rbp + 0xb0], r10
movsxd rax, dword [r13 + 0x3c]
mov rbx, qword [rsp + 0x40]
mov esi, dword [rax + r13 + 0x88]
mov ecx, dword [rbx + 4]
mov ebp, ecx
mov r12d, dword [rbx + 0x14]
mov edx, dword [rsi + r13 + 0x20]
mov eax, dword [rsi + r13 + 0x1c]
add rdx, r13
add rax, r13
mov r14, rdx
mov esi, dword [rsi + r13 + 0x24]
mov rbx, rax
add rsi, r13
inc rdi
mov r15d, dword [r14 + rdi*4 - 4]
add r15, r13
mov rcx, r15
call fcn.180001218
mov r8d, eax
xor r9d, r9d
test r8d, r8d
jbe 0x180001c42
mov eax, r8d
mov r11d, 1
xor edx, edx
shr eax, 1
je 0x180001c25
imul r9d, r12d
movsx r10d, byte [r15 + rdx*2]
movzx r11d, r10w
add r9d, r11d
imul r9d, r12d
movsx r10d, byte [r15 + rdx*2 + 1]
inc rdx
movzx r10d, r10w
add r9d, r10d
cmp rdx, rax
jb 0x180001bf7
lea r11d, [rdx + rdx + 1]
lea r10d, [r11 - 1]
cmp r10d, r8d
jae 0x180001c42
movsxd r11, r11d
imul r9d, r12d
movsx r8d, byte [r11 + r15 - 1]
movzx r10d, r8w
add r9d, r10d
movzx r8d, word [rsi + rdi*2 - 2]
mov r10d, dword [rbx + r8*4]
add r10, r13
cmp ebp, r9d
jne 0x180001bca
mov rbp, qword [rsp + 0x100]