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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x9c8
movaps xmmword [rsp + 0x9b0], xmm6
mov rsi, r9
mov r14, r8
mov r15, rdx
mov rbx, rcx
lea rdi, [rsp + 0x4e0]
mov rcx, rdi
call fcn.14026a2d4
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x160], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x170], rax
mov ebp, dword [rdi + 0x18]
mov r12d, dword [rdi + 0x1c]
mov r13d, dword [rdi + 0x20]
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0x2a]
mov dword [rsp + 0x68], eax
movzx eax, word [rdi + 0x2e]
mov word [rsp + 0x6c], ax
xor eax, eax
mov dword [rdi + 0x20], eax
mov word [rdi + 0x24], 0
mov qword [rdi], 0
mov dword [rdi + 8], eax
movaps xmm6, xmmword [0x14039afc0]
movups xmmword [rdi + 0x10], xmm6
mov al, 1
mov byte [rdi + 0x21], al
mov byte [rdi + 0x24], al
mov byte [rdi + 0x23], al
lea r8, [rsp + 0x4e0]
mov rcx, r15
mov rdx, r14
call fcn.140231440
mov rdi, rdx
test rax, rax
je 0x14026fdc9
mov qword [rbx + 8], rdi
mov qword [rbx], 0
jmp 0x14027084c
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x4c], ebp
mov qword [rsp + 0x30], rbx
lea r14, [rsp + 0x4e0]
mov rcx, r14
call fcn.14005c5ec
xorps xmm0, xmm0
lea rax, [rsp + 0x1d0]
mov ecx, 1
mov qword [rax], rcx
mov edx, 1
mov qword [rax + 8], rdi
xor ebx, ebx
mov qword [rax + 0x18], rbx
mov qword [rax + 0x70], rbx
mov ecx, 8
mov qword [rax + 0x78], rcx
movaps xmmword [rax + 0x80], xmm0
movaps xmmword [rax - 0x10], xmm0
movups xmm0, xmmword [r14]
movaps xmmword [rax - 0x20], xmm0
mov dword [rax + 0xa0], 0
mov qword [rax + 0x90], rdx
mov qword [rax + 0x98], rbx
movaps xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x3c], eax
movzx eax, word [rsp + 0x6c]
mov word [rsp + 0x40], ax
lea r12, [rsp + 0x50]
mov qword [r12], rbx
mov qword [r12 + 8], rcx
mov qword [r12 + 0x10], rbx
mov r13, qword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov rcx, r15
call fcn.1402709f3
mov rdi, rax
mov r14, rdx
mov rcx, rdx
mov qword [rsp + 0x90], r13
mov rdx, r13
mov r8, r15
call fcn.14038a820
mov bpl, byte [rsi + 0x18]
mov rcx, r12
xor edx, edx
call fcn.14012d798
mov rax, qword [r12 + 8]
mov rsi, qword [r12 + 0x10]
mov rcx, rsi
shl rcx, 5
mov qword [rax + rcx], rdi
mov qword [rax + rcx + 8], r14
mov qword [rsp + 0x88], r15
mov qword [rax + rcx + 0x10], r15
mov edx, 8
mov byte [rax + rcx + 0x18], bpl
inc rsi
mov qword [r12 + 0x10], rsi
lea rax, [rsp + 0x98]
mov qword [rax], rbx
mov ecx, 1
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbx
lea r12, [rsp + 0x280]
add rdx, r12
mov qword [rsp + 0x138], rdx
lea r9, [rsp + 0x159]
mov r8d, dword [rsp + 0x38]
mov eax, r8d
or eax, 0x4000
mov dword [rsp + 0x84], eax
or r8d, 0x8000
lea rdx, [rsp + 0x140]
mov r15, qword [sym.imp.kernel32.dll_HeapFree]
mov dword [rsp + 0x38], r8d
test rsi, rsi
je 0x1402708a4
dec rsi
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x58]
mov r10, rsi
shl r10, 5
mov cl, byte [rax + r10 + 0x18]
cmp cl, 2
je 0x1402708a6
add rax, r10
mov r8, qword [rax + 0x10]
mov qword [rsp + 0x150], r8
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x140], xmm0
mov byte [rsp + 0x158], cl
mov ecx, dword [rax + 0x19]
mov eax, dword [rax + 0x1c]
mov dword [r9 + 3], eax
mov dword [r9], ecx
lea rcx, [rsp + 0x748]
call fcn.1401f7e59
mov esi, dword [rsp + 0x758]
mov rdi, qword [rsp + 0x748]
cmp esi, 2
je 0x140270939
mov r14, qword [rsp + 0x750]
mov r8d, 0x254
lea rcx, [rsp + 0x4f4]
lea rdx, [rsp + 0x75c]
call fcn.14038a820
mov qword [rsp + 0x4e0], rdi
mov qword [rsp + 0x4e8], r14
mov dword [rsp + 0x4f0], esi
lea rcx, [rsp + 0x748]
lea rdx, [rsp + 0x4e0]
call fcn.1402330a0
cmp qword [rsp + 0x748], 0
je 0x140270680
mov rsi, qword [rsp + 0x750]
mov rdi, qword [rsp + 0x9a0]
test rdi, rdi
je 0x1402706a7
mov r8d, 0x248
mov rcx, qword [rsp + 0x138]
lea rdx, [rsp + 0x758]
call fcn.14038a820
mov qword [rsp + 0x280], rsi
mov qword [rsp + 0x4d0], rdi
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.1402332e0
mov rax, qword [rsp + 0x4d0]
lock dec qword [rax]
jne 0x1402700ab
mov rcx, qword [rsp + 0x4d0]
call fcn.14026f6bc
mov r14, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
mov rcx, r13
call fcn.1402709f3
mov rdi, rax
mov rsi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r13
call fcn.14038a820
mov rcx, r12
mov rdx, rsi
mov r8, r13
call fcn.1402352a0
mov r13, qword [rsp + 0x280]
mov r14, qword [rsp + 0x288]
cmp r13, 2
je 0x140270109
mov ebx, dword [rsp + 0x2c4]
mov ebp, dword [rsp + 0x2c0]
test rdi, rdi
je 0x14027011d
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r15
cmp r13d, 2
je 0x1402706bc
bt ebp, 0xa
setae al
bt ebx, 0x1d
setae cl
test bpl, 0x10
jne 0x140270384
or al, cl
je 0x140270384
xor eax, eax
mov dword [r12 + 0x20], eax
mov word [r12 + 0x24], 0
mov qword [rsp + 0x280], 0
mov dword [rsp + 0x288], eax
movups xmmword [rsp + 0x290], xmm6
mov byte [rsp + 0x2a0], 1
mov r14, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rcx, r14
mov rdx, rdi
mov r8, r12
call fcn.140231440
mov rsi, rdx
test rax, rax
jne 0x1402706c7
mov qword [rsp + 0x78], rsi
mov rcx, r12
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0x98]
call fcn.140232e70
cmp qword [rsp + 0x280], 0
jne 0x1402706dc
mov dword [rsp + 0x70], ebp
mov ebp, ebx
mov rbx, r15
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0xd0]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
mov r9, r14
call fcn.14026f8e4
mov r14, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea r15, [rsp + 0x178]
mov rcx, r15
mov rdx, r14
call fcn.14026fbf8
mov eax, dword [rsp + 0x44]
test eax, eax
mov ecx, 1
cmove eax, ecx
mov ecx, dword [rsp + 0x38]
mov edx, 0x81a4
cmove ecx, edx
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x290], rdx
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x280], xmm0
mov edi, dword [rsp + 0x4c]
mov dword [rsp + 0x298], edi
mov r13d, dword [rsp + 0x48]
mov dword [rsp + 0x29c], r13d
mov dword [rsp + 0x2a0], eax
mov dword [rsp + 0x2a4], ecx
mov word [rsp + 0x2a8], 0
movzx eax, word [rsp + 0x40]
mov word [r12 + 0x2e], ax
mov eax, dword [rsp + 0x3c]
mov dword [r12 + 0x2a], eax
mov qword [rsp + 0x190], 0
lea rax, [rsp + 0x190]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x108]
lea rdx, [rsp + 0x1b0]
mov r8, r15
mov r9, r12
call fcn.14026e17e
mov rax, qword [rsp + 0x108]
cmp rax, 4
jne 0x1402706f6
mov dword [rsp + 0x20], r13d
mov r13, r12
mov rcx, r12
lea rdx, [rsp + 0x1d0]
xor r8d, r8d
mov r9d, edi
call fcn.14026c43c
mov rax, qword [rsp + 0x280]
cmp rax, 4
jne 0x140270700
mov byte [rsp + 0x270], 1
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
lea rcx, [rsp + 0x1b0]
call fcn.14026dad4
test rax, rax
jne 0x140270723
mov qword [rsp + 0xa8], 0
cmp qword [rsp + 0xd0], 0
mov r15, rbx
je 0x14027036d
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, r14
call r15
mov rsi, qword [rsp + 0x78]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_CloseHandle]
mov ebx, ebp
mov ebp, dword [rsp + 0x70]
mov r12, r13
jmp 0x140270658
mov eax, ebp
shr eax, 0xa
mov ecx, ebx
shr ecx, 0x1d
and ecx, eax
test cl, 1
jne 0x140270658
mov eax, ebp
and eax, 0x10
je 0x140270658
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0xd0]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
mov r9, rsi
call fcn.14026f8e4
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x70], rdx
call fcn.14026fbf8
mov edi, dword [rsp + 0x44]
test edi, edi
mov eax, 1
cmove edi, eax
mov r13d, dword [rsp + 0x84]
mov eax, 0x41ed
cmove r13d, eax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x1402704a6
mov r8b, byte [rcx + rdx - 1]
test r8b, r8b
js 0x140270447
movzx r8d, r8b
jmp 0x14027049a
movzx r9d, byte [rcx + rdx - 2]
cmp r9b, 0xc0
jge 0x140270476
movzx r10d, byte [rcx + rdx - 3]
cmp r10b, 0xc0
jge 0x14027047c
movzx r11d, byte [rcx + rdx - 4]
and r11d, 7
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
jmp 0x140270480
and r9d, 0x1f
jmp 0x14027048b
and r10d, 0xf
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
shl r9d, 6
and r8b, 0x3f
movzx r8d, r8b
or r8d, r9d
cmp r8d, 0x2f
je 0x1402704eb
cmp r8d, 0x5c
je 0x1402704eb
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x290], rdx
mov r8d, 1
mov rcx, r12
lea rdx, [0x1404cc998]
call fcn.14021ce82
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x290], rax
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x280], xmm0
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x298], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x29c], eax
mov dword [rsp + 0x2a0], edi
mov dword [rsp + 0x2a4], r13d
mov word [rsp + 0x2a8], 0
movzx eax, word [rsp + 0x40]
mov word [r12 + 0x2e], ax
mov eax, dword [rsp + 0x3c]
mov dword [r12 + 0x2a], eax
mov qword [rsp + 0x190], 0
lea rax, [rsp + 0x190]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x178]
lea rdx, [rsp + 0x1b0]
lea r8, [rsp + 0x108]
mov r9, r12
call fcn.14026e17e
mov rax, qword [rsp + 0x178]
cmp rax, 4
jne 0x140270868
mov byte [rsp + 0x270], 0
mov rcx, r14
call fcn.1402709f3
mov r13, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, rsi
mov r8, r14
call fcn.14038a820
mov sil, byte [rsp + 0xc8]
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x50]
jne 0x1402705f8
lea rcx, [rsp + 0x50]
call fcn.14012d798
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], rdi
mov qword [rax + rcx + 0x10], r14
mov byte [rax + rcx + 0x18], sil
mov r8d, dword [rsp + 0x280]
mov r9d, dword [rsp + 0x283]
mov dword [rax + rcx + 0x19], r8d
mov dword [rax + rcx + 0x1c], r9d
inc rdx
mov qword [rsp + 0x60], rdx
cmp qword [rsp + 0xd0], 0
je 0x140270658
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r15
cmp qword [rsp + 0xb0], 0
je 0x140270018
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r15
jmp 0x140270018
lea rcx, [rsp + 0x4e0]
call fcn.140270967
mov rsi, qword [rsp + 0x60]
lea r9, [rsp + 0x159]
lea rdx, [rsp + 0x140]
jmp 0x14026ff60
mov rax, qword [rsp + 0x30]
mov qword [rax + 8], rsi
mov qword [rax], 0
jmp 0x14027077e
mov rax, qword [rsp + 0x30]
mov qword [rax + 8], r14
jmp 0x1402706d0
mov rax, qword [rsp + 0x30]
mov qword [rax + 8], rsi
mov qword [rax], 0
jmp 0x14027075c
mov rax, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 0
jmp 0x140270753
movups xmm0, xmmword [rsp + 0x110]
jmp 0x140270708
movups xmm0, xmmword [rsp + 0x288]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rcx + 8], xmm0
jmp 0x14027072e
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
xor eax, eax
mov qword [rcx], rax
cmp qword [rsp + 0xd0], 0
je 0x140270753
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x78]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0xb0], 0
je 0x14027077e
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x4e0]
call fcn.140270967
cmp qword [rsp + 0x98], 0
je 0x1402707ad
mov r8, qword [rsp + 0xa0]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1400ceacf
cmp qword [rsp + 0x50], 0
je 0x1402707d9
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rsi, [rsp + 0x1b0]
mov rcx, rsi
call fcn.14026f508
lea rcx, [rsp + 0x1d0]
call fcn.14026dd90
mov rcx, qword [rsi + 0x98]
mov rdx, qword [rsi + 0xa0]
call fcn.14026a70c
cmp qword [rsi + 0x90], 0
je 0x14027082a
mov r8, qword [rsp + 0x248]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x258], 0
je 0x14027084c
mov r8, qword [rsp + 0x260]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm6, xmmword [rsp + 0x9b0]
add rsp, 0x9c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x180]
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 8], xmm0
mov qword [rcx], rax
cmp qword [rsp + 0xd0], 0
je 0x14027075c
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x70]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14027075c
xor esi, esi
lea rdi, [rsp + 0x4e0]
lea rdx, [rsp + 0x1b0]
mov rcx, rdi
call fcn.14026eb5d
mov rax, qword [rdi]
cmp rax, 4
jne 0x14027094e
mov rcx, qword [rsp + 0x4e8]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rax, qword [rsp + 0x30]
mov qword [rax], 4
cmp qword [rsp + 0x98], 0
je 0x14027090c
mov r8, qword [rsp + 0xa0]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, rsi
call fcn.1400ceacf
cmp qword [rsp + 0x50], 0
je 0x1402707d9
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
jmp 0x1402707d3
mov rax, qword [rsp + 0x30]
mov qword [rax + 8], rdi
mov qword [rax], 0
jmp 0x14027078b
movups xmm0, xmmword [rsp + 0x4e8]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
movups xmmword [rcx + 8], xmm0
jmp 0x14027078b