Function at 0x1400bca00
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov ebp, r9d
mov r14d, r8d
mov edi, edx
mov r13, rcx
mov esi, 0xffffffff
mov r15, qword [rax + 0x28]
mov eax, dword [0x1401765b8]
test eax, eax
jne 0x1400bcade
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400bca5b
lock inc dword [rcx + 8]
mov rcx, qword [r15 + 8]
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov edx, dword [r13 + 0x118]
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glBindTexture]
mov ecx, edi
call fcn.1400c46e0
mov ebx, eax
mov ecx, edi
call fcn.1400c4810
mov rdx, qword [rsp + 0x58]
mov r8, qword [rdx + 0x10]
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glTexSubImage2D]
xor edx, edx
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glBindTexture]
nop
mov rbx, qword [rsp + 0x60]
jmp 0x1400bcbc6
cmp eax, 1
jne 0x1400bcbf5
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400bcb01
lock inc dword [rcx + 8]
mov rcx, qword [r15 + 8]
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov rcx, qword [0x1401768c0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0
mov r9d, 4
xor r8d, r8d
mov rdx, qword [r13 + 0x128]
call qword [rax + 0x70]
mov rdi, qword [rsp + 0x78]
test eax, eax
js 0x1400bcbb3
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax + 0x10]
mov edx, dword [rax + 8]
mov eax, dword [rax + 0xc]
mov ecx, dword [rsp + 0x80]
cmp eax, ecx
cmova ecx, eax
test edx, edx
jle 0x1400bcb9a
lea eax, [rax*4]
movsxd rbp, eax
movsxd r12, ecx
mov r14d, edx
nop
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rbp
add rdi, r12
sub r14, 1
jne 0x1400bcb80
mov rcx, qword [0x1401768c0]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [r13 + 0x128]
call qword [rax + 0x78]
jmp 0x1400bcbc1
lea rcx, str.map_texture_fail
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
nop
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1400bcbf5
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400bcbf5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400bcbf5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400bcc25
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400bcc25
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x1400bcc25
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret