Function at 0x140058e50
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1400bb040]
xor rax, rsp
mov qword [rbp - 0x60], rax
mov rax, qword gs:[0x58]
mov rsi, r9
mov r13d, 8
mov r15, rcx
mov dword [rsp + 0x48], r8d
mov byte [rsp + 0x40], dl
mov r14, qword [rax]
mov qword [rsp + 0x60], rcx
cmp byte [r14 + r13], 0
jne 0x140058eae
call fcn.140082398
mov qword [rsp + 0x148], r12
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm8
mov edi, 0x10
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xb0], xmm11
mov rcx, qword [rdi + r14]
mov rax, qword [rcx + 0x4148]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4148]
cmp byte [rbx + 0xf8], 0
jne 0x14005961b
cmp byte [r14 + r13], 0
movaps xmmword [rsp + 0xc0], xmm10
jne 0x140058f21
call fcn.140082398
movsxd rax, dword [rbx + 0x130]
xor edx, edx
mov r8, qword [rbx + 0x138]
mov rcx, r15
mov rdi, qword [rdi + r14]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1400032e0
mov rcx, qword [rbx]
mov r12d, eax
mov dword [rsp + 0x44], eax
cmp dword [rcx + 0x4194], eax
jne 0x140058f63
mov r8, r15
mov edx, 0xb
mov ecx, eax
call fcn.14002d2f0
cmp byte [r14 + r13], 0
jne 0x140058f6f
call fcn.140082398
mov r8d, 0x10
mov rcx, r15
mov r8, qword [r8 + r14]
cmp r15, 0xffffffffffffffff
jae 0x140058f9f
movzx edx, byte [rcx]
test dl, dl
je 0x140058f9f
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140058f96
cmp byte [rax], dl
je 0x140058f9f
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140058f82
movss xmm7, dword [r8 + 0x3e80]
xorps xmm11, xmm11
cmp r15, rcx
jne 0x140058fb7
xorps xmm9, xmm9
jmp 0x140059015
movss xmm0, dword [0x1400adee0]
lea rdx, [rsp + 0x50]
movss xmm3, dword [0x1400adeb8]
movaps xmm2, xmm7
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rcx
mov rcx, qword [r8 + 0x3e78]
mov qword [rsp + 0x28], r15
movss dword [rsp + 0x20], xmm0
call fcn.14003d990
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [0x1400add14]
movss xmm7, dword [rsp + 0x54]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss xmm0, dword [rsi + 4]
ucomiss xmm0, xmm11
movss dword [rsp + 0x5c], xmm7
movss dword [rsp + 0x58], xmm9
jp 0x14005902f
je 0x140059032
movaps xmm7, xmm0
movss xmm6, dword [rsi]
ucomiss xmm6, xmm11
jp 0x140059042
jne 0x140059042
movaps xmm6, xmm9
movss xmm8, dword [rbx + 0x144]
lea rcx, [rsp + 0x50]
movss xmm10, dword [rbx + 0x140]
xorps xmm1, xmm1
movss dword [rbp - 0x74], xmm8
addss xmm8, dword [rbx + 0x178]
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
call fcn.1400171b0
mov ecx, dword [rsp + 0x48]
mov r13d, ecx
shr r13d, 1
and r13b, 1
je 0x14005909e
movss xmm5, dword [rbx + 0x268]
movss xmm1, dword [rbx + 0x270]
jmp 0x1400590aa
movss xmm1, dword [rbx + 0x260]
movaps xmm5, xmm10
movss xmm0, dword [rsi]
ucomiss xmm0, xmm11
jp 0x1400590b6
je 0x1400590bc
bt ecx, 0x18
jae 0x1400590c8
subss xmm1, xmm5
movaps xmm6, xmm9
maxss xmm6, xmm1
movss dword [rsp + 0x68], xmm5
addss xmm6, xmm5
movss dword [rsp + 0x6c], xmm8
movaps xmm0, xmm10
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmm8
unpcklps xmm0, xmm8
addss xmm9, xmm7
movsd qword [rbp - 0x68], xmm0
movss dword [rbp - 0x78], xmm6
movss dword [rsp + 0x70], xmm6
movss dword [rbp - 0x74], xmm9
movss dword [rsp + 0x74], xmm9
bt ecx, 0x1a
jb 0x14005918f
test r13b, r13b
je 0x140059120
xorps xmm7, xmm7
jmp 0x140059128
movss xmm7, dword [rdi + 0x3a4c]
movss xmm4, dword [rdi + 0x3a50]
movaps xmm0, xmm7
mulss xmm0, dword [0x1400adcd4]
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x1400adcd4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm0
subss xmm7, xmm2
subss xmm5, xmm2
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm7, xmm6
movss dword [rsp + 0x68], xmm5
subss xmm4, xmm3
subss xmm8, xmm3
movss dword [rsp + 0x70], xmm7
addss xmm4, xmm9
movss dword [rsp + 0x6c], xmm8
movss dword [rsp + 0x74], xmm4
movss xmm6, dword [rbx + 0x278]
movss xmm7, dword [rbx + 0x280]
test r13b, r13b
je 0x1400591bc
mov eax, dword [rbx + 0x268]
mov dword [rbx + 0x278], eax
mov eax, dword [rbx + 0x270]
mov dword [rbx + 0x280], eax
mov eax, ecx
xor r8d, r8d
shr eax, 3
lea rcx, [rsp + 0x68]
and al, 1
mov edx, r12d
movzx esi, al
mov r9d, esi
mov dword [rsp + 0x50], esi
shl r9d, 2
call fcn.140017350
test r13b, r13b
je 0x1400591f6
movss dword [rbx + 0x278], xmm6
movss dword [rbx + 0x280], xmm7
test al, al
je 0x14005961b
mov r15d, dword [rdi + 0x4a90]
shr r15d, 2
and r15b, 1
test sil, sil
je 0x14005927a
test r15b, r15b
jne 0x14005927a
mov eax, 8
cmp byte [r14 + rax], r15b
jne 0x140059227
call fcn.140082398
mov eax, 0x10
mov rsi, qword [rax + r14]
lea rdx, [rsi + 0x4a90]
mov ecx, dword [rdx]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x140059262
movss xmm0, dword [rsi + 0x3a00]
movss dword [rsi + 0x6000], xmm0
mulss xmm0, dword [rsi + 0x3a04]
movss dword [rsi + 0x3a00], xmm0
or ecx, 4
mov dword [rdx], ecx
lea rcx, [rsi + 0x4bd8]
call fcn.14002e3a0
inc word [rsi + 0x6004]
test r13b, r13b
je 0x14005929f
cmp qword [rbx + 0x1e8], 0
je 0x140059290
call fcn.140045ec0
jmp 0x14005929f
cmp qword [rdi + 0x4f78], 0
je 0x14005929f
call fcn.140044dd0
mov r8d, dword [rsp + 0x48]
mov ecx, r8d
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
bts edx, 0x14
bt r8d, 0x1b
cmovae edx, ecx
mov ecx, edx
or ecx, 0x10
bt r8d, 0x16
cmovae ecx, edx
mov edx, ecx
bts edx, 7
bt r8d, 0x17
cmovae edx, ecx
mov ecx, edx
or ecx, 0x120
test r8b, 4
cmove ecx, edx
test r8b, 0x10
jne 0x1400592fa
test dword [rdi + 0x4abc], 0x200
je 0x1400592fe
bts ecx, 0xc
movzx eax, byte [rsp + 0x40]
lea r9, [rsp + 0x41]
mov dword [rsp + 0x20], ecx
lea r8, [rsp + 0x42]
lea rcx, [rsp + 0x68]
mov byte [rsp + 0x43], al
mov edx, r12d
call fcn.140047050
mov ecx, dword [rsp + 0x48]
movzx esi, al
movss xmm6, dword [rsp + 0x74]
movss xmm7, dword [rsp + 0x70]
movss xmm8, dword [rsp + 0x6c]
movss xmm9, dword [rsp + 0x68]
movzx r12d, byte [rsp + 0x42]
mov eax, dword [rsp + 0x44]
bt ecx, 0x15
jae 0x14005937d
mov edx, dword [rdi + 0x4cc8]
test edx, edx
je 0x14005937d
mov ecx, dword [rdi + 0x4a8c]
cmp dword [rdi + 0x4ccc], ecx
jne 0x140059379
cmp edx, eax
jne 0x140059379
mov sil, 1
mov byte [rsp + 0x40], sil
jmp 0x140059395
mov ecx, dword [rsp + 0x48]
test sil, sil
jne 0x140059395
test r12b, r12b
je 0x140059473
bt ecx, 0x19
jae 0x14005946e
cmp byte [rdi + 0x4cf3], 0
jne 0x140059413
cmp qword [rdi + 0x4ca8], rbx
jne 0x140059413
mov edx, dword [rbx + 0x198]
cmp dword [rdi + 0x4ce0], edx
jne 0x140059413
movss xmm2, dword [rbx + 0x150]
lea r9, [rsp + 0x78]
movss xmm3, dword [rbx + 0x154]
movaps xmm0, xmm9
mov r8d, dword [rdi + 0x4a8c]
subss xmm0, xmm2
movaps xmm1, xmm8
mov ecx, eax
subss xmm1, xmm3
movss dword [rsp + 0x78], xmm0
movaps xmm0, xmm7
subss xmm0, xmm2
movss dword [rsp + 0x7c], xmm1
movaps xmm1, xmm6
subss xmm1, xmm3
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm1
call fcn.140019ef0
mov byte [rdi + 0x4cf2], 1
test sil, sil
je 0x14005945c
mov eax, 8
cmp byte [r14 + rax], 0
jne 0x140059429
call fcn.140082398
mov eax, 0x10
mov rax, qword [rax + r14]
cmp word [rax + 0x6006], 0
jg 0x14005945c
mov ecx, dword [rax + 0x41ac]
cmp ecx, dword [rsp + 0x44]
je 0x14005944c
test ecx, ecx
jne 0x140059455
mov word [rax + 0x41bc], 0x101
or dword [rax + 0x4ac0], 4
movzx eax, byte [rsp + 0x40]
cmp al, byte [rsp + 0x43]
je 0x14005946e
or dword [rdi + 0x4ac0], 8
test r12b, r12b
jne 0x14005947e
cmp byte [rsp + 0x40], 0
je 0x14005950c
cmp byte [rsp + 0x41], 0
je 0x140059491
test r12b, r12b
je 0x140059491
mov ecx, 0x1a
jmp 0x14005949c
xor ecx, ecx
test r12b, r12b
setne cl
add ecx, 0x18
movss xmm1, dword [0x1400add1c]
call fcn.140003e00
mov r12d, eax
movss dword [rbp - 0x70], xmm7
mov eax, 8
movss dword [rbp - 0x6c], xmm6
movss dword [rsp + 0x78], xmm9
movss dword [rsp + 0x7c], xmm8
cmp byte [r14 + rax], 0
jne 0x1400594d5
call fcn.140082398
mov eax, 0x10
lea r8, [rbp - 0x70]
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x78]
mov r9d, r12d
movss dword [rsp + 0x20], xmm11
mov rcx, qword [rax + r14]
mov rcx, qword [rcx + 0x4148]
mov rcx, qword [rcx + 0x2e0]
call fcn.140039330
mov eax, dword [rsp + 0x44]
cmp dword [rdi + 0x4cb0], eax
jne 0x14005952a
mov r8d, 0xa
lea rcx, [rsp + 0x68]
mov edx, eax
call fcn.1400058a0
test r13b, r13b
je 0x14005954f
cmp qword [rbx + 0x1e8], 0
je 0x140059540
call fcn.140045fb0
jmp 0x14005954f
cmp qword [rdi + 0x4f78], 0
je 0x14005954f
call fcn.140044ed0
mov r8, qword [rsp + 0x60]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x30], rcx
lea rax, [rdi + 0x3aa8]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x78]
lea rax, [rsp + 0x58]
xor r9d, r9d
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140004e30
test sil, sil
je 0x1400595a7
test dword [rbx + 0x14], 0x4000000
je 0x1400595a7
test byte [rsp + 0x48], 1
jne 0x1400595a7
test byte [rdi + 0x4abc], 0x20
jne 0x1400595a7
call fcn.140019280
cmp byte [rsp + 0x50], 0
je 0x140059615
test r15b, r15b
jne 0x140059615
mov eax, 8
cmp byte [r14 + rax], r15b
jne 0x1400595c3
call fcn.140082398
mov eax, 0x10
mov rdx, qword [rax + r14]
mov eax, dword [rdx + 0x4a90]
movsxd rcx, dword [rdx + 0x4bd8]
dec word [rdx + 0x6004]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rdx + 0x4bd8], eax
mov rax, qword [rdx + 0x4be0]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4a90], r8d
je 0x140059615
test r8b, 4
jne 0x140059615
mov eax, dword [rdx + 0x6000]
mov dword [rdx + 0x3a00], eax
movzx eax, sil
jmp 0x14005961d
xor al, al
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r12, qword [rsp + 0x148]
mov rcx, qword [rbp - 0x60]
xor rcx, rsp
call fcn.1400820c0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret