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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rax, qword [rcx]
mov rbx, qword [rcx + 0x10]
mov qword [rsp + 0x1b8], rdx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x38], rax
movzx eax, byte [rbx + 0x10]
mov qword [rsp + 0x1b0], rcx
imul rax, rax, 0x68
mov word [rsp + 0x72], 0xffff
lea rsi, [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov rbp, qword [rsi + 0x20]
mov qword [rsp + 0x40], rax
test byte [rsi + 0x40], 2
je 0x14026a5f3
mov r15, qword [rsi + 0x60]
jmp 0x14026a682
mov eax, dword [rbp + 0x30]
and eax, 0x80
je 0x14026a603
mov r15, qword [rbp + 0x10]
jmp 0x14026a682
lea r15, [rsp + 0xc0]
mov ecx, 0x28
mov word [rsp + 0x76], 0
mov rdi, r15
rep stosd dword [rdi], eax
lea rax, [rsp + 0x72]
mov dword [rsp + 0x11c], 0x10003
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0x122], 5
mov byte [rsp + 0x124], 3
mov ax, word [rbp + 0x3a]
mov qword [rsp + 0xd8], rbp
mov word [rsp + 0x120], 1
mov word [rsp + 0x74], ax
test byte [rsi + 0x40], 1
jne 0x14026a682
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x1b0]
xor edi, edi
cmp qword [rax + 0x18], 0
jne 0x14026a6ac
mov rax, qword [rsp + 0x38]
test word [rax + 0x3c], 0x1020
jne 0x14026a6ac
mov rax, qword [rax]
mov rax, qword [rax]
test byte [rax + 0x31], 0x80
jne 0x14026a6b9
mov dword [rsp + 0x54], 1
jmp 0x14026a7f4
mov al, byte [rsi + 0x40]
test al, 3
jne 0x14026a6ac
test byte [rbp + 0x30], 0x80
jne 0x14026a6ac
test al, 0x48
jne 0x14026a6ac
test byte [rsi + 0x3c], 0x10
jne 0x14026a6ac
mov rax, qword [rsp + 0x40]
movsx ecx, word [rbp + 0x3a]
movsxd r13, dword [rax + 0x14]
mov r12, qword [rax + 0x20]
mov r14d, ecx
imul r13, r13, 0x38
lea rax, [r12 + r13]
mov qword [rsp + 0x48], rax
call fcn.1401cf9d0
add r14d, eax
cwde
mov dword [rsp + 0x54], eax
lea eax, [r14 - 0x19]
mov word [rsp + 0x58], ax
test edi, edi
jne 0x14026a6ac
mov rax, qword [rsp + 0x48]
cmp r12, rax
jae 0x14026a6ac
mov r13, qword [r12 + 0x28]
mov edi, 0
mov rax, r13
and rax, qword [rbx + 8]
jne 0x14026a7b9
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call fcn.140263000
mov edi, eax
test eax, eax
je 0x14026a7b9
xor eax, eax
mov word [rbx + 0x18], 1
mov qword [rbx + 0x20], rax
mov rax, qword [rbx + 0x48]
mov dword [rbx + 0x3c], 1
mov qword [rax], r12
cmp byte [rbp + 0x3f], 2
je 0x14026a76a
lea eax, [r14 + 0x1c]
test byte [rbp + 0x31], 0x40
je 0x14026a76e
mov eax, dword [rsp + 0x58]
xor edx, edx
test ax, ax
mov word [rbx + 0x16], 0x2b
mov ecx, dword [rsp + 0x54]
cmovs eax, edx
mov edx, 0x2b
mov word [rbx + 0x12], ax
call fcn.140232800
mov dword [rbx + 0x38], 0x4000
mov rcx, qword [rsp + 0x1b0]
mov rdx, rbx
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x1b8]
or rax, r13
mov qword [rbx], rax
call fcn.14026d050
mov edi, eax
add r12, 0x38
jmp 0x14026a707
test r15, r15
je 0x14026ac93
mov r9, qword [r15 + 0x48]
test r9, r9
jne 0x14026a7fd
mov al, byte [r15 + 0x65]
and al, 1
mov byte [rsp + 0x48], al
je 0x14026a814
xor edi, edi
test byte [rsi + 0x40], 2
jne 0x14026ac8b
mov r15, qword [r15 + 0x28]
inc dword [rsp + 0x54]
test edi, edi
je 0x14026a7c2
jmp 0x14026ac93
movzx edx, byte [rsi + 0x3c]
mov ecx, dword [rsi + 0x44]
mov r8, qword [rsp + 0x40]
call fcn.14026ea40
test eax, eax
jne 0x14026a7d4
jmp 0x14026a7e0
mov rax, qword [r15 + 0x10]
xor edi, edi
xor r12d, r12d
mov r14w, word [rax]
mov rax, qword [rsp + 0x1b8]
mov byte [rbx + 0x11], 0
mov dword [rbx + 0x18], edi
mov qword [rbx], rax
mov eax, dword [rsi + 0x44]
mov word [rbx + 0x1c], 0
mov dword [rbx + 0x3c], r12d
mov word [rbx + 0x12], 0
mov word [rbx + 0x16], r14w
mov qword [rbx + 0x20], r15
mov dword [rsp + 0x58], eax
test byte [r15 + 0x64], 4
je 0x14026a861
xor edi, edi
jmp 0x14026a92e
mov rax, qword [rsp + 0x1b0]
xor edi, edi
mov rax, qword [rax]
mov r13, qword [rax + 0x10]
test r13, r13
je 0x14026a85a
cmp dword [r13], edi
jle 0x14026a85a
mov rax, rdi
shl rax, 5
mov rcx, qword [r13 + rax + 8]
call fcn.140221f70
mov rcx, rax
test rax, rax
jne 0x14026a89b
inc rdi
jmp 0x14026a877
cmp byte [rax], 0xa7
jne 0x14026a8d7
mov eax, dword [rsp + 0x58]
cmp eax, dword [rcx + 0x2c]
jne 0x14026a8d7
mov edx, dword [rcx + 0x30]
test dx, dx
jns 0x14026a8b8
mov edi, 1
jmp 0x14026a92e
movzx ecx, word [r15 + 0x5e]
xor eax, eax
cmp ecx, eax
jle 0x14026a896
mov r8, qword [r15 + 8]
mov r8w, word [r8 + rax*2]
inc rax
cmp dx, r8w
jne 0x14026a8bf
jmp 0x14026a8b1
mov r9, qword [r15 + 0x50]
test r9, r9
je 0x14026a896
xor r12d, r12d
movzx eax, word [r15 + 0x5e]
cmp eax, r12d
jle 0x14026a896
mov rax, qword [r15 + 8]
cmp word [rax + r12*2], 0xfffe
je 0x14026a8fe
inc r12
jmp 0x14026a8e3
mov rax, r12
mov r8d, dword [rsp + 0x58]
mov qword [rsp + 0x68], r9
shl rax, 5
mov qword [rsp + 0x60], rcx
mov rdx, qword [r9 + rax + 8]
call fcn.140220bd0
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
test eax, eax
jne 0x14026a8f9
jmp 0x14026a8b1
mov al, byte [r15 + 0x64]
mov edx, eax
not edx
and dl, 3
jne 0x14026a978
test edi, edi
cmovne edi, dword [rsp + 0x54]
mov edx, r14d
mov rcx, qword [rsp + 0x40]
mov dword [rbx + 0x38], 0x100
movsx r8d, r14w
mov byte [rbx + 0x11], dil
mov eax, dword [rbp + 0x30]
shr eax, 0xc
and eax, 2
sub edx, eax
lea eax, [rdx + 0x10]
mov rdx, rbx
mov word [rbx + 0x14], ax
call fcn.14026d2a0
jmp 0x14026abc4
test al, 0x20
je 0x14026a989
xor r11d, r11d
mov qword [rsp + 0x78], r11
jmp 0x14026aa1d
mov r8, qword [r15 + 0x48]
mov rax, qword [rsi + 0x50]
and rax, qword [r15 + 0x98]
mov qword [rsp + 0x78], rax
test r8, r8
je 0x14026a9c7
xor r9d, r9d
mov rax, qword [rsp + 0x38]
xor r10d, r10d
mov rdx, r15
mov qword [rsp + 0x28], r9
lea r9, [rsp + 0x78]
mov dword [rsp + 0x20], r10d
mov rcx, qword [rax]
call fcn.14026d6f0
mov edx, 1
mov rax, qword [rsp + 0x78]
mov dword [rbx + 0x38], 0x200
shl rdx, 0x3f
cmp rax, rdx
je 0x14026a9f2
mov dl, byte [r15 + 0x65]
and edx, 0xc
cmp dl, 8
jne 0x14026aa18
test rax, rax
je 0x14026aa1d
mov rax, qword [rsp + 0x38]
mov r8d, dword [rsi + 0x44]
mov rdx, r15
mov rcx, qword [rax + 0x20]
call fcn.14026a090
test eax, eax
je 0x14026aa24
xor r8d, r8d
or dword [rbx + 0x38], eax
mov qword [rsp + 0x78], r8
jmp 0x14026aa24
test rax, rax
jne 0x14026aa24
mov dword [rbx + 0x38], 0x240
mov rcx, qword [rsp + 0x78]
test edi, edi
jne 0x14026aa94
test byte [rbp + 0x30], 0x80
jne 0x14026aa9c
cmp qword [r15 + 0x48], 0
jne 0x14026aa9c
test byte [rsi + 0x40], 2
jne 0x14026aa9c
test rcx, rcx
jne 0x14026abe3
mov al, byte [r15 + 0x64]
and al, 4
mov byte [rsp + 0x48], al
jne 0x14026abe3
mov eax, dword [rbp + 0x3c]
cmp word [r15 + 0x5c], ax
jge 0x14026abe3
mov rax, qword [rsp + 0x38]
test byte [rax + 0x3c], 4
jne 0x14026abe3
cmp byte [0x140276b87], 0
je 0x14026abe3
mov rax, qword [rax]
mov rax, qword [rax]
test byte [rax + 0x60], 0x20
je 0x14026aa9c
jmp 0x14026abe3
mov al, byte [rsp + 0x54]
mov byte [rsp + 0x48], al
mov al, byte [rsp + 0x48]
mov byte [rbx + 0x11], al
movsx eax, word [r15 + 0x5c]
movsx r8d, word [rbp + 0x3c]
imul eax, eax, 0xf
cdq
idiv r8d
lea eax, [r14 + rax + 1]
mov word [rbx + 0x14], ax
test rcx, rcx
je 0x14026ab9f
lea rax, [rsp + 0x90]
mov r9d, dword [rsi + 0x44]
lea r12d, [r14 + 0x10]
xor r8d, r8d
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0x84], r8d
jle 0x14026ab66
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
imul r13, r8, 0x38
mov ecx, 0xa
mov qword [rsp + 0x60], r8
add r13, qword [rax + 0x90]
xor eax, eax
mov dword [rsp + 0x58], r9d
mov rdx, qword [r13]
mov dword [rsp + 0x88], r9d
rep stosd dword [rdi], eax
lea rax, [0x1401d19b0]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0xb8], rax
call fcn.1402516d0
mov r9d, dword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
cmp word [rsp + 0xb4], 0
je 0x14026ab79
movsx ecx, word [rbx + 0x14]
movsx edx, r12w
call fcn.140232800
mov word [rbx + 0x14], ax
jmp 0x14026ab9f
mov eax, dword [r13 + 0x10]
test ax, ax
jg 0x14026ab87
add r12d, eax
jmp 0x14026ab97
test byte [r13 + 0x14], 0x82
jne 0x14026ab93
dec r12d
jmp 0x14026ab97
sub r12d, 0x14
inc r8
jmp 0x14026aade
mov rcx, qword [rsp + 0x40]
movsx r8d, r14w
mov rdx, rbx
call fcn.14026d2a0
test byte [rsi + 0x3c], 0x10
je 0x14026abc4
cmp qword [r15 + 0x50], 0
je 0x14026abc4
mov word [rbx + 0x16], r14w
jmp 0x14026abe3
mov rcx, qword [rsp + 0x1b0]
mov rdx, rbx
call fcn.14026d050
mov word [rbx + 0x16], r14w
mov edi, eax
test eax, eax
jne 0x14026ac93
mov rax, qword [rsp + 0x1b0]
xor r9d, r9d
mov r8, r15
mov rdx, rsi
mov byte [rax + 0x2c], 0
mov rcx, rax
call fcn.14026acb0
mov edi, eax
mov rax, qword [rsp + 0x1b0]
cmp byte [rax + 0x2c], 1
jne 0x14026ac17
or dword [rbp + 0x30], 0x100
mov rax, qword [rsp + 0x1b0]
mov r12, qword [rax + 0x20]
test r12, r12
je 0x14026ac73
mov rax, qword [r12]
mov r14, qword [r12 + 8]
xor r13d, r13d
movzx eax, word [rax + 8]
mov dword [rsp + 0x48], eax
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x48], r13d
jle 0x14026ac5d
mov rcx, r14
inc r13d
add r14, 0x38
call fcn.14024ea30
jmp 0x14026ac45
mov rcx, qword [r12]
call fcn.140232140
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.14021b360
mov rax, qword [rsp + 0x1b0]
xor edx, edx
xor ecx, ecx
mov dword [rax + 0x28], edx
mov qword [rax + 0x20], rcx
jmp 0x14026a7e2
xor r15d, r15d
jmp 0x14026a7f0
mov eax, edi
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret