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

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
xor r12d, r12d
mov rbp, r8
mov r10, rcx
mov r8, rdx
mov r13d, r12d
mov r15d, r12d
mov qword [rsp + 0x68], r12
cmp word [rsp + 0x110], r12w
je 0x14006e085
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x5c], 0x40
je 0x14006e07d
xor al, al
jmp 0x14006e850
mov r10, qword [rsp + 0xf0]
movzx eax, word [rdx]
mov word [rsp + 0x58], ax
cmp ax, 0x3f
ja 0x14006e076
mov r14d, 1
movzx edi, ax
mov eax, 0x803
mov ecx, edi
mov edx, r14d
mov r11b, r14b
shl rdx, cl
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x88], r12
sub rdx, r14
mov dword [rsp + 0x34], r11d
mov rsi, r12
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x5c], 0x182
mov qword [rsp + 0x80], rdx
test ax, r9w
je 0x14006e0e8
mov eax, 0x183
mov word [rsp + 0x5c], ax
mov ecx, r12d
mov rbx, r12
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x78], rbx
cmp r15, rdx
jae 0x14006e818
movzx eax, word [rsp + 0x110]
cmp ecx, eax
jg 0x14006e815
test ecx, ecx
jle 0x14006e11d
or rsi, qword [r13 + 8]
mov qword [rsp + 0x50], rsi
cmp ecx, eax
jge 0x14006e142
mov rax, qword [rbp + 0x18]
mov r13, qword [rax + rbx*8]
mov eax, 0x800
mov qword [rsp + 0x90], r13
test ax, r9w
jne 0x14006e7df
jmp 0x14006e152
mov r13, qword [rsp + 0x118]
mov qword [rsp + 0x90], r13
test dword [r13 + 0x28], 0x400
jne 0x14006e802
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x60], ax
je 0x14006e178
mov word [r13 + 0x1e], r12w
movzx ecx, byte [r13 + 0x10]
mov rax, qword [r10 + 8]
imul rcx, rcx, 0x70
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x40], edx
test edi, edi
jle 0x14006e2f8
lea rbp, [r8 + 8]
mov ecx, r12d
shl r14, cl
test r15, r14
jne 0x14006e2c7
mov rcx, qword [rbp]
call fcn.140033608
xor r11d, r11d
mov rbx, rax
test rax, rax
je 0x14006e2c7
cmp byte [rax], 0xa6
je 0x14006e1ce
cmp byte [rax], 0xa8
jne 0x14006e2c7
cmp dword [rax + 0x2c], edx
jne 0x14006e2c7
movzx eax, word [rsp + 0x5c]
movsx r8d, word [rbx + 0x30]
mov qword [rsp + 0x28], r11
mov r9, rsi
lea rcx, [r10 + 0x70]
mov dword [rsp + 0x20], eax
not r9
call fcn.14006acc8
xor r11d, r11d
mov rsi, rax
test rax, rax
je 0x14006e2b6
lea r9d, [r11 + 1]
cmp word [rax + 0x14], r9w
jne 0x14006e23c
movzx edx, word [r13 + 0x2c]
mov ecx, r11d
test edx, edx
jle 0x14006e238
mov r8, qword [r13 + 0x38]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x14006e238
movzx eax, word [r13 + 0x2c]
add ecx, r9d
cmp ecx, eax
jl 0x14006e223
cmp ecx, edx
jge 0x14006e2b6
test byte [rsi + 0x14], 0x82
je 0x14006e2ad
cmp word [rbx + 0x30], r11w
jl 0x14006e2ad
mov rbx, qword [rsp + 0xf0]
mov rdx, qword [rbp]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.140033634
mov rdi, rax
test rax, rax
jne 0x14006e26f
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
test dword [rdx + 4], 0x200
je 0x14006e288
mov r8, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
jmp 0x14006e290
mov r8, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
call fcn.14003387c
test rax, rax
je 0x14006e2b2
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.1400065c0
mov edi, dword [rsp + 0x3c]
test eax, eax
jne 0x14006e2b6
or r15, r14
jmp 0x14006e2b6
mov edi, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
mov r10, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x50]
mov r14d, 1
add rbp, 0x20
add r12d, r14d
cmp r12d, edi
jl 0x14006e199
mov r11d, dword [rsp + 0x34]
mov r8, qword [rsp + 0xf8]
movzx r9d, word [rsp + 0x108]
mov qword [rsp + 0x68], r15
xor r12d, r12d
test dword [r13 + 0x28], 0x1000
jne 0x14006e703
test dword [r13 + 0x28], 0x100
je 0x14006e326
lea edx, [r12 + 1]
mov r14d, r12d
mov word [rsp + 0x4c], r12w
movzx eax, dx
jmp 0x14006e374
mov r14, qword [r13 + 0x20]
test r14, r14
je 0x14006e076
test byte [r14 + 0x64], 4
jne 0x14006e076
movzx eax, word [r14 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r14 + 0x60]
cmp byte [r14 + 0x62], r12b
je 0x14006e367
test dword [r13 + 0x28], 0x8000
jne 0x14006e367
mov edx, 1
mov r11b, dl
jmp 0x14006e36f
mov r11b, r12b
mov edx, 1
mov dword [rsp + 0x34], r11d
movzx eax, ax
mov bpl, r12b
mov byte [rsp + 0x38], r12b
mov byte [rsp + 0x39], r12b
mov ebx, r12d
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x70], eax
test eax, eax
jle 0x14006e6fd
movzx r10d, word [r13 + 0x18]
mov byte [rsp + 0x30], dl
cmp ebx, r10d
jge 0x14006e41a
movzx eax, word [r13 + 0x2e]
cmp ebx, eax
jl 0x14006e41a
mov r8, qword [r13 + 0x38]
movsxd rax, ebx
mov rcx, qword [r8 + rax*8]
mov eax, dword [rsp + 0x5c]
test word [rcx + 0x14], ax
je 0x14006e3e7
mov r8, qword [rsp + 0xf8]
mov eax, 0x180
test word [rcx + 0x14], ax
je 0x14006e69f
mov r11b, r12b
mov dword [rsp + 0x34], r11d
jmp 0x14006e69f
test byte [rcx + 0x14], dl
je 0x14006e41a
mov r9, qword [rcx]
lea edx, [rbx + 1]
cmp edx, r10d
jge 0x14006e415
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r9
je 0x14006e410
movzx eax, word [r13 + 0x18]
inc edx
cmp edx, eax
jl 0x14006e3f7
jmp 0x14006e415
mov byte [rsp + 0x30], r12b
mov edx, 1
test r14, r14
je 0x14006e524
mov rax, qword [r14 + 8]
movsxd rcx, ebx
movsx r12d, word [rax + rcx*2]
mov rax, qword [r14 + 0x38]
mov r15b, byte [rcx + rax]
mov rax, qword [r14 + 0x18]
movsx ecx, word [rax + 0x44]
and r15b, dl
cmp r12d, ecx
jne 0x14006e44b
or r12d, 0xffffffff
xor r9d, r9d
test r11b, r11b
je 0x14006e488
test r12d, r12d
js 0x14006e477
cmp ebx, r10d
jl 0x14006e477
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 8]
movsxd rax, r12d
shl rax, 5
mov al, byte [rax + rcx + 0x18]
neg al
sbb cl, cl
and r11b, cl
movzx r11d, r11b
cmp r12d, 0xfffffffe
cmove r11d, r9d
mov dword [rsp + 0x34], r11d
mov al, byte [rsp + 0x30]
mov esi, r9d
test al, al
je 0x14006e6b9
cmp esi, edi
jge 0x14006e6b0
mov rdi, qword [rsp + 0x68]
mov eax, esi
bt rdi, rax
jb 0x14006e61b
mov r8, qword [rsp + 0xf8]
movsxd rbp, esi
shl rbp, 5
mov rcx, qword [r8 + rbp + 8]
call fcn.140033608
mov rdx, rax
test rax, rax
je 0x14006e508
mov al, byte [rsp + 0x108]
and al, 0xc0
neg al
sbb al, al
and al, byte [rsp + 0x30]
mov byte [rsp + 0x30], al
cmp r12d, 0xffffffff
jl 0x14006e533
cmp byte [rdx], 0xa6
je 0x14006e4f6
cmp byte [rdx], 0xa8
jne 0x14006e50c
mov ecx, dword [rsp + 0x40]
cmp dword [rdx + 0x2c], ecx
jne 0x14006e50c
movsx eax, word [rdx + 0x30]
cmp eax, r12d
je 0x14006e571
mov al, byte [rsp + 0x30]
mov edx, 1
add esi, edx
test al, al
je 0x14006e6b0
mov edi, dword [rsp + 0x3c]
jmp 0x14006e497
or r12d, 0xffffffff
xor r9d, r9d
mov r15b, r9b
jmp 0x14006e44e
mov rax, qword [r14 + 0x50]
movsxd rcx, ebx
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140033608
mov rcx, rdx
mov r8, rax
call fcn.140033608
mov r9d, dword [rsp + 0x40]
mov rdx, rax
xor ecx, ecx
call fcn.140039758
xor r9d, r9d
test eax, eax
jne 0x14006e508
mov r8, qword [rsp + 0xf8]
cmp r12d, 0xffffffff
je 0x14006e5c1
mov rax, qword [rsp + 0xf0]
mov rdx, qword [r8 + rbp + 8]
mov rdi, qword [rax]
mov rcx, rdi
call fcn.140033634
mov rcx, rax
test rax, rax
jne 0x14006e59e
mov rax, qword [rdi]
mov rcx, qword [rax + 0x10]
mov rdx, qword [r14 + 0x40]
mov rcx, qword [rcx]
movsxd rax, ebx
mov rdx, qword [rdx + rax*8]
call fcn.1400065c0
xor r9d, r9d
test eax, eax
jne 0x14006e508
mov rdi, qword [rsp + 0x68]
mov edx, 1
cmp word [rsp + 0x60], r9w
je 0x14006e5d6
lea eax, [rdx + rbx]
mov word [r13 + 0x1e], ax
movzx r9d, word [rsp + 0x108]
mov r8, qword [rsp + 0xf8]
test r9b, 0x40
jne 0x14006e656
xor eax, eax
cmp byte [rsp + 0x38], al
movsxd rax, esi
je 0x14006e624
xor r15b, byte [rsp + 0x39]
shl rax, 5
mov cl, byte [rax + r8 + 0x18]
and cl, dl
cmp r15b, cl
je 0x14006e656
mov r11d, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x44]
jmp 0x14006e6ca
mov al, byte [rsp + 0x30]
jmp 0x14006e511
shl rax, 5
mov dl, byte [rax + r8 + 0x18]
and dl, 1
xor dl, r15b
mov byte [rsp + 0x39], dl
mov edx, 1
je 0x14006e652
mov ecx, dword [rsp + 0x48]
mov eax, edx
shl rax, cl
mov rcx, qword [rsp + 0x120]
or qword [rcx], rax
mov byte [rsp + 0x38], dl
movsxd rax, esi
shl rax, 5
test byte [rax + r8 + 0x18], 2
je 0x14006e674
movzx eax, word [r13 + 0x18]
cmp ebx, eax
jne 0x14006e60d
bts dword [r13 + 0x28], 0x13
mov ebp, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x34]
cmp r12d, 0xffffffff
movzx ebp, bpl
mov ecx, esi
mov rax, rdx
cmove ebp, edx
shl rax, cl
or rdi, rax
mov dword [rsp + 0x44], ebp
xor r12d, r12d
mov qword [rsp + 0x68], rdi
add ebx, edx
cmp ebx, dword [rsp + 0x70]
jge 0x14006e6dd
mov edi, dword [rsp + 0x3c]
jmp 0x14006e397
mov ebp, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x34]
mov r8, qword [rsp + 0xf8]
movzx r9d, word [rsp + 0x108]
xor r12d, r12d
test ebx, ebx
je 0x14006e6da
movzx eax, word [rsp + 0x4c]
cmp ebx, eax
jge 0x14006e6dd
mov r11b, r12b
mov r15, qword [rsp + 0x68]
movzx eax, r11b
test bpl, bpl
mov r14d, 1
cmovne eax, r14d
mov r11b, al
mov dword [rsp + 0x34], r11d
jmp 0x14006e703
mov r14d, 1
mov edi, dword [rsp + 0x3c]
test r11b, r11b
je 0x14006e7c6
mov r14, qword [rsp + 0x88]
mov ebx, r12d
or r14, qword [r13 + 8]
mov qword [rsp + 0x88], r14
test edi, edi
jle 0x14006e7c0
mov r13, qword [rsp + 0xf0]
lea r12, [r8 + 8]
mov ecx, ebx
mov edi, 1
shl rdi, cl
test r15, rdi
jne 0x14006e78c
mov rbp, qword [r12]
xor eax, eax
test rbp, rbp
je 0x14006e764
lea rcx, [r13 + 0x258]
mov rdx, rbp
call fcn.14006a6bc
mov rsi, rax
test rax, rax
jne 0x14006e77e
lea edx, [rax + 1]
xor r8d, r8d
mov rcx, rbp
call fcn.14003574c
test eax, eax
je 0x14006e78c
mov rax, r14
not rax
test rsi, rax
jne 0x14006e78c
or r15, rdi
mov edi, dword [rsp + 0x3c]
inc ebx
add r12, 0x20
cmp ebx, edi
jl 0x14006e73b
mov r13, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x34]
mov r8, qword [rsp + 0xf8]
movzx r9d, word [rsp + 0x108]
mov qword [rsp + 0x68], r15
xor r12d, r12d
mov r14d, 1
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x100]
add qword [rsp + 0x78], r14
add ecx, r14d
mov dword [rsp + 0x48], ecx
test r11b, r11b
je 0x14006e815
mov r10, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x78]
jmp 0x14006e0f7
cmp byte [r13 + 0x1d], r12b
je 0x14006e815
mov eax, 0x80
test al, r9b
jne 0x14006e815
mov r15, rdx
cmp r15, rdx
jne 0x14006e820
mov al, byte [rsp + 0x58]
jmp 0x14006e850
test r11b, r11b
jne 0x14006e84e
lea ecx, [rdi - 1]
jmp 0x14006e841
mov rdx, r14
shl rdx, cl
sub rdx, r14
mov rax, rdx
and rax, r15
cmp rax, rdx
je 0x14006e84a
sub ecx, r14d
test ecx, ecx
jg 0x14006e82a
jmp 0x14006e076
mov al, cl
jmp 0x14006e850
mov al, 0xff
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret