Function at 0x140015580
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rbx, qword [0x1400c66e8]
test rbx, rbx
jne 0x1400157d1
xor edx, edx
mov dword [rax + 8], edx
mov r15d, 0xa6d6da1e
mov dword [rax + 0xc], r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
mov r14, qword [rcx]
mov qword [rsp + 0x30], r14
mov r9, r14
mov qword [rsp + 0x38], r14
mov rax, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x50], xmm0
movd eax, xmm0
sub ax, 8
mov word [rsp + 0x50], ax
test edx, edx
je 0x14001563c
mov rbx, qword [rsp + 0x58]
movzx eax, ax
shr rax, 1
lea rdi, [rbx + rax*2]
mov eax, 0x98274b4a
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
je 0x140015628
movzx edx, byte [rbx]
mov ecx, eax
call fcn.140002fd0
add rbx, 2
jmp 0x14001560e
mov edx, dword [rsp + 0x130]
mov r9, qword [rsp + 0x38]
cmp eax, edx
jne 0x1400157ad
mov rsi, qword [r14 + 0x30]
mov qword [rsp + 0x60], rsi
movsxd rax, dword [rsi + 0x3c]
mov r8, qword [rax + rsi + 0x88]
mov qword [rsp + 0x140], r8
mov edi, r8d
add rdi, rsi
mov qword [rsp + 0x68], rdi
shr r8, 0x20
mov qword [rsp + 0x140], r8
mov dword [rsp + 0x70], r8d
cmp rdi, rsi
je 0x1400157ad
mov r13d, dword [rdi + 0x18]
mov dword [rsp + 0x20], r13d
nop word [rax + rax]
mov eax, r13d
dec r13d
mov dword [rsp + 0x20], r13d
test eax, eax
je 0x1400157a6
mov ecx, dword [rdi + 0x20]
add rcx, rsi
mov ebx, dword [rcx + r13*4]
add rbx, rsi
mov qword [rsp + 0x48], rbx
mov eax, 0x98274b4a
nop word [rax + rax]
movzx edx, byte [rbx]
inc rbx
mov qword [rsp + 0x48], rbx
test dl, dl
jne 0x14001578d
cmp eax, r15d
jne 0x140015788
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rdi + 0x24]
add rax, rsi
movzx eax, word [rax + r13*2]
mov ebx, dword [rcx + rax*4]
add rbx, rsi
cmp rbx, rdi
jbe 0x1400157ca
mov eax, r8d
add rax, rdi
cmp rbx, rax
jae 0x1400157ca
mov eax, 0x98274b4a
mov dword [rsp + 0x138], eax
mov edi, eax
mov dword [rsp + 0x13c], eax
mov qword [rsp + 0x28], rbx
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x140015740
mov ecx, eax
call fcn.140002fd0
mov dword [rsp + 0x138], eax
inc rbx
jmp 0x140015720
inc rbx
mov qword [rsp + 0x28], rbx
movzx edx, byte [rbx]
test dl, dl
je 0x140015761
mov ecx, edi
call fcn.140002fd0
mov edi, eax
mov dword [rsp + 0x13c], eax
jmp 0x140015740
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x130], rax
mov r9, qword [rsp + 0x38]
mov r14, qword [r9]
mov qword [rsp + 0x30], r14
mov r15d, dword [rsp + 0x134]
jmp 0x1400157a6
jmp 0x140015690
mov ecx, eax
call fcn.140002fd0
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x38]
jmp 0x1400156c0
mov edx, dword [rsp + 0x130]
mov r14, qword [r14]
mov rax, r14
mov qword [rsp + 0x30], r14
cmp r14, r9
je 0x1400157c8
cmp qword [r14 + 0x30], 0
jne 0x1400155e0
xor ebx, ebx
mov qword [0x1400c66e8], rbx
movaps xmm0, xmmword [0x1400a3ff0]
movups xmmword [rsp + 0x78], xmm0
movaps xmm1, xmmword [0x1400a4000]
movups xmmword [rsp + 0x88], xmm1
movaps xmm0, xmmword [0x1400a4010]
movups xmmword [rsp + 0x98], xmm0
movaps xmm1, xmmword [0x1400a4020]
movups xmmword [rsp + 0xa8], xmm1
movaps xmm0, xmmword [0x1400a4030]
movups xmmword [rsp + 0xb8], xmm0
movaps xmm1, xmmword [0x1400a4040]
movups xmmword [rsp + 0xc8], xmm1
movsd xmm0, qword [0x1400a4050]
movsd qword [rsp + 0xd8], xmm0
mov eax, dword [0x1400a4058]
mov dword [rsp + 0xe0], eax
movzx eax, word [0x1400a405c]
mov word [rsp + 0xe4], ax
movzx eax, byte [0x1400a405e]
mov byte [rsp + 0xe6], al
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.140015890
lea rcx, [rsp + 0x78]
call rbx
jmp 0x14001587b
xor eax, eax
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret