Function at 0x14005d980
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0xa0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp dword [0x1401a7010], 1
je 0x14005e184
mov eax, dword [0x14051ed30]
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
test eax, eax
jne 0x14005d9d6
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x14005d9d6
mov ecx, 1
call rax
cmp dword [0x14029ebf0], 0
mov dword [0x1401a7014], 1
mov dword [0x1401a9f74], 0
mov dword [0x1401a7028], 0
jne 0x14005da07
mov dword [0x14029ebf0], 1
movss xmm6, dword [0x14013bf20]
lea rdi, [0x14024e13c]
movss xmm7, dword [0x14013bdb8]
xor ebx, ebx
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm0
mulss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.140122d70
xorps xmm1, xmm1
inc ebx
cvtsd2ss xmm1, xmm0
movss dword [rdi], xmm1
add rdi, 4
cmp ebx, 0x10000
jl 0x14005da20
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
call fcn.140091610
call fcn.1400a6d10
call fcn.140042160
mov r8, qword [str._u_n_]
test r8, r8
je 0x14005daae
lea rax, [0x1400456c0]
lea rcx, [0x1401ad488]
cmp r8, rax
jne 0x14005daa4
mov rax, qword [0x1401a9088]
test rax, rax
je 0x14005dadd
mov edx, 0xc00
call rax
jmp 0x14005dae7
mov edx, 0xc00
call r8
jmp 0x14005dae7
mov rax, qword [0x140154ae8]
lea rcx, [0x1400456a0]
cmp rax, rcx
lea rcx, [0x1401ad488]
jne 0x14005dae5
mov rax, qword [0x1401a9088]
test rax, rax
je 0x14005dadd
mov edx, 0x7fffffff
call rax
jmp 0x14005dae7
call qword [0x1401a9080]
jmp 0x14005dae7
call rax
cmp dword [0x1401a9b44], 0
mov esi, pe_nt_image_headers64
jne 0x14005dd38
cmp dword [0x14017af18], 0
je 0x14005dd38
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], r15
mov dword [rsp + 0x4c], 0
movups xmm1, xmmword [0x14012f430]
mov eax, 0x1e0
mov ecx, 0x280
nop word [rax + rax]
mov r12d, dword [0x14017aef8]
test r12d, r12d
mov r14d, dword [0x14017aef0]
mov ebp, dword [0x14017aef4]
cmove r12d, esi
test r14d, r14d
cmove r14d, ecx
test ebp, ebp
mov dword [rsp + 0x48], r14d
cmove ebp, eax
cmp qword [0x14017afa0], 0
mov dword [rsp + 0x44], ebp
jne 0x14005db96
call fcn.140073ee0
movups xmm1, xmmword [0x14012f430]
cmp dword [0x14017af90], 0
mov esi, dword [0x14017afa8]
cmovne esi, dword [0x14017af94]
cmp qword [0x14017afa0], 0
jne 0x14005dbc4
call fcn.140073ee0
movups xmm1, xmmword [0x14012f430]
test eax, eax
js 0x14005dbeb
test esi, esi
js 0x14005dbeb
cmp esi, dword [0x14017af98]
jge 0x14005dbeb
movsxd rax, esi
imul rcx, rax, 0x150
mov rax, qword [0x14017afa0]
mov r13d, dword [rcx + rax + 0x140]
jmp 0x14005dbf1
mov r13d, 0xffffffff
xor edi, edi
mov dword [rsp + 0x40], r13d
xor ebx, ebx
movsxd r15, r13d
test r13d, r13d
jle 0x14005dcb6
mov r13d, dword [rsp + 0x44]
xor ebp, ebp
movsxd r14, esi
cmp qword [0x14017afa0], 0
jne 0x14005dc2a
call fcn.140073ee0
movups xmm1, xmmword [0x14012f430]
test eax, eax
js 0x14005dc65
test esi, esi
js 0x14005dc65
cmp esi, dword [0x14017af98]
jge 0x14005dc65
mov rcx, qword [0x14017afa0]
imul rax, r14, 0x150
cmp dword [rax + rcx + 0x140], edi
jle 0x14005dc65
test rbx, rbx
js 0x14005dc65
mov rax, qword [rax + rcx + 0x148]
movups xmm0, xmmword [rax + rbp]
movups xmmword [rsp + 0x50], xmm0
jmp 0x14005dc6d
movups xmm0, xmm1
movups xmmword [rsp + 0x50], xmm1
movq rax, xmm0
cmp eax, dword [rsp + 0x48]
jne 0x14005dc96
shr rax, 0x20
cmp eax, r13d
jne 0x14005dc96
cmp dword [rsp + 0x4c], 0
mov eax, dword [rsp + 0x58]
je 0x14005dc91
cmp eax, 0x20
je 0x14005dca8
cmp eax, r12d
je 0x14005dca8
inc edi
inc rbx
add rbp, 0x10
cmp rbx, r15
jl 0x14005dc10
mov r13d, dword [rsp + 0x40]
mov ebp, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x48]
cmp edi, r13d
jne 0x14005dd0b
mov ecx, 0x280
cmp r14d, ecx
jne 0x14005dd0b
mov eax, 0x1e0
cmp ebp, eax
jne 0x14005dd0b
cmp r12d, 0x10
jne 0x14005dd0b
cmp dword [0x14017adb4], 0
je 0x14005dced
mov dword [rsp + 0x4c], 1
mov esi, r12d
jmp 0x14005db50
mov r9d, dword [0x14017aefc]
mov r8d, 0x20
mov edx, eax
call fcn.1400130e0
mov esi, pe_nt_image_headers64
jmp 0x14005db36
mov r15, qword [rsp + 0x90]
mov esi, pe_nt_image_headers64
mov r14, qword [rsp + 0x98]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
cmp dword [0x1401a7018], 0
jne 0x14005ddab
xor ecx, ecx
call qword [0x14051f360]
mov rcx, rax
mov edx, 0xe
mov rdi, rax
call qword [0x14051f580]
mov edx, 0xc
mov rcx, rdi
mov ebx, eax
call qword [0x14051f580]
mov rdx, rdi
xor ecx, ecx
imul ebx, eax
call qword [0x14051f368]
cmp ebx, 0x18
jne 0x14005dd97
cmp dword [0x1401a9b44], 1
je 0x14005e1ad
cmp dword [0x14017af18], 0
je 0x14005e1ad
mov ecx, dword [0x14017aef8]
test ecx, ecx
cmove ecx, esi
cmp ecx, 0x18
je 0x14005e1ad
lea rcx, [0x1401ad010]
call qword [0x14051ef28]
xor eax, eax
cmp qword [0x1401ad010], rax
setne al
mov dword [0x1401ad008], eax
call fcn.14004e9d0
cmp dword [0x1401ad018], 0
lea rax, [fcn.140008720]
mov qword [0x14017ada8], rax
jne 0x14005de23
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x14005de08
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x14005de08
mov ecx, 1
call rax
mov edx, 2
xor ecx, ecx
call qword [0x14051f0b0]
test eax, eax
js 0x14005de23
mov dword [0x1401ad018], 1
call fcn.140047850
cmp eax, 0xffffffff
je 0x14005e19e
cmp dword [0x1401a7024], 0
jne 0x14005de48
call fcn.14005f4d0
cmp eax, 0xffffffff
je 0x14005e19e
cmp dword [0x1401a7020], 0
jne 0x14005dfa8
cmp dword [0x1401777c4], 1
je 0x14005dfa3
cmp qword [0x1405b9be8], 0
jne 0x14005df99
lea rcx, str.msacm32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1405b9be8], rax
test rax, rax
je 0x14005dfa3
lea rdx, str.acmFormatSuggest
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9bf8], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamOpen
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9bf0], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamClose
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c00], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmMetrics
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c08], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamPrepareHeader
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c10], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamConvert
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c18], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamUnprepareHeader
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c20], rax
test rax, rax
je 0x14005dfa3
mov rcx, qword [0x1405b9be8]
lea rdx, str.acmStreamSize
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1405b9c28], rax
test rax, rax
je 0x14005dfa3
mov dword [0x1401777c4], 1
call fcn.140023c60
cmp dword [0x1401a701c], 0
jne 0x14005e011
call fcn.1400642e0
cmp dword [0x14029ebd0], 1
je 0x14005e004
mov ecx, 6
lea rax, str.Movie
mov qword [rsp + 0x30], rax
lea r9, [fcn.1400170b0]
lea rax, [0x140075ef0]
mov qword [rsp + 0x28], 0
mov edx, 0x1298
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 0x5e]
call fcn.140072460
mov dword [0x14029ebd0], 1
call fcn.140014010
test eax, eax
js 0x14005e19e
cmp dword [0x1401a9b44], 0
mov dword [0x1401a7010], 1
jne 0x14005e153
cmp dword [0x14017af18], 0
je 0x14005e153
cmp dword [0x1401a9b10], 0
jne 0x14005e153
mov eax, dword [0x14051ed30]
mov rbx, qword [0x1401a9ad8]
test eax, eax
jne 0x14005e06b
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x14005e06b
mov ecx, 1
call rax
call qword [0x14051f170]
mov rcx, rax
xor edx, edx
call qword [0x14051f160]
xor edx, edx
mov rcx, rbx
mov edi, eax
call qword [0x14051f160]
mov r8d, 1
mov edx, edi
mov ecx, eax
mov esi, eax
call qword [0x14051f490]
mov ecx, dword [0x14051ed34]
lea r8, [rsp + 0x60]
xor r9d, r9d
xor edx, edx
test ecx, ecx
mov ecx, 0x2000
je 0x14005e0bc
call qword [0x14051f488]
jmp 0x14005e0c2
call qword [0x14051f480]
mov eax, dword [0x14051ed34]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x2001
test eax, eax
je 0x14005e0e1
call qword [0x14051f488]
jmp 0x14005e0e7
call qword [0x14051f480]
mov rcx, rbx
call qword [0x14051f158]
mov eax, dword [0x14051ed34]
lea r8, [rsp + 0x60]
xor r9d, r9d
xor edx, edx
mov ecx, 0x2001
test eax, eax
je 0x14005e111
call qword [0x14051f488]
jmp 0x14005e117
call qword [0x14051f480]
xor r8d, r8d
mov edx, edi
mov ecx, esi
call qword [0x14051f490]
mov rcx, qword [0x1401a9ad8]
xor r9d, r9d
mov dword [rsp + 0x30], 0xb
xor r8d, r8d
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [r9 - 1]
call qword [0x14051f198]
mov ecx, 0xfffffffe
call fcn.140012790
mov ecx, 0xfffffffc
call fcn.140012790
cmp dword [0x1401b733c], 1
mov dword [0x1401a7014], 0
jne 0x14005e184
mov dword [0x1401b7338], 0
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140107200
add rsp, 0xa0
pop rdi
pop rsi
pop rbx
ret
call fcn.14005e1c0
mov dword [0x1401a7014], 0
mov eax, 0xffffffff
jmp 0x14005e186