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

Disassembly:
mov rax, rsp
sub rsp, 0xa8
mov rdx, qword [rcx + 0xd0]
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 8], r12
mov r12d, dword [rcx + 0x80]
mov qword [rax - 0x10], r13
mov qword [rax - 0x18], r14
mov r14, qword [rcx + 0xe8]
xor edi, edi
mov qword [rax - 0x20], r15
mov qword [rax - 0x38], rdx
xor r8d, r8d
mov dword [rax - 0x70], edi
mov qword [rax - 0x50], r14
mov qword [rax - 0x78], r14
mov qword [rax - 0x58], r14
mov qword [rax - 0x60], r14
mov qword [rax - 0x68], r14
mov qword [rax - 0x40], r8
mov byte [rax - 0x6b], r8b
mov qword [rax - 0x48], rdi
mov byte [rax - 0x6c], dil
mov rbx, rcx
mov rcx, qword [rcx + 0x28]
mov edx, 0x400000
mov rax, qword [rbx + 0x30]
xor ebp, ebp
mov rsi, r14
sub rax, rcx
mov r13, r14
mov r15, r14
cmp rax, rdx
mov dword [rsp + 0x20], ebp
cmova rax, rdx
lea r10, [rcx + rax]
mov qword [rsp + 0x28], r10
jmp 0x1010a074
mov ebp, dword [rsp + 0x20]
cmp qword [rbx + 0x28], r10
jb 0x1010a125
mov rcx, rbx
call fcn.10109440
test eax, eax
jne 0x1010aa3d
cmp byte [rbx + 0x16], al
je 0x1010a0a1
mov rax, qword [rbx + 0x60]
cmp qword [rbx + 0x70], rax
ja 0x1010aa2d
mov rcx, qword [rbx + 0x30]
mov rax, rcx
sub rax, qword [rbx + 0x28]
jne 0x1010a0b5
mov qword [rbx + 0x28], rax
mov rax, rcx
mov rdx, qword [rbx + 0x28]
mov r8d, 0x400000
cmp rax, r8
cmova rax, r8
test ebp, ebp
lea r10, [rdx + rax]
mov qword [rsp + 0x28], r10
je 0x1010a125
mov r9, qword [rbx + 0x38]
mov r8, qword [rbx + 0x20]
mov eax, r12d
mov rcx, rdx
sub rcx, rax
dec rcx
and rcx, r9
nop
nop
cmp rdx, r10
jae 0x1010a10d
movzx eax, byte [r8 + rcx]
inc rdx
inc rcx
mov byte [r8 + rdx - 1], al
and rcx, r9
add ebp, 0xffffffff
jne 0x1010a0f0
mov rax, rdx
mov dword [rsp + 0x20], ebp
sub rax, qword [rbx + 0x28]
mov qword [rbx + 0x28], rdx
add qword [rbx + 0x40], rax
jmp 0x1010a074
cmp rsi, qword [rsp + 0x40]
jb 0x1010a2d5
lea rcx, [rsp + 0x30]
call fcn.10108890
test al, al
jne 0x1010aa2d
cmp rsi, r15
jb 0x1010a248
cmp rsi, r13
ja 0x1010a241
sub r13, rsi
mov rbp, r13
je 0x1010a16a
mov r8, r13
mov rdx, rsi
mov rcx, r14
call sub.msvcrt.dll_memmove
sub rsi, r14
add r13, r14
mov qword [rsp + 0x30], r14
add qword [rsp + 0x60], rsi
cmp byte [rsp + 0x3c], 0
mov qword [rsp + 0x50], r13
mov rsi, r14
jne 0x1010a1d0
mov rcx, qword [rsp + 0x70]
mov r8d, 0x100000
lea r9, [rsp + 0x24]
sub r8d, ebp
mov rdx, r13
mov dword [rsp + 0x24], r8d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov edx, dword [rsp + 0x24]
add r13, rdx
test edx, edx
mov dword [rsp + 0x78], eax
sete cl
test eax, eax
mov eax, 1
movzx edx, cl
mov qword [rsp + 0x50], r13
cmovne edx, eax
mov byte [rsp + 0x3c], dl
mov rax, r13
mov r15, r14
mov qword [rsp + 0x48], r14
sub rax, r14
cmp rax, 0x10
jae 0x1010a1fc
mov r8d, 0x10
mov edx, 0xff
mov rcx, r13
sub r8, rax
call sub.msvcrt.dll_memset
jmp 0x1010a205
lea r15, [r13 - 0x10]
mov qword [rsp + 0x48], r15
cmp r15, r14
mov qword [rsp + 0x40], r15
jbe 0x1010a24f
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
cmp rax, rdx
jae 0x1010a225
mov qword [rsp + 0x40], r14
jmp 0x1010a254
mov rcx, rax
mov rax, r15
sub rax, r14
sub rcx, rdx
cmp rax, rcx
jbe 0x1010a254
lea rax, [rcx + r14]
mov qword [rsp + 0x40], rax
jmp 0x1010a254
mov rdx, qword [rsp + 0x60]
jmp 0x1010a254
mov rdx, qword [rsp + 0x60]
jmp 0x1010a254
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov rax, rdx
sub rax, r14
add rax, rsi
cmp rax, r8
jb 0x1010a2c6
cmp rax, r8
ja 0x1010aa2d
movzx eax, byte [rsp + 0x3d]
cmp edi, eax
ja 0x1010aa2d
cmp edi, eax
jne 0x1010a2c6
cmp byte [rbx + 0x15], 0
jne 0x1010aa12
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.10109730
test eax, eax
jne 0x1010aa3d
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov edi, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
jmp 0x1010a074
cmp byte [rbx + 0x1c], 0
je 0x1010aa2d
mov r10, qword [rsp + 0x28]
movzx eax, byte [rsi + 1]
movzx edx, byte [rsi]
mov ecx, 9
shl edx, 8
sub ecx, edi
or edx, eax
movzx eax, byte [rsi + 2]
shl edx, 8
or edx, eax
shr edx, cl
and edx, 0x7fff
cmp edx, dword [rbx + 0x114]
jae 0x1010a330
mov eax, edx
shr rax, 6
movzx edx, word [rbx + rax*2 + 0x174]
mov eax, edx
and eax, 0xf
add edi, eax
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
shr edx, 4
mov qword [rsp + 0x30], rsi
jmp 0x1010a393
cmp edx, dword [rbx + 0x118]
mov ecx, 0xa
mov r8, rcx
jb 0x1010a358
inc r8
inc ecx
cmp edx, dword [rbx + r8*4 + 0xf0]
jae 0x1010a340
cmp ecx, 0xf
ja 0x1010aa2d
sub edx, dword [rbx + r8*4 + 0xec]
add edi, ecx
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
mov eax, 0xf
sub eax, ecx
mov qword [rsp + 0x30], rsi
movzx ecx, al
shr edx, cl
add edx, dword [rbx + r8*4 + 0x134]
movzx edx, word [rbx + rdx*2 + 0x574]
cmp edx, 0x100
jae 0x1010a3bb
mov rcx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
mov ebp, dword [rsp + 0x20]
mov byte [rcx + rax], dl
inc qword [rbx + 0x40]
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
jmp 0x1010a074
cmp edx, 0x106
jae 0x1010a5b5
cmp edx, 0x102
jb 0x1010a55f
cmp edx, 0x102
je 0x1010a423
cmp edx, 0x103
jne 0x1010a3eb
mov ecx, dword [rbx + 0x84]
jmp 0x1010a419
cmp edx, 0x104
jne 0x1010a3fb
mov ecx, dword [rbx + 0x88]
jmp 0x1010a40d
mov eax, dword [rbx + 0x88]
mov ecx, dword [rbx + 0x8c]
mov dword [rbx + 0x8c], eax
mov eax, dword [rbx + 0x84]
mov dword [rbx + 0x88], eax
mov dword [rbx + 0x84], r12d
mov r12d, ecx
movzx eax, byte [rsi + 1]
movzx edx, byte [rsi]
mov ecx, 9
shl edx, 8
sub ecx, edi
or edx, eax
movzx eax, byte [rsi + 2]
shl edx, 8
or edx, eax
shr edx, cl
and edx, 0x7fff
cmp edx, dword [rbx + 0x11a4]
jae 0x1010a481
mov eax, edx
shr rax, 6
movzx r10d, word [rbx + rax*2 + 0x1204]
mov eax, r10d
and eax, 0xf
add edi, eax
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
shr r10d, 4
mov qword [rsp + 0x30], rsi
jmp 0x1010a4e5
cmp edx, dword [rbx + 0x11a8]
mov ecx, 0xa
mov r8, rcx
jb 0x1010a4a9
inc r8
inc ecx
cmp edx, dword [rbx + r8*4 + 0x1180]
jae 0x1010a491
cmp ecx, 0xf
ja 0x1010aa2d
sub edx, dword [rbx + r8*4 + 0x117c]
add edi, ecx
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
mov eax, 0xf
sub eax, ecx
mov qword [rsp + 0x30], rsi
movzx ecx, al
shr edx, cl
add edx, dword [rbx + r8*4 + 0x11c4]
movzx r10d, word [rbx + rdx*2 + 0x1604]
cmp r10d, 0x2c
jae 0x1010aa2d
cmp r10d, 8
jae 0x1010a4fe
lea ebp, [r10 + 2]
jmp 0x1010a951
movzx eax, byte [rsi + 1]
movzx r8d, byte [rsi]
mov r9d, r10d
shl r8d, 8
mov ecx, edi
shr r9d, 2
or r8d, eax
lea edx, [rdi + r9 - 1]
mov eax, 0xffff
shr eax, cl
and r10d, 3
mov ecx, 0x10
and r8d, eax
sub ecx, edx
mov eax, edx
shr r8d, cl
shr rax, 3
lea ecx, [r9 - 1]
add rsi, rax
mov edi, edx
or r10d, 4
and edi, 7
shl r10d, cl
mov qword [rsp + 0x30], rsi
lea ebp, [r10 + r8 + 2]
mov dword [rsp + 0x38], edi
jmp 0x1010a951
cmp edx, 0x100
jne 0x1010a5a2
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.10109d30
test eax, eax
jne 0x1010aa3d
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov edi, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
jmp 0x1010a074
mov ebp, dword [rbx + 0x90]
test ebp, ebp
je 0x1010a070
jmp 0x1010a951
cmp edx, 0x132
jae 0x1010aa2d
mov eax, dword [rbx + 0x88]
lea r10d, [rdx - 0x106]
cmp r10d, 8
mov dword [rbx + 0x8c], eax
mov eax, dword [rbx + 0x84]
mov dword [rbx + 0x88], eax
mov dword [rbx + 0x84], r12d
jae 0x1010a5f3
lea ebp, [r10 + 2]
jmp 0x1010a646
movzx eax, byte [rsi + 1]
movzx r8d, byte [rsi]
mov r9d, r10d
shl r8d, 8
mov ecx, edi
shr r9d, 2
or r8d, eax
lea edx, [rdi + r9 - 1]
mov eax, 0xffff
shr eax, cl
and r10d, 3
mov ecx, 0x10
and r8d, eax
sub ecx, edx
mov eax, edx
shr r8d, cl
shr rax, 3
lea ecx, [r9 - 1]
mov edi, edx
or r10d, 4
add rsi, rax
and edi, 7
shl r10d, cl
lea ebp, [r10 + r8 + 2]
movzx eax, byte [rsi + 1]
movzx edx, byte [rsi]
mov ecx, 9
shl edx, 8
sub ecx, edi
or edx, eax
movzx eax, byte [rsi + 2]
shl edx, 8
or edx, eax
shr edx, cl
and edx, 0x7fff
cmp edx, dword [rbx + 0x7fc]
jae 0x1010a6a7
mov eax, edx
shr rax, 6
movzx r12d, word [rbx + rax*2 + 0x85c]
mov eax, r12d
and eax, 0xf
add edi, eax
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
shr r12d, 4
mov qword [rsp + 0x30], rsi
jmp 0x1010a718
cmp edx, dword [rbx + 0x800]
mov ecx, 0xa
mov r8, rcx
jb 0x1010a6dc
nop
nop
nop
inc r8
inc ecx
cmp edx, dword [rbx + r8*4 + 0x7d8]
jae 0x1010a6c0
cmp ecx, 0xf
jbe 0x1010a6dc
mov r12d, 0xffffffff
jmp 0x1010a722
sub edx, dword [rbx + r8*4 + 0x7d4]
add edi, ecx
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
mov eax, 0xf
sub eax, ecx
mov qword [rsp + 0x30], rsi
movzx ecx, al
shr edx, cl
add edx, dword [rbx + r8*4 + 0x81c]
movzx r12d, word [rbx + rdx*2 + 0xc5c]
cmp r12d, 4
jb 0x1010a951
cmp r12d, dword [rbx + 0x48]
jae 0x1010aa2d
mov edx, r12d
and r12d, 1
shr edx, 1
or r12d, 2
dec edx
mov ecx, edx
shl r12d, cl
cmp edx, 4
jae 0x1010a78b
movzx eax, byte [rsi + 1]
movzx r8d, byte [rsi]
add edx, edi
shl r8d, 8
mov ecx, edi
mov edi, edx
or r8d, eax
mov eax, 0xffff
and edi, 7
shr eax, cl
mov ecx, 0x10
mov dword [rsp + 0x38], edi
and r8d, eax
sub ecx, edx
mov eax, edx
shr rax, 3
shr r8d, cl
add rsi, rax
add r12d, r8d
mov qword [rsp + 0x30], rsi
jmp 0x1010a951
xor ecx, ecx
cmp edx, 0x11
setae cl
xor eax, eax
cmp edx, 0xc
setae al
add ecx, eax
xor eax, eax
cmp edx, 7
setae al
add ebp, eax
add ebp, ecx
cmp byte [rbx + 0x14], 0
je 0x1010a8f3
mov r8d, dword [rsi]
lea r9d, [rdx - 4]
mov r10d, 1
mov ecx, r9d
add r9d, edi
bswap r8d
shl r10d, cl
dec r10d
cmp r9d, 0x20
jbe 0x1010a7f4
movzx edx, byte [rsi + 4]
mov eax, r8d
mov ecx, 0x28
sub cl, r9b
shr edx, cl
lea ecx, [r9 - 0x20]
shl eax, cl
mov r8d, edx
or r8d, eax
jmp 0x1010a7ff
mov ecx, 0x20
sub ecx, r9d
shr r8d, cl
and r8d, r10d
mov eax, r9d
mov edi, r9d
shl r8d, 4
shr rax, 3
and edi, 7
add r12d, r8d
add rsi, rax
mov ecx, 9
movzx eax, byte [rsi + 1]
movzx r8d, byte [rsi]
sub ecx, edi
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi + 2]
shl r8d, 8
or r8d, eax
shr r8d, cl
and r8d, 0x7fff
cmp r8d, dword [rbx + 0xd00]
jae 0x1010a87d
mov eax, r8d
shr rax, 6
movzx ecx, word [rbx + rax*2 + 0xd60]
mov eax, ecx
and eax, 0xf
add edi, eax
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
shr ecx, 4
mov qword [rsp + 0x30], rsi
jmp 0x1010a8e5
cmp r8d, dword [rbx + 0xd04]
mov ecx, 0xa
mov rdx, rcx
jb 0x1010a8a8
nop
inc rdx
inc ecx
cmp r8d, dword [rbx + rdx*4 + 0xcdc]
jae 0x1010a890
cmp ecx, 0xf
ja 0x1010aa2d
sub r8d, dword [rbx + rdx*4 + 0xcd8]
add edi, ecx
mov eax, edi
and edi, 7
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
mov eax, 0xf
sub eax, ecx
mov qword [rsp + 0x30], rsi
movzx ecx, al
shr r8d, cl
add r8d, dword [rbx + rdx*4 + 0xd20]
movzx ecx, word [rbx + r8*2 + 0x1160]
cmp ecx, 0x10
jae 0x1010aa2d
add r12d, ecx
jmp 0x1010a951
mov r8d, dword [rsi]
mov ecx, edx
mov r9d, 1
shl r9d, cl
add edi, edx
bswap r8d
dec r9d
cmp edi, 0x20
jbe 0x1010a92c
movzx edx, byte [rsi + 4]
mov eax, r8d
mov ecx, 0x28
sub cl, dil
shr edx, cl
lea ecx, [rdi - 0x20]
shl eax, cl
mov r8d, edx
or r8d, eax
jmp 0x1010a936
mov ecx, 0x20
sub ecx, edi
shr r8d, cl
mov eax, edi
and edi, 7
and r8d, r9d
shr rax, 3
mov dword [rsp + 0x38], edi
add rsi, rax
add r12d, r8d
mov qword [rsp + 0x30], rsi
mov r11, qword [rbx + 0x40]
mov eax, r12d
mov dword [rbx + 0x90], ebp
cmp rax, r11
jb 0x1010a967
mov byte [rbx + 0x18], 1
mov r10, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x28]
mov r8d, ebp
mov rdx, r10
sub rcx, r10
sub rdx, rax
mov eax, ebp
dec rdx
and rdx, qword [rbx + 0x38]
cmp rax, rcx
jbe 0x1010a995
sub ebp, ecx
mov r8d, ecx
mov dword [rsp + 0x20], ebp
jmp 0x1010a999
mov ebp, dword [rsp + 0x20]
mov r9, qword [rbx + 0x20]
mov ecx, r8d
lea rax, [rcx + r11]
mov qword [rbx + 0x40], rax
lea rax, [rcx + r10]
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x30]
sub rax, rdx
cmp rax, rcx
jb 0x1010a9ea
lea rcx, [r9 + rdx]
sub r9, rcx
lea rdx, [r9 + r10]
nop
nop
nop
movzx eax, byte [rcx]
inc rcx
add r8d, 0xffffffff
mov byte [rdx + rcx - 1], al
jne 0x1010a9d0
mov r10, qword [rsp + 0x28]
jmp 0x1010a074
lea rcx, [r9 + r10]
nop
movzx eax, byte [r9 + rdx]
inc rcx
inc rdx
mov byte [rcx - 1], al
and rdx, qword [rbx + 0x38]
add r8d, 0xffffffff
jne 0x1010a9f0
mov r10, qword [rsp + 0x28]
jmp 0x1010a074
cmp rsi, r13
mov dword [rbx + 0x80], r12d
jb 0x1010aa27
cmp rsi, r13
ja 0x1010aa2d
test edi, edi
jne 0x1010aa2d
mov eax, dword [rsp + 0x78]
jmp 0x1010aa3d
mov eax, dword [rsp + 0x78]
mov ecx, 1
test eax, eax
cmovne ecx, eax
mov eax, ecx
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
add rsp, 0xa8
ret