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

Disassembly:
mov r11, rsp
push rbx
push rbp
push r12
push r15
sub rsp, 0xd8
mov rax, qword [0x14031a320]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov rbx, qword [rcx]
mov r12, rdx
movzx ebp, byte [rcx + 0xcf]
mov r15, rcx
mov dword [rsp + 0x74], r9d
mov dword [rsp + 0x58], r8d
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x90], rbx
mov byte [rsp + 0x50], bpl
bt rax, 0xe
jae 0x14006b380
mov rcx, qword [rdx + 0x70]
xor r10d, r10d
mov qword [r11 - 0x28], rsi
mov edx, 0xffff8000
mov qword [r11 - 0x30], rdi
mov dword [rsp + 0x54], edx
mov qword [r11 - 0x38], r13
test rcx, rcx
je 0x14006ab4f
mov rax, qword [rbx + 0x20]
mov edx, r10d
add rax, 0x18
mov dword [rsp + 0x54], edx
cmp qword [rax], rcx
je 0x14006ab4f
nop word [rax + rax]
inc edx
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x14006ab40
mov dword [rsp + 0x54], edx
mov rax, qword [rbx + 0x20]
mov r13, qword [r12 + 0x20]
mov esi, dword [rsp + 0x128]
mov rdi, qword [rsp + 0x120]
movsxd rcx, edx
shl rcx, 5
mov qword [rsp + 0xb8], r14
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x88], rcx
test r13, r13
je 0x14006aebd
lea r11, [0x1402e82e0]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x78], r10
mov r14d, r10d
mov qword [rsp + 0x98], r10
mov dword [rsp + 0x70], r10d
test rdi, rdi
je 0x14006ac39
mov rdx, qword [r12]
mov r9, qword [r13 + 0x10]
test rdx, rdx
jne 0x14006ac0c
neg r9
sbb ecx, ecx
test ecx, ecx
je 0x14006ac31
movsxd r9, dword [r13 + 0x28]
mov r8, r10
test r9, r9
jle 0x14006ae98
lea rcx, [r13 + 0x40]
movsxd rdx, dword [rcx]
cmp dword [rdi + rdx*4], 0
jge 0x14006ac31
movsx eax, word [r12 + 0x44]
cmp edx, eax
jne 0x14006abfb
test esi, esi
jne 0x14006ac31
inc r8
add rcx, 0x10
cmp r8, r9
jl 0x14006abe4
jmp 0x14006ae98
test r9, r9
je 0x14006abd0
sub r9, rdx
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x14006ac57
test ecx, ecx
jne 0x14006ac69
mov rcx, qword [rsp + 0x88]
cmp byte [r15 + 0xcf], 0
mov rax, qword [r13 + 0x10]
je 0x14006ac6e
mov r8, rcx
mov rdx, rax
mov rcx, rbx
call fcn.1400561f0
jmp 0x14006ac7e
movzx ecx, byte [rcx + r11]
movzx eax, byte [r8 + r11]
sub ecx, eax
jne 0x14006abcc
inc rdx
jmp 0x14006ac20
mov r9, rcx
mov r8, rax
mov rcx, r15
xor edx, edx
call fcn.1400565e0
mov rsi, rax
test rax, rax
je 0x14006afd2
lea rax, [rsp + 0x98]
mov r8, r13
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r15
call fcn.140068e30
test eax, eax
jne 0x14006afd2
mov rdi, qword [rsp + 0x98]
test rdi, rdi
je 0x14006acc4
mov r12, rdi
jmp 0x14006acd7
mov eax, dword [r13 + 0x40]
lea r12, [rsp + 0xa0]
mov dword [rsp + 0xa0], eax
mov r15, qword [rsp + 0x78]
xor ebp, ebp
mov qword [rsp + 0x80], r12
cmp dword [r13 + 0x28], ebp
jle 0x14006ad8d
mov rdi, qword [rsp + 0x90]
mov rbx, r12
mov r12, qword [rsp + 0x60]
xor r14d, r14d
mov rax, qword [rsp + 0x68]
movsx eax, word [rax + 0x44]
cmp dword [rbx], eax
jne 0x14006ad16
mov dword [rbx], 0xffffffff
cmp qword [rdi + 0x1d8], 0
je 0x14006ad60
test r15, r15
je 0x14006ad30
mov rax, qword [r15 + 8]
movzx ecx, word [r14 + rax]
jmp 0x14006ad34
movzx ecx, word [rsi + 0x44]
mov rax, qword [rsi + 8]
mov r9d, dword [rsp + 0x54]
mov rdx, qword [rsi]
movsx r8, cx
mov rcx, r12
shl r8, 5
mov r8, qword [r8 + rax]
call fcn.140055430
xor ecx, ecx
cmp eax, 2
sete cl
mov dword [rsp + 0x70], ecx
inc ebp
add rbx, 4
add r14, 2
cmp ebp, dword [r13 + 0x28]
jl 0x14006ad03
mov rdi, qword [rsp + 0x98]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x70]
mov rax, qword [rsi]
xor r9d, r9d
mov rbp, qword [rsp + 0x60]
mov r8d, dword [rsi + 0x38]
mov rcx, rbp
mov edx, dword [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140055600
inc dword [rbp + 0x34]
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14006ade5
mov edx, dword [rsp + 0x54]
mov r9, r15
mov dword [rsp + 0x40], r14d
mov r8, rsi
mov dword [rsp + 0x38], 0xffffffff
mov rcx, rbp
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
call fcn.1400691c0
mov r10d, dword [rsp + 0x74]
test r10d, r10d
je 0x14006ae5c
mov rax, qword [rbp + 0xa0]
mov rcx, rbp
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx + 0x178]
test rax, rax
je 0x14006ae29
mov rax, qword [rax]
cmp rax, qword [r13 + 0x30]
jne 0x14006ae1c
cmp byte [r13 + 0x2d], 8
je 0x14006ae5c
cmp rax, qword [r13 + 0x38]
jne 0x14006ae29
cmp byte [r13 + 0x2e], 8
je 0x14006ae5c
mov edx, dword [rsp + 0x54]
mov r9, r15
mov dword [rsp + 0x40], r14d
mov r8, rsi
mov dword [rsp + 0x38], 1
mov rcx, rbp
mov dword [rsp + 0x30], r10d
mov r15, rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
call fcn.1400691c0
jmp 0x14006ae5f
mov r15, rbp
test rdi, rdi
je 0x14006ae7d
cmp qword [rbx + 0x2e0], 0
je 0x14006af7e
mov rdx, rdi
mov rcx, rbx
call fcn.140004480
mov r12, qword [rsp + 0x68]
movzx ebp, byte [rsp + 0x50]
xor r10d, r10d
mov esi, dword [rsp + 0x128]
lea r11, [0x1402e82e0]
mov r13, qword [r13 + 8]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x88]
test r13, r13
jne 0x14006aba0
mov rcx, qword [r12 + 0x70]
xor r8d, r8d
mov rdx, qword [r12]
add rcx, 0x50
call fcn.140009440
mov r14, qword [rax + 0x10]
test r14, r14
je 0x14006b360
xor r13d, r13d
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
test rdi, rdi
je 0x14006af1b
mov r9d, esi
mov r8, rdi
mov rdx, r14
mov rcx, r12
call fcn.14006a980
test eax, eax
je 0x14006b347
cmp byte [r14 + 0x2c], r13b
jne 0x14006af3e
mov eax, dword [rbx + 0x30]
bt rax, 0x13
jb 0x14006af3e
cmp qword [r15 + 0xa0], r13
jne 0x14006af3e
cmp byte [r15 + 0x20], r13b
je 0x14006b347
lea rax, [rsp + 0x80]
mov r8, r14
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rcx, r15
call fcn.140068e30
test eax, eax
je 0x14006b199
test bpl, bpl
je 0x14006b360
cmp byte [rbx + 0x63], r13b
jne 0x14006b360
jmp 0x14006b347
cmp rdi, qword [rbx + 0x1d0]
jae 0x14006afc5
cmp rdi, qword [rbx + 0x1c0]
jb 0x14006afa6
mov rax, qword [rbx + 0x1b8]
mov qword [rdi], rax
mov qword [rbx + 0x1b8], rdi
jmp 0x14006ae7d
cmp rdi, qword [rbx + 0x1c8]
jb 0x14006afc5
mov rax, qword [rbx + 0x1a8]
mov qword [rdi], rax
mov qword [rbx + 0x1a8], rdi
jmp 0x14006ae7d
mov rcx, rdi
call fcn.140004410
jmp 0x14006ae7d
test bpl, bpl
je 0x14006b360
cmp byte [rbx + 0x63], 0
jne 0x14006b360
test rsi, rsi
jne 0x14006ae87
mov rbx, qword [r15 + 0x10]
test rbx, rbx
jne 0x14006b019
cmp qword [r15 + 0xa0], rbx
jne 0x14006b00e
mov rax, qword [r15]
test byte [rax + 0x5c], 8
jne 0x14006b00e
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.14002a390
mov rbx, rax
mov ecx, dword [r13 + 0x28]
xor r10d, r10d
mov edx, dword [rbx + 0x90]
mov esi, r10d
lea ebp, [rcx + 1]
add ebp, edx
test ecx, ecx
jle 0x14006b130
mov r15d, dword [rsp + 0x58]
lea rdi, [r13 + 0x40]
xor r12d, r12d
mov r10, qword [r13]
movsx ecx, word [rdi]
test byte [r10 + 0x40], 0x20
je 0x14006b0ae
test cx, cx
js 0x14006b0ae
mov r11d, r12d
movzx eax, r12w
test ecx, ecx
jle 0x14006b08b
mov r8, qword [r10 + 8]
mov r11d, ecx
add r8, 0x1c
mov r9d, ecx
nop
movzx ecx, byte [r8]
lea edx, [rax + 1]
and cl, 0x20
lea r8, [r8 + 0x20]
cmovne dx, ax
movzx eax, dx
sub r9, 1
jne 0x14006b070
mov rcx, qword [r10 + 8]
movsxd rdx, r11d
shl rdx, 5
test byte [rdx + rcx + 0x1c], 0x20
je 0x14006b0ab
movzx ecx, word [r10 + 0x48]
sub cx, ax
add cx, r11w
jmp 0x14006b0ae
movzx ecx, ax
movsx eax, cx
lea edx, [r15 + 1]
movsxd rcx, dword [rbx + 0x90]
add edx, eax
cmp dword [rbx + 0x94], ecx
jg 0x14006b0e0
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x32
mov r9d, ebp
mov rcx, rbx
call fcn.14002a730
jmp 0x14006b10d
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
inc esi
add rdi, 0x10
cmp esi, dword [r13 + 0x28]
jl 0x14006b042
mov edx, dword [rbx + 0x90]
xor r10d, r10d
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
movzx r8d, byte [r13 + 0x2c]
cmp dword [rbx + 0x94], edx
jg 0x14006b15a
mov edx, 0x99
mov dword [rsp + 0x20], r10d
mov r9d, 0xffffffff
mov rcx, rbx
call fcn.14002a730
jmp 0x14006ae82
movzx ebp, byte [rsp + 0x50]
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x99
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], 0xffffffff
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x14006ae8a
mov rbp, qword [r15]
mov edx, 0x78
mov rcx, rbp
call fcn.1400048c0
mov rdi, qword [rsp + 0x80]
mov rsi, rax
test rax, rax
je 0x14006b2db
mov dword [rax + 4], 1
xorps xmm0, xmm0
mov dword [rax], 1
xor edx, edx
movups xmmword [rax + 8], xmm0
mov rcx, rbp
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
movups xmmword [rax + 0x38], xmm0
movups xmmword [rax + 0x48], xmm0
movups xmmword [rax + 0x58], xmm0
movups xmmword [rax + 0x68], xmm0
mov dword [rax + 0x4c], 0xffffffff
movsxd rax, dword [rax]
imul rbx, rax, 0x70
call fcn.1400575c0
mov qword [rbx + rsi - 0x58], rax
mov qword [rbx + rsi - 0x60], r13
mov rdx, qword [r14]
mov rbp, qword [rsp + 0x78]
mov qword [rsi + 0x28], rdx
mov rax, qword [r14]
mov rcx, qword [rax]
mov qword [rsi + 0x18], rcx
inc dword [rdx + 0x3c]
mov eax, dword [r15 + 0x34]
mov dword [rsi + 0x4c], eax
inc dword [r15 + 0x34]
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x14006b25e
mov dword [rsp + 0x38], 0xffffffff
mov r9, rbp
mov dword [rsp + 0x30], eax
mov r8, r12
mov qword [rsp + 0x28], rdi
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x20], r14
call fcn.14006a050
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x14006b2c4
cmp qword [rsp + 0x120], r13
mov rax, r13
mov dword [rsp + 0x38], 1
mov r9, rbp
mov dword [rsp + 0x30], ecx
setne al
mov qword [rsp + 0x28], rdi
mov r8, r12
mov rdx, rsi
mov qword [rsp + 0x20], r14
mov rcx, r15
movzx ebx, byte [rax + r14 + 0x2d]
call fcn.14006a050
cmp byte [r14 + 0x2c], r13b
jne 0x14006b2c4
sub bl, 8
test bl, 0xfd
je 0x14006b2c4
mov rax, qword [r15 + 0xa0]
mov rcx, r15
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rbx, qword [rsp + 0x90]
mov rdx, rsi
mov rcx, rbx
mov qword [rsi + 0x18], r13
call fcn.14005f680
test rdi, rdi
je 0x14006b33f
cmp qword [rbx + 0x2e0], r13
je 0x14006b2f6
mov rdx, rdi
mov rcx, rbx
call fcn.140004480
jmp 0x14006b33f
cmp rdi, qword [rbx + 0x1d0]
jae 0x14006b337
cmp rdi, qword [rbx + 0x1c0]
jb 0x14006b31b
mov rax, qword [rbx + 0x1b8]
mov qword [rdi], rax
mov qword [rbx + 0x1b8], rdi
jmp 0x14006b33f
cmp rdi, qword [rbx + 0x1c8]
jb 0x14006b337
mov rax, qword [rbx + 0x1a8]
mov qword [rdi], rax
mov qword [rbx + 0x1a8], rdi
jmp 0x14006b33f
mov rcx, rdi
call fcn.140004410
mov rdi, qword [rsp + 0x120]
mov r14, qword [r14 + 0x18]
mov esi, dword [rsp + 0x128]
movzx ebp, byte [rsp + 0x50]
test r14, r14
jne 0x14006aef0
mov r14, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140252d20
add rsp, 0xd8
pop r15
pop r12
pop rbp
pop rbx
ret