Function at 0x140004edf
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, 0x318
movdqa xmmword [rsp + 0x300], xmm8
movdqa xmmword [rsp + 0x2f0], xmm7
movdqa xmmword [rsp + 0x2e0], xmm6
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdx
mov rsi, rcx
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
xor edx, edx
cmp word [rax + rsi + 0x18], 0x10b
setne dl
shl edx, 4
movsxd rax, dword [rdx + rcx + 0x78]
mov r12d, dword [rax + rsi + 0x18]
movsxd rcx, dword [rax + rsi + 0x1c]
mov qword [rsp + 0x58], rcx
movsxd r14, dword [rax + rsi + 0x20]
movsxd rax, dword [rax + rsi + 0x24]
mov qword [rsp + 0xb0], rax
add r14, rsi
xor eax, eax
test r12d, r12d
cmovle r12d, eax
lea rbx, [rsp + 0x170]
xor edi, edi
cmp rdi, r12
je 0x140005034
movsxd r15, dword [r14 + rdi*4]
add r15, rsi
mov edx, 1
mov rcx, rbx
xor r8d, r8d
call fcn.1400026f2
movzx edx, byte [r15]
test edx, edx
je 0x140004fa2
mov rcx, rbx
call fcn.140005bd0
inc r15
jmp 0x140004f8d
mov r13, qword [rsp + 0x178]
mov r8, qword [rsp + 0x180]
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400027a5
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
call fcn.1400027a5
mov rbp, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov r15, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov rcx, rbp
mov r8, r15
call fcn.140004488
test al, al
jne 0x14000503b
inc rdi
mov rcx, qword [rsp + 0xe0]
mov rdx, r15
call fcn.14000262d
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.14000262d
mov rcx, qword [rsp + 0x170]
mov rdx, r13
call fcn.14000262d
jmp 0x140004f6d
xor ebx, ebx
jmp 0x140005b46
mov rcx, qword [rsp + 0xe0]
mov rdx, r15
call fcn.14000262d
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.14000262d
mov rax, qword [rsp + 0xb0]
add rax, rsi
movsx rax, word [rax + rdi*2]
mov rcx, qword [rsp + 0x58]
add rcx, rsi
movsxd rbx, dword [rcx + rax*4]
add rbx, rsi
xor edi, edi
lea rsi, [rsp + 0xc8]
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.1400026f2
movzx edx, byte [rbx + rdi]
test edx, edx
je 0x1400050ae
mov rcx, rsi
call fcn.140005bd0
inc rdi
cmp edi, 0x64
jne 0x140005091
jmp 0x140005b1c
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
mov qword [rsp + 0x20], 1
lea r9, [0x14000eda2]
lea rdi, [rsp + 0x260]
mov rcx, rdi
mov r8, rsi
call fcn.1400038d2
and qword [rdi + 0x68], 0
mov qword [rdi + 0x70], rsi
mov word [rdi + 0x78], 1
mov rcx, rdi
call fcn.140003d08
test rax, rax
je 0x14000580a
mov rsi, rax
mov rdi, rdx
mov qword [rsp + 0xa8], rbx
mov ecx, 4
mov edx, 8
mov r8d, 0x10
call fcn.140001050
mov r15, rdx
mov qword [rdx], rsi
mov qword [rdx + 8], rdi
lea rbx, [rsp + 0x60]
mov qword [rbx], rax
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], 1
lea r14, [rsp + 0xe0]
lea rsi, [rsp + 0x260]
mov ecx, 0x10
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
mov esi, 1
mov r13d, 0x18
mov rcx, r14
call fcn.140003d08
test rax, rax
je 0x1400051b5
mov rdi, rax
mov r12, rdx
cmp rsi, qword [rsp + 0x60]
jne 0x14000519e
mov r8d, 1
mov r9d, 0x10
mov rcx, rbx
mov rdx, rsi
call fcn.140008dcc
mov r15, qword [rsp + 0x68]
mov qword [r15 + r13 - 8], rdi
mov qword [r15 + r13], r12
inc rsi
mov qword [rsp + 0x70], rsi
add r13, 0x10
jmp 0x140005168
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rsi, 2
jne 0x140005816
mov qword [rsp + 0xb8], rcx
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
lea rcx, [rsp + 0x40]
call fcn.1400026f2
mov rdx, qword [rdi + 0x10]
mov qword [rsp + 0xc0], rdi
mov r8, qword [rdi + 0x18]
lea rcx, [rsp + 0x188]
call fcn.1400026f2
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x200], xmm0
lea rdx, [0x14000e7d8]
lea rdi, [rsp + 0xe0]
mov r8d, 9
mov rcx, rdi
call fcn.140004895
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400049de
mov r14, rax
mov rcx, qword [rdi]
mov rdx, rbx
call fcn.14000262d
lea rdx, [0x14000e83a]
lea rbx, [rsp + 0xe0]
mov r8d, 0x19
mov rcx, rbx
call fcn.140004895
mov r15, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rcx, r14
mov rdx, r15
call fcn.140004edf
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, r15
call fcn.14000262d
test rdi, rdi
je 0x1400052bc
and qword [rsp + 0x20], 0
lea r8, [rsp + 0x200]
mov rcx, rsi
xor edx, edx
mov r9d, 0x30
call rdi
lea rdx, [0x14000e7e1]
lea rdi, [rsp + 0xe0]
mov r8d, 0xc
mov rcx, rdi
call fcn.140004895
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400049de
mov r14, rax
mov rcx, qword [rdi]
mov rdx, rbx
call fcn.14000262d
lea rdx, [0x14000e7f9]
lea rbx, [rsp + 0xe0]
mov r8d, 0xb
mov rcx, rbx
call fcn.140004895
mov r15, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rcx, r14
mov rdx, r15
call fcn.140004edf
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, r15
call fcn.14000262d
test rdi, rdi
je 0x14000533f
mov rcx, rsi
call rdi
xor ebp, ebp
xor ecx, ecx
call fcn.140005e67
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rcx + 1]
mov qword [rax], r8
movups xmm0, xmmword [0x14000e770]
lea rax, [rsp + 0x80]
movaps xmmword [rax - 0x10], xmm0
movdqu xmm0, xmmword [0x14000e760]
movdqa xmmword [rax - 0x20], xmm0
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov rax, qword [rsp + 0x208]
mov rax, qword [rax + 0x68]
mov ecx, dword [rax + 0xc]
movsxd rdx, dword [rax + 0x10]
mov qword [rsp + 0x30], rax
add rdx, rax
mov qword [rsp + 0x168], rdx
test ecx, ecx
cmovle ecx, ebp
mov qword [rsp + 0xb0], rcx
lea rbx, [rsp + 0x1a0]
lea r13, [rsp + 0xe0]
pcmpeqd xmm6, xmm6
cmp rbp, qword [rsp + 0xb0]
je 0x140005823
mov rax, rbp
movabs rcx, 0x1800000000
imul rax, rcx
sar rax, 0x20
mov rcx, qword [rsp + 0x168]
movsxd rdi, dword [rcx + rax + 4]
movsxd r14, dword [rcx + rax + 0x10]
mov esi, dword [rcx + rax + 8]
mov r12d, dword [rcx + rax + 0x14]
add rdi, qword [rsp + 0x30]
xor r15d, r15d
mov edx, 1
mov rcx, rbx
xor r8d, r8d
call fcn.1400026f2
mov eax, esi
cdq
mov ecx, 2
idiv ecx
mov esi, eax
cmp r15d, esi
jge 0x14000543f
movzx edx, byte [rdi]
test edx, edx
je 0x14000543a
mov rcx, rbx
call fcn.140005bd0
inc r15d
inc rdi
jmp 0x140005423
mov r15, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
lea r8, [rsi - 2]
mov rcx, r15
mov rdx, rsi
call fcn.1400040c2
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rdx
lea rax, [0x14000e7b8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
and qword [rsp + 0x100], 0
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x1d0], rax
lea rax, [0x1400038c0]
mov qword [rsp + 0x1d8], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rcx, [rsp + 0x90]
mov rdx, r13
call fcn.1400040de
cmp r12d, 1
jne 0x1400054ea
add r14, qword [rsp + 0x30]
jmp 0x140005555
mov qword [rsp + 0x38], rbp
add r14, qword [rsp + 0x30]
mov rbx, r14
xor ebp, ebp
sub r12, 1
jb 0x140005549
mov edx, 1
mov rcx, r13
xor r8d, r8d
call fcn.1400026f2
mov rdi, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
mov rcx, rdi
mov r8, r15
mov r9, rsi
call fcn.140004488
test al, al
cmove rbp, rbx
mov rcx, qword [rsp + 0xe0]
mov rdx, rdi
call fcn.14000262d
add rbx, 0x14
jmp 0x1400054f9
test rbp, rbp
cmovne r14, rbp
mov rbp, qword [rsp + 0x38]
movsxd rdi, dword [r14 + 0xc]
mov esi, dword [r14 + 0x10]
mov edx, 1
lea r14, [rsp + 0x1b8]
mov rcx, r14
xor r8d, r8d
call fcn.1400026f2
test esi, esi
je 0x1400055a6
add rdi, qword [rsp + 0x30]
mov eax, esi
cdq
mov ecx, 2
idiv ecx
mov esi, eax
xor ebx, ebx
cmp ebx, esi
jge 0x1400055a6
movzx edx, byte [rdi]
test edx, edx
je 0x1400055a1
mov rcx, r14
call fcn.140005bd0
inc ebx
inc rdi
jmp 0x14000558c
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
call fcn.14000419f
mov rsi, rax
cmp qword [rsp + 0x70], 0
je 0x140005736
inc rbp
mov qword [rsp + 0x38], rbp
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rdi, rbx
and rdi, rsi
shr rsi, 0x39
movd xmm0, esi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
xor ebp, ebp
mov qword [rsp + 0x58], 0
movdqu xmm8, xmmword [r12 + rdi]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm8
pmovmskb eax, xmm0
mov word [rsp + 0xe0], ax
mov rcx, r13
call fcn.1400045d4
test rax, rax
je 0x140005665
add rdx, rdi
and rdx, rbx
neg rdx
imul r14, rdx, 0x30
mov rdx, qword [r12 + r14 - 0x28]
mov r8, qword [r12 + r14 - 0x20]
lea rcx, [rsp + 0x90]
call fcn.140004711
test al, al
je 0x14000562e
jmp 0x1400056bb
test byte [rsp + 0x58], 1
jne 0x140005696
movdqa xmmword [rsp + 0x1f0], xmm8
mov rcx, rbx
lea rdx, [rsp + 0x1f0]
mov r8, rdi
call fcn.140004727
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x160], rdx
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x14000574d
add rdi, rbp
add rdi, 0x10
add rbp, 0x10
and rdi, rbx
jmp 0x140005613
add r12, r14
mov rsi, qword [r12 - 0x18]
mov rdi, qword [r12 - 0x10]
mov rax, qword [rsp + 0x1c8]
mov qword [r12 - 8], rax
movdqu xmm0, xmmword [rsp + 0x1b8]
movdqu xmmword [r12 - 0x18], xmm0
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
call fcn.14000262d
movabs rax, 0x8000000000000000
cmp rsi, rax
mov rbp, qword [rsp + 0x38]
je 0x140005719
mov rcx, rsi
mov rdx, rdi
call fcn.14000262d
mov rcx, qword [rsp + 0x1a0]
mov rdx, r15
call fcn.14000262d
lea rbx, [rsp + 0x1a0]
jmp 0x1400053c1
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x80]
call fcn.140009b0f
jmp 0x1400055da
mov r8, qword [rsp + 0x160]
mov al, byte [r12 + r8]
test al, al
js 0x14000576f
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
bsf r8d, eax
mov al, byte [r12 + r8]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rcx
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, qword [rsp + 0x1c8]
lea rdx, [rsp + 0xf8]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rsp + 0x1b8]
and al, 1
movzx eax, al
sub qword [rsp + 0x70], rax
movups xmmword [rdx], xmm0
lea rax, [r8 - 0x10]
and rbx, rax
mov byte [r12 + r8], sil
mov byte [r12 + rbx + 0x10], sil
inc qword [rsp + 0x78]
neg r8
imul rax, r8, 0x30
movdqa xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [r12 + rax - 0x10], xmm2
movups xmmword [r12 + rax - 0x20], xmm1
movdqu xmmword [r12 + rax - 0x30], xmm0
mov rbp, qword [rsp + 0x38]
jmp 0x140005719
mov edi, 8
xor ecx, ecx
jmp 0x140005b14
mov rbx, qword [rsp + 0xa8]
jmp 0x140005b14
lea rax, [rsp + 0x60]
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
lea rax, [rsp + 0x230]
movaps xmmword [rax + 0x20], xmm2
movaps xmmword [rax + 0x10], xmm1
movaps xmmword [rax], xmm0
lea r13, [rsp + 0xe0]
mov rcx, r13
call fcn.140008c70
mov rcx, qword [r13 + 8]
mov r15, qword [rcx + 8]
and qword [rcx + 8], 0
test r15, r15
mov eax, 1
cmove r15, rax
lea r12, [0x14000ee08]
cmovne r12, qword [rcx + 0x10]
call fcn.140008d10
lea rdx, [0x14000e780]
mov ecx, 1
call fcn.140008c02
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
lea rdi, [rbp - 2]
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
call fcn.1400040c2
lea rsi, [rsp + 0x200]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
lea rax, [0x14000e7b8]
mov qword [r13], rax
mov eax, 2
mov qword [r13 + 8], rax
and qword [r13 + 0x20], 0
mov qword [rsp + 0x90], rsi
lea r14, [0x1400038c0]
mov qword [rsp + 0x98], r14
lea rax, [rsp + 0x90]
mov qword [r13 + 0x10], rax
mov eax, 1
mov qword [r13 + 0x18], rax
lea r13, [rsp + 0xe0]
lea r14, [rsp + 0x60]
mov rcx, r14
mov rdx, r13
call fcn.1400040de
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
call fcn.14000262d
mov rcx, r15
mov r15, rbx
mov rdx, r12
call fcn.140008c02
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
call fcn.1400040c2
mov qword [rsi], rax
mov qword [rsi + 8], rdx
lea rax, [0x14000e7b8]
mov qword [r13], rax
mov eax, 2
mov qword [r13 + 8], rax
and qword [r13 + 0x20], 0
mov qword [rsp + 0x90], rsi
lea rax, [0x1400038c0]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x90]
mov qword [r13 + 0x10], rax
mov eax, 1
mov qword [r13 + 0x18], rax
lea rdi, [rsp + 0x60]
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.1400040de
lea rcx, [rsp + 0x230]
mov rdx, rdi
call fcn.1400045fd
test rax, rax
je 0x1400059fa
lea rcx, [rsp + 0x230]
lea rdx, [rsp + 0x60]
call fcn.1400045fd
test rax, rax
mov rbx, qword [rsp + 0xa8]
je 0x140005a44
mov rdx, qword [rax + 0x20]
mov r8, qword [rax + 0x28]
lea rcx, [rsp + 0xe0]
call fcn.1400026f2
mov rcx, qword [rsp + 0x40]
mov rdx, r15
call fcn.14000262d
jmp 0x140005a5e
mov rax, qword [rsp + 0x50]
lea rsi, [rsp + 0xe0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsi], xmm0
lea rdx, str..dll
lea r8, [0x14000e7b4]
mov rcx, rsi
call fcn.140002375
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x40], xmm0
mov rbx, qword [rsp + 0xa8]
jmp 0x140005a78
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x40], xmm0
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.1400049de
test rax, rax
jne 0x140005aa6
mov rcx, rsi
mov rdx, rdi
call fcn.140005c3a
test rax, rax
je 0x140005b76
mov rdi, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
mov rcx, rax
mov rdx, rdi
call fcn.140004edf
mov rbx, rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.14000262d
xor ecx, ecx
call fcn.140005e25
lea rcx, [rsp + 0x230]
call fcn.1400044b9
mov rcx, qword [rsp + 0x188]
mov rdx, rdi
call fcn.14000262d
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.14000262d
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
mov rdx, rdi
call fcn.140004497
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
call fcn.14000262d
mov rcx, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x178]
call fcn.14000262d
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x2f0]
movaps xmm8, xmmword [rsp + 0x300]
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.14000262d
xor ecx, ecx
call fcn.140005e25
lea rcx, [rsp + 0x230]
call fcn.1400044b9
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x190]
call fcn.14000262d
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.14000262d
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
jmp 0x140005b17