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

Disassembly:
push rbx
push rbp
push rdi
push r13
sub rsp, 0x98
mov rax, qword [0x14013a040]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r13, rcx
mov qword [rsp + 0x50], rcx
mov rcx, qword [0x14013fe20]
mov qword [rsp + 0x28], rdx
mov rbp, rcx
mov rdx, qword [rcx + 0x58]
test rdx, rdx
je 0x14004ff77
mov rax, qword [0x14013fc40]
mov edx, dword [rdx + 0xb0]
mov rbx, qword [rax + 0x3ee0]
mov rcx, rbx
call fcn.140009920
add rbx, 0xf0
mov edi, eax
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x14004ff64
inc ecx
test r8d, r8d
je 0x14004ff50
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14004ff55
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.14001e820
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rcx, qword [0x14013fe20]
mov rax, qword [0x14013fc40]
mov rdi, qword [rax + 0x3ee0]
mov qword [rsp + 0x58], rdi
cmp byte [rdi + 0xbb], 0
je 0x14004ff9e
cmp qword [rbp + 0x58], 0
je 0x1400508eb
movsxd rax, dword [rdi + 0xf0]
xor edx, edx
mov r8, qword [rdi + 0xf8]
mov rcx, r13
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], r14
mov r8d, dword [r8 + rax*4 - 4]
mov qword [rsp + 0x90], r15
call fcn.140005720
mov rcx, qword [rdi]
mov ebx, eax
cmp dword [rcx + 0x3f28], eax
jne 0x14004fff7
mov r8, r13
mov edx, 0xb
mov ecx, eax
call fcn.14001d7b0
movsxd rdx, dword [rbp + 0x10]
mov rsi, 0xffffffffffffffff
mov r8, qword [rbp + 0x18]
mov r10, rdx
shl r10, 4
add r10, r8
test rdx, rdx
je 0x14005004d
nop word [rax + rax]
mov rcx, rdx
shr rcx, 1
mov rax, rcx
add rax, rax
cmp dword [r8 + rax*8], ebx
jae 0x140050045
lea r8, [r8 + rax*8]
mov rax, rsi
sub rax, rcx
add r8, 0x10
add rdx, rax
jmp 0x140050048
mov rdx, rcx
test rdx, rdx
jne 0x140050020
xor r12d, r12d
cmp r8, r10
je 0x140050070
cmp dword [r8], ebx
jne 0x140050070
movsxd rax, dword [r8 + 8]
cmp eax, esi
je 0x140050070
lea r14, [rax + rax*4]
shl r14, 9
add r14, qword [rbp + 8]
jmp 0x140050073
mov r14, r12
test r14, r14
lea rcx, [rbp + 0x10]
mov edx, ebx
sete r15b
call fcn.140005e40
mov rcx, rax
movsxd rax, dword [rax]
cmp eax, esi
je 0x14005009d
lea rdi, [rax + rax*4]
shl rdi, 9
add rdi, qword [rbp + 8]
jmp 0x1400500ad
mov eax, dword [rbp + 0x20]
mov dword [rcx], eax
mov rcx, rbp
call fcn.140058e40
mov rdi, rax
mov qword [rbp + 0x50], rdi
lea ecx, [rbx - 1]
mov dword [rdi + 0x8f8], ecx
mov dword [rdi], ebx
mov byte [rdi + 0x9f4], r15b
mov byte [rdi + 0x9f6], r12b
test r14, r14
jne 0x14005015d
mov rax, qword [0x14013fe20]
mov qword [rdi + 4], r12
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx]
inc eax
mov dword [rcx + 0x18], eax
cmp byte [rcx + 0x9f4], r12b
jne 0x1400500f8
cmp dword [rcx + 0x20], r12d
je 0x1400500fc
mov dword [rcx + 0x1c], r12d
mov dword [rcx + 0x20], r12d
mov byte [rcx + 0x184], 1
mov dword [rcx + 0x160], esi
add rcx, 0x18
call fcn.14004cfb0
mov rax, qword [0x14013fe20]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx]
lea rdx, [rcx + 0x480]
add eax, 4
mov dword [rdx], eax
cmp byte [rcx + 0x9f4], r12b
jne 0x14005013e
cmp dword [rdx + 8], r12d
je 0x140050142
mov dword [rdx + 4], r12d
mov rcx, rdx
mov dword [rdx + 8], r12d
mov byte [rdx + 0x16c], 1
mov dword [rdx + 0x148], esi
call fcn.14004cfb0
jmp 0x140050170
cmp dword [rdi + 8], r12d
je 0x140050169
mov qword [rdi + 4], r12
jmp 0x140050170
mov dword [rdi + 8], r12d
nop dword [rax]
mov byte [rdi + 0x184], r12b
lea rcx, [rdi + 0x18]
mov dword [rdi + 0x3c], r12d
movabs r15, 0x7ff0000000000000
mov qword [rdi + 0x40], r15
movabs r14, 0xfff0000000000000
mov qword [rdi + 0x48], r14
movabs rbx, 0x10000000000000
mov qword [rdi + 0x118], r12
mov qword [rdi + 0x110], r12
mov qword [rdi + 0x120], r12
mov dword [rdi + 0x160], esi
mov word [rdi + 0x188], 0x100
mov qword [rdi + 0xb0], r12
mov qword [rdi + 0xb8], r12
mov qword [rdi + 0xd0], r12
mov byte [rdi + 0x186], r12b
mov qword [rdi + 0x50], r12
mov qword [rdi + 0x58], r14
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], rbx
mov qword [rdi + 0x70], r15
mov dword [rdi + 0x78], r12d
mov dword [rdi + 0x88], r12d
movsd xmm0, qword [rdi + 0xa0]
movsd qword [rdi + 0x98], xmm0
mov qword [rdi + 0xa0], r12
mov dword [rdi + 0xa8], 1
call fcn.14004cfb0
mov byte [rdi + 0x2fc], r12b
lea rcx, [rdi + 0x190]
mov dword [rdi + 0x1b4], r12d
mov qword [rdi + 0x290], r12
mov qword [rdi + 0x288], r12
mov qword [rdi + 0x298], r12
mov dword [rdi + 0x2d8], esi
mov word [rdi + 0x300], 0x100
mov qword [rdi + 0x228], r12
mov qword [rdi + 0x230], r12
mov qword [rdi + 0x248], r12
mov byte [rdi + 0x2fe], r12b
mov qword [rdi + 0x1b8], r15
mov qword [rdi + 0x1c0], r14
mov qword [rdi + 0x1c8], r12
mov qword [rdi + 0x1d0], r14
mov qword [rdi + 0x1d8], r15
mov qword [rdi + 0x1e0], rbx
mov qword [rdi + 0x1e8], r15
mov dword [rdi + 0x1f0], r12d
mov dword [rdi + 0x200], r12d
movsd xmm0, qword [rdi + 0x218]
movsd qword [rdi + 0x210], xmm0
mov qword [rdi + 0x218], r12
mov dword [rdi + 0x220], 1
call fcn.14004cfb0
mov byte [rdi + 0x474], r12b
lea rcx, [rdi + 0x308]
mov dword [rdi + 0x32c], r12d
mov qword [rdi + 0x408], r12
mov qword [rdi + 0x400], r12
mov qword [rdi + 0x410], r12
mov dword [rdi + 0x450], esi
mov word [rdi + 0x478], 0x100
mov qword [rdi + 0x3a0], r12
mov qword [rdi + 0x3a8], r12
mov qword [rdi + 0x3c0], r12
mov byte [rdi + 0x476], r12b
mov qword [rdi + 0x330], r15
mov qword [rdi + 0x338], r14
mov qword [rdi + 0x340], r12
mov qword [rdi + 0x348], r14
mov qword [rdi + 0x350], r15
mov qword [rdi + 0x358], rbx
mov qword [rdi + 0x360], r15
mov dword [rdi + 0x368], r12d
mov dword [rdi + 0x378], r12d
movsd xmm0, qword [rdi + 0x390]
movsd qword [rdi + 0x388], xmm0
mov qword [rdi + 0x390], r12
mov dword [rdi + 0x398], 1
call fcn.14004cfb0
mov byte [rdi + 0x5ec], r12b
lea rcx, [rdi + 0x480]
mov dword [rdi + 0x4a4], r12d
mov qword [rdi + 0x580], r12
mov qword [rdi + 0x578], r12
mov qword [rdi + 0x588], r12
mov dword [rdi + 0x5c8], esi
mov word [rdi + 0x5f0], 0x100
mov qword [rdi + 0x518], r12
mov qword [rdi + 0x520], r12
mov qword [rdi + 0x538], r12
mov byte [rdi + 0x5ee], r12b
mov qword [rdi + 0x4a8], r15
mov qword [rdi + 0x4b0], r14
mov qword [rdi + 0x4b8], r12
mov qword [rdi + 0x4c0], r14
mov qword [rdi + 0x4c8], r15
mov qword [rdi + 0x4d0], rbx
mov qword [rdi + 0x4d8], r15
mov dword [rdi + 0x4e0], r12d
mov dword [rdi + 0x4f0], r12d
movsd xmm0, qword [rdi + 0x508]
movsd qword [rdi + 0x500], xmm0
mov qword [rdi + 0x508], r12
mov dword [rdi + 0x510], 1
call fcn.14004cfb0
mov byte [rdi + 0x764], r12b
lea rcx, [rdi + 0x5f8]
mov dword [rdi + 0x61c], r12d
mov qword [rdi + 0x6f8], r12
mov qword [rdi + 0x6f0], r12
mov qword [rdi + 0x700], r12
mov dword [rdi + 0x740], esi
mov word [rdi + 0x768], 0x100
mov qword [rdi + 0x690], r12
mov qword [rdi + 0x698], r12
mov qword [rdi + 0x6b0], r12
mov byte [rdi + 0x766], r12b
mov qword [rdi + 0x620], r15
mov qword [rdi + 0x628], r14
mov qword [rdi + 0x630], r12
mov qword [rdi + 0x638], r14
mov qword [rdi + 0x640], r15
mov qword [rdi + 0x648], rbx
mov qword [rdi + 0x650], r15
mov dword [rdi + 0x658], r12d
mov dword [rdi + 0x668], r12d
movsd xmm0, qword [rdi + 0x680]
movsd qword [rdi + 0x678], xmm0
mov qword [rdi + 0x680], r12
mov dword [rdi + 0x688], 1
call fcn.14004cfb0
mov byte [rdi + 0x8dc], r12b
lea rcx, [rdi + 0x770]
mov dword [rdi + 0x794], r12d
mov qword [rdi + 0x870], r12
mov qword [rdi + 0x868], r12
mov qword [rdi + 0x878], r12
mov dword [rdi + 0x8b8], esi
mov word [rdi + 0x8e0], 0x100
mov qword [rdi + 0x808], r12
mov qword [rdi + 0x810], r12
mov qword [rdi + 0x828], r12
mov byte [rdi + 0x8de], r12b
mov qword [rdi + 0x798], r15
mov qword [rdi + 0x7a0], r14
mov qword [rdi + 0x7a8], r12
mov qword [rdi + 0x7b0], r14
mov qword [rdi + 0x7b8], r15
mov qword [rdi + 0x7c0], rbx
mov qword [rdi + 0x7c8], r15
mov dword [rdi + 0x7d0], r12d
mov dword [rdi + 0x7e0], r12d
movsd xmm0, qword [rdi + 0x7f8]
movsd qword [rdi + 0x7f0], xmm0
mov qword [rdi + 0x7f8], r12
mov dword [rdi + 0x800], 1
call fcn.14004cfb0
mov byte [rdi + 0x184], 1
mov byte [rdi + 0x5ec], 1
mov dword [rdi + 0x990], r12d
mov rcx, r12
movaps xmmword [rsp + 0x80], xmm6
mov r13, r12
mov qword [rsp + 0x38], rcx
mov r15, r12
mov dword [rdi + 0x994], 3
mov r12d, 0x4c8
movaps xmmword [rsp + 0x70], xmm7
mov r14d, 0x440
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x14013fe20]
mov r8, qword [rax + 0x50]
mov qword [rsp + 0x30], r8
lea rbx, [r8 + 0x18]
add rbx, rcx
cmp byte [rbx + 0x16c], 0
je 0x14005070a
movzx edx, byte [rax + r13 + 0x4b8]
mov r9d, dword [r14 + rax]
mov rcx, qword [r12 + rax + 0x30]
movsd xmm6, qword [r15 + rax + 0x458]
movsd xmm7, qword [r15 + rax + 0x460]
mov byte [rsp + 0x20], dl
mov rdx, qword [r12 + rax]
mov dword [rsp + 0x24], r9d
mov qword [rbx + 0xc0], rdx
mov qword [rbx + 0xc8], rcx
test rdx, rdx
je 0x1400506ae
movsd xmm1, qword [rdx]
test rcx, rcx
je 0x1400506a1
movsd xmm2, qword [rcx]
mov rcx, rbx
call fcn.140046280
jmp 0x1400506c2
mov r8b, 1
mov rcx, rbx
call fcn.140046000
jmp 0x1400506c2
test rcx, rcx
je 0x1400506cc
movsd xmm1, qword [rcx]
mov r8b, 1
mov rcx, rbx
call fcn.140046140
mov r8, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x24]
movzx eax, byte [rsp + 0x20]
test al, al
je 0x1400506f8
cmp byte [r8 + 0x9f5], 0
je 0x1400506e5
cmp r9d, 1
jne 0x1400506f8
movaps xmm2, xmm7
movaps xmm1, xmm6
mov rcx, rbx
call fcn.140046280
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
mov byte [rbx + 0x16f], al
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0x20], eax
add rcx, 0x178
inc r13
add r14, 4
mov qword [rsp + 0x38], rcx
add r12, 8
add r15, 0x10
cmp r14, 0x458
jl 0x140050620
mov r13, qword [rsp + 0x50]
xor r8d, r8d
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
mov dword [rdi + 0x8e8], r8d
test r13, r13
je 0x1400507c1
mov rcx, r13
cmp r13, rsi
jae 0x1400507c1
movzx edx, byte [rcx]
test dl, dl
je 0x14005078f
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140050787
cmp byte [rax], dl
je 0x14005078f
mov rcx, rax
cmp rax, rsi
jb 0x140050773
cmp rcx, r13
je 0x1400507c1
mov dword [rdi + 0x9f0], r8d
nop dword [rax + rax]
inc rsi
cmp byte [rsi + r13], r8b
jne 0x1400507a0
lea r8, [r13 + 1]
mov rdx, r13
add r8, rsi
lea rcx, [rdi + 0x8e8]
call fcn.140006010
jmp 0x1400507c7
mov dword [rdi + 0x9f0], esi
mov r9, qword [rbp + 0x58]
mov rsi, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x28]
test r9, r9
je 0x1400507e6
lea rax, [r9 + 0xd4]
jmp 0x140050803
movss xmm3, dword [rbp + 0x1a0]
lea rcx, [rsp + 0x40]
movss xmm2, dword [rbp + 0x19c]
mov rdx, qword [r10]
call fcn.140015c20
movss xmm1, dword [rax]
xorps xmm2, xmm2
movss xmm0, dword [rbp + 0x1a4]
comiss xmm0, xmm1
movss xmm3, dword [rax + 4]
jbe 0x14005082a
comiss xmm2, dword [r10]
ja 0x140050827
test r9, r9
je 0x14005082a
movaps xmm1, xmm0
movss xmm0, dword [rbp + 0x1a8]
comiss xmm0, xmm3
jbe 0x140050846
comiss xmm2, dword [r10 + 4]
ja 0x140050843
test r9, r9
je 0x140050846
movaps xmm3, xmm0
mov rax, qword [rsp + 0x58]
lea rcx, [rsp + 0x28]
movss xmm0, dword [rax + 0x104]
movss xmm2, dword [rax + 0x100]
addss xmm3, xmm0
addss xmm1, xmm2
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm0
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm1
shufps xmm2, xmm2, 0x27
movss xmm2, xmm3
shufps xmm2, xmm2, 0x39
movaps xmm0, xmm2
movaps xmm1, xmm2
shufps xmm0, xmm0, 0xaa
subss xmm0, xmm2
shufps xmm1, xmm1, 0xff
movups xmmword [rdi + 0x998], xmm2
movss dword [rsp + 0x28], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm0, 0x55
subss xmm1, xmm0
movss dword [rsp + 0x2c], xmm1
movss xmm1, dword [0x14011eac0]
call fcn.140015610
mov edx, dword [rdi]
lea r8, [rdi + 0x998]
xor r9d, r9d
lea rcx, [rdi + 0x998]
call fcn.140015860
test al, al
jne 0x1400508f4
cmp qword [rbp + 0x58], 0
jne 0x1400508f4
mov rcx, qword [0x14013fe20]
call fcn.1400485a0
xor al, al
jmp 0x140050908
cmp qword [rbp + 0x60], 0
jne 0x140050906
lea rax, [rdi + 0x8f8]
mov qword [rbp + 0x60], rax
mov al, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400c2910
add rsp, 0x98
pop r13
pop rdi
pop rbp
pop rbx
ret