Function at 0x140005783
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, 0x328
movdqa xmmword [rsp + 0x310], xmm8
movdqa xmmword [rsp + 0x300], xmm7
movdqa xmmword [rsp + 0x2f0], xmm6
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], 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 + 0x98], rcx
movsxd r14, dword [rax + rsi + 0x20]
movsxd rax, dword [rax + rsi + 0x24]
mov qword [rsp + 0xc0], rax
add r14, rsi
xor eax, eax
test r12d, r12d
cmovle r12d, eax
lea rbx, [rsp + 0x180]
xor edi, edi
cmp rdi, r12
je 0x1400058db
movsxd r15, dword [r14 + rdi*4]
add r15, rsi
mov edx, 1
mov rcx, rbx
xor r8d, r8d
call fcn.140002ffd
movzx edx, byte [r15]
test edx, edx
je 0x140005849
mov rcx, rbx
call fcn.140006491
inc r15
jmp 0x140005834
mov r13, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400030aa
lea rcx, [rsp + 0xf0]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
call fcn.1400030aa
mov rbp, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov r15, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x100]
mov rcx, rbp
mov r8, r15
call fcn.140004dea
test al, al
jne 0x1400058e2
inc rdi
mov rcx, qword [rsp + 0xf0]
mov rdx, r15
call fcn.140002e8f
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.140002e8f
mov rcx, qword [rsp + 0x180]
mov rdx, r13
call fcn.140002e8f
jmp 0x140005814
xor ebx, ebx
jmp 0x140006407
mov rcx, qword [rsp + 0xf0]
mov rdx, r15
call fcn.140002e8f
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.140002e8f
mov rax, qword [rsp + 0xc0]
add rax, rsi
movsx rax, word [rax + rdi*2]
mov rcx, qword [rsp + 0x98]
add rcx, rsi
movsxd rbx, dword [rcx + rax*4]
add rbx, rsi
xor edi, edi
lea rsi, [rsp + 0xd8]
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.140002ffd
movzx edx, byte [rbx + rdi]
test edx, edx
je 0x140005958
mov rcx, rsi
call fcn.140006491
inc rdi
cmp edi, 0x64
jne 0x14000593b
jmp 0x1400063dd
mov rdx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov qword [rsp + 0x20], 1
lea r9, [0x140012f7d]
lea rdi, [rsp + 0x270]
mov rcx, rdi
mov r8, rsi
call fcn.1400041dc
and qword [rdi + 0x68], 0
mov qword [rdi + 0x70], rsi
mov word [rdi + 0x78], 1
mov rcx, rdi
call fcn.140004612
test rax, rax
je 0x1400060bd
mov rsi, rax
mov rdi, rdx
mov qword [rsp + 0xb8], rbx
mov ecx, 4
mov edx, 8
mov r8d, 0x10
call fcn.1400047fa
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 + 0xf0]
lea rsi, [rsp + 0x270]
mov ecx, 0x10
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
mov esi, 1
mov r13d, 0x18
mov rcx, r14
call fcn.140004612
test rax, rax
je 0x140005a5f
mov rdi, rax
mov r12, rdx
cmp rsi, qword [rsp + 0x60]
jne 0x140005a48
mov r8d, 1
mov r9d, 0x10
mov rcx, rbx
mov rdx, rsi
call fcn.14000482c
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 0x140005a12
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rsi, 2
jne 0x1400060c9
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
lea rcx, [rsp + 0x40]
call fcn.140002ffd
mov rdx, qword [rdi + 0x10]
mov qword [rsp + 0xd0], rdi
mov r8, qword [rdi + 0x18]
lea rcx, [rsp + 0x198]
call fcn.140002ffd
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x260], xmm0
movaps xmmword [rsp + 0x250], xmm0
movaps xmmword [rsp + 0x240], xmm0
lea rdx, [0x140012b58]
lea rdi, [rsp + 0xf0]
mov r8d, 9
mov rcx, rdi
call fcn.140005139
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.140005282
mov r14, rax
mov rcx, qword [rdi]
mov rdx, rbx
call fcn.140002e8f
lea rdx, [0x140012bd1]
lea rbx, [rsp + 0xf0]
mov r8d, 0x19
mov rcx, rbx
call fcn.140005139
mov r15, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rcx, r14
mov rdx, r15
call fcn.140005783
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, r15
call fcn.140002e8f
test rdi, rdi
je 0x140005b66
and qword [rsp + 0x20], 0
lea r8, [rsp + 0x240]
mov rcx, rsi
xor edx, edx
mov r9d, 0x30
call rdi
lea rdx, [0x140012b61]
lea rdi, [rsp + 0xf0]
mov r8d, 0xc
mov rcx, rdi
call fcn.140005139
mov rbx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.140005282
mov r14, rax
mov rcx, qword [rdi]
mov rdx, rbx
call fcn.140002e8f
lea rdx, [0x140012b79]
lea rbx, [rsp + 0xf0]
mov r8d, 0xb
mov rcx, rbx
call fcn.140005139
mov r15, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rcx, r14
mov rdx, r15
call fcn.140005783
mov rdi, rax
mov rcx, qword [rbx]
mov rdx, r15
call fcn.140002e8f
test rdi, rdi
je 0x140005be9
mov rcx, rsi
call rdi
xor ebp, ebp
xor ecx, ecx
call fcn.1400066b9
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rcx + 1]
mov qword [rax], r8
movups xmm0, xmmword [0x140012af0]
lea rax, [rsp + 0x80]
movaps xmmword [rax - 0x10], xmm0
movdqu xmm0, xmmword [0x140012ae0]
movdqa xmmword [rax - 0x20], xmm0
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov rax, qword [rsp + 0x248]
mov rax, qword [rax + 0x68]
mov ecx, dword [rax + 0xc]
movsxd rdx, dword [rax + 0x10]
mov qword [rsp + 0x38], rax
add rdx, rax
mov qword [rsp + 0x178], rdx
test ecx, ecx
cmovle ecx, ebp
mov qword [rsp + 0xc0], rcx
lea rbx, [rsp + 0x1b0]
lea r13, [rsp + 0xf0]
pcmpeqd xmm6, xmm6
cmp rbp, qword [rsp + 0xc0]
je 0x1400060d6
mov rax, rbp
movabs rcx, 0x1800000000
imul rax, rcx
sar rax, 0x20
mov rcx, qword [rsp + 0x178]
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 + 0x38]
xor r15d, r15d
mov edx, 1
mov rcx, rbx
xor r8d, r8d
call fcn.140002ffd
mov eax, esi
cdq
mov ecx, 2
idiv ecx
mov esi, eax
cmp r15d, esi
jge 0x140005ce9
movzx edx, byte [rdi]
test edx, edx
je 0x140005ce4
mov rcx, rbx
call fcn.140006491
inc r15d
inc rdi
jmp 0x140005ccd
mov r15, qword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x1c0]
lea r8, [rsi - 2]
mov rcx, r15
mov rdx, rsi
call fcn.140004a24
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rdx
lea rax, [0x140012b38]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 2
and qword [rsp + 0x110], 0
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x1e0], rax
lea rax, [0x1400041ca]
mov qword [rsp + 0x1e8], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
lea rcx, [rsp + 0xa0]
mov rdx, r13
call fcn.140004a40
cmp r12d, 1
jne 0x140005d94
add r14, qword [rsp + 0x38]
jmp 0x140005dff
mov qword [rsp + 0x30], rbp
add r14, qword [rsp + 0x38]
mov rbx, r14
xor ebp, ebp
sub r12, 1
jb 0x140005df3
mov edx, 1
mov rcx, r13
xor r8d, r8d
call fcn.140002ffd
mov rdi, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
mov rcx, rdi
mov r8, r15
mov r9, rsi
call fcn.140004dea
test al, al
cmove rbp, rbx
mov rcx, qword [rsp + 0xf0]
mov rdx, rdi
call fcn.140002e8f
add rbx, 0x14
jmp 0x140005da3
test rbp, rbp
cmovne r14, rbp
mov rbp, qword [rsp + 0x30]
movsxd rdi, dword [r14 + 0xc]
mov esi, dword [r14 + 0x10]
mov edx, 1
lea r14, [rsp + 0x1c8]
mov rcx, r14
xor r8d, r8d
call fcn.140002ffd
test esi, esi
je 0x140005e50
add rdi, qword [rsp + 0x38]
mov eax, esi
cdq
mov ecx, 2
idiv ecx
mov esi, eax
xor ebx, ebx
cmp ebx, esi
jge 0x140005e50
movzx edx, byte [rdi]
test edx, edx
je 0x140005e4b
mov rcx, r14
call fcn.140006491
inc ebx
inc rdi
jmp 0x140005e36
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0xb0]
call fcn.140004b01
mov rsi, rax
cmp qword [rsp + 0x70], 0
je 0x140005fe9
inc rbp
mov qword [rsp + 0x30], 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 + 0x98], 0
movdqu xmm8, xmmword [r12 + rdi]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm8
pmovmskb eax, xmm0
mov word [rsp + 0xf0], ax
mov rcx, r13
call fcn.140004f3f
test rax, rax
je 0x140005f12
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 + 0xa0]
call fcn.14000507c
test al, al
je 0x140005edb
jmp 0x140005f6e
test byte [rsp + 0x98], 1
jne 0x140005f49
movdqa xmmword [rsp + 0x230], xmm8
mov rcx, rbx
lea rdx, [rsp + 0x230]
mov r8, rdi
call fcn.140005092
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x170], rdx
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x140006000
add rdi, rbp
add rdi, 0x10
add rbp, 0x10
and rdi, rbx
jmp 0x140005ec0
add r12, r14
mov rsi, qword [r12 - 0x18]
mov rdi, qword [r12 - 0x10]
mov rax, qword [rsp + 0x1d8]
mov qword [r12 - 8], rax
movdqu xmm0, xmmword [rsp + 0x1c8]
movdqu xmmword [r12 - 0x18], xmm0
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
call fcn.140002e8f
movabs rax, 0x8000000000000000
cmp rsi, rax
mov rbp, qword [rsp + 0x30]
je 0x140005fcc
mov rcx, rsi
mov rdx, rdi
call fcn.140002e8f
mov rcx, qword [rsp + 0x1b0]
mov rdx, r15
call fcn.140002e8f
lea rbx, [rsp + 0x1b0]
jmp 0x140005c6b
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x80]
call fcn.14000e00f
jmp 0x140005e84
mov r8, qword [rsp + 0x170]
mov al, byte [r12 + r8]
test al, al
js 0x140006022
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
bsf r8d, eax
mov al, byte [r12 + r8]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsp + 0x1d8]
lea rdx, [rsp + 0x108]
mov qword [rdx + 0x10], rcx
movups xmm0, xmmword [rsp + 0x1c8]
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 + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmm2, xmmword [rsp + 0x110]
movups xmmword [r12 + rax - 0x10], xmm2
movups xmmword [r12 + rax - 0x20], xmm1
movdqu xmmword [r12 + rax - 0x30], xmm0
mov rbp, qword [rsp + 0x30]
jmp 0x140005fcc
mov edi, 8
xor ecx, ecx
jmp 0x1400063d5
mov rbx, qword [rsp + 0xb8]
jmp 0x1400063d5
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.14000a465
mov rcx, qword [rsi + 8]
mov rdi, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
and qword [rcx + 8], 0
call fcn.14000a505
test rdi, rdi
jne 0x140006141
mov edx, 1
xor ecx, ecx
call fcn.140008a29
mov rdi, rax
lea rsi, [0x140013018]
mov qword [rsp + 0x30], rsi
lea rdx, [0x140012b00]
mov ebp, 1
mov ecx, 1
call fcn.14000a3f7
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
lea r13, [r12 - 2]
mov rcx, rbx
mov rdx, r12
mov r8, r13
call fcn.140004a24
lea rsi, [rsp + 0x240]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
lea r15, [rsp + 0xf0]
lea rax, [0x140012b38]
mov qword [r15], rax
mov eax, 2
mov qword [r15 + 8], rax
and qword [r15 + 0x20], 0
mov qword [rsp + 0xa0], rsi
lea r14, [0x1400041ca]
mov qword [rsp + 0xa8], r14
lea rax, [rsp + 0xa0]
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rbp
lea rbp, [rsp + 0x60]
mov rcx, rbp
mov rdx, r15
call fcn.140004a40
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rbp, rbx
call fcn.140002e8f
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call fcn.14000a3f7
mov rcx, rbx
mov rdx, r12
mov r8, r13
call fcn.140004a24
mov qword [rsi], rax
mov qword [rsi + 8], rdx
lea rax, [0x140012b38]
mov qword [r15], rax
mov eax, 2
mov qword [r15 + 8], rax
and qword [r15 + 0x20], 0
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r14
lea rax, [rsp + 0xa0]
mov qword [r15 + 0x10], rax
mov eax, 1
mov qword [r15 + 0x18], rax
lea rdi, [rsp + 0x60]
lea rdx, [rsp + 0xf0]
mov rcx, rdi
call fcn.140004a40
lea rcx, [rsp + 0x200]
mov rdx, rdi
call fcn.140004f68
test rax, rax
je 0x1400062bb
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x60]
call fcn.140004f68
test rax, rax
mov rbx, qword [rsp + 0xb8]
je 0x140006305
mov rdx, qword [rax + 0x20]
mov r8, qword [rax + 0x28]
lea rcx, [rsp + 0xf0]
call fcn.14000355b
mov rcx, qword [rsp + 0x40]
mov rdx, rbp
call fcn.140002e8f
jmp 0x14000631f
mov rax, qword [rsp + 0x50]
lea rsi, [rsp + 0xf0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsi], xmm0
lea rdx, str..dll
lea r8, [0x140012b34]
mov rcx, rsi
call fcn.140002c55
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x40], xmm0
mov rbx, qword [rsp + 0xb8]
jmp 0x140006339
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x40], xmm0
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.140005282
test rax, rax
jne 0x140006367
mov rcx, rsi
mov rdx, rdi
call fcn.1400064fb
test rax, rax
je 0x140006437
mov rdi, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1a8]
mov rcx, rax
mov rdx, rdi
call fcn.140005783
mov rbx, rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.140002e8f
xor ecx, ecx
call fcn.140006677
lea rcx, [rsp + 0x200]
call fcn.140004e24
mov rcx, qword [rsp + 0x198]
mov rdx, rdi
call fcn.140002e8f
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.140002e8f
mov rdi, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov rdx, rdi
call fcn.140004e13
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
call fcn.140002e8f
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x188]
call fcn.140002e8f
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
movaps xmm8, xmmword [rsp + 0x310]
add rsp, 0x328
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.140002e8f
xor ecx, ecx
call fcn.140006677
lea rcx, [rsp + 0x200]
call fcn.140004e24
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a0]
call fcn.140002e8f
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.140002e8f
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
jmp 0x1400063d8