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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov r12, qword [rcx + 8]
lea r14, [r12 + 0x540]
mov rsi, r8
mov r8d, dword [r12 + 0x610]
mov rbp, rcx
mov ebx, edx
test r8d, r8d
jle 0x2bbf51c90
lea rdx, [rsp + 0x48]
xor eax, eax
mov ecx, 0xd
mov rdi, rdx
rep stosq qword [rdi], rax
mov eax, 3
test bl, 1
je 0x2bbf519a6
mov eax, dword [rsi]
mov dword [rsp + 0x40], eax
mov eax, 0xffffffff
test bl, 2
je 0x2bbf519b7
mov eax, dword [rsi + 4]
mov dword [rsp + 0x44], eax
test bl, 4
je 0x2bbf519c7
mov eax, dword [rsi + 8]
mov dword [rsp + 0x48], eax
mov eax, 1
test bl, 8
je 0x2bbf519d4
mov eax, dword [rsi + 0xc]
mov dword [rsp + 0x4c], eax
test bl, 0x10
je 0x2bbf519e4
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x50], eax
test bl, 0x20
je 0x2bbf519f0
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x54], eax
mov eax, 1
test bl, 0x40
je 0x2bbf519fd
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x58], eax
test bl, 0x80
je 0x2bbf51a0d
mov eax, dword [rsi + 0x1c]
mov dword [rsp + 0x5c], eax
test bh, 1
je 0x2bbf51a19
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x60], eax
test bh, 2
je 0x2bbf51a25
mov eax, dword [rsi + 0x24]
mov dword [rsp + 0x64], eax
mov eax, 1
test ebx, 0x400000
je 0x2bbf51a35
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x68], eax
test bh, 4
je 0x2bbf51a47
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x70], rax
test bh, 8
je 0x2bbf51a55
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x78], rax
test bh, 0x10
je 0x2bbf51a64
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x80], eax
test bh, 0x20
je 0x2bbf51a73
mov eax, dword [rsi + 0x44]
mov dword [rsp + 0x84], eax
test bh, 0x40
je 0x2bbf51a84
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0x88], rax
test bh, 0x80
je 0x2bbf51a93
mov eax, dword [rsi + 0x50]
mov dword [rsp + 0x90], eax
mov eax, 1
test ebx, 0x10000
je 0x2bbf51aa3
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x94], eax
test ebx, 0x20000
je 0x2bbf51abc
mov eax, dword [rsi + 0x58]
mov dword [rsp + 0x98], eax
test ebx, 0x40000
je 0x2bbf51ace
mov eax, dword [rsi + 0x5c]
mov dword [rsp + 0x9c], eax
test ebx, 0x80000
je 0x2bbf51ae2
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0xa0], rax
test ebx, 0x100000
je 0x2bbf51af4
mov eax, dword [rsi + 0x68]
mov dword [rsp + 0xa8], eax
mov eax, 4
test ebx, 0x200000
jne 0x2bbf51c00
movd xmm0, dword [rbp + 0x10]
movd xmm1, dword [rbp + 0x20]
lea r13, [rsp + 0x3c]
mov rcx, r14
mov byte [rsp + 0xac], al
mov rax, qword [rbp]
lea r15, [rsp + 0x40]
mov r8, r13
punpckldq xmm0, xmm1
mov rdx, r15
mov qword [rsp + 0xb0], rax
movq qword [rsp + 0xb8], xmm0
call qword [r12 + 0x598]
mov ecx, dword [rsp + 0x3c]
mov rdi, rax
test ecx, ecx
je 0x2bbf51c78
mov r14, qword [0x2bc041fd0]
mov ecx, 0x20
mov rax, qword [r14]
call qword [rax + 0x28]
mov rbp, qword [rbp + 0x28]
mov rsi, rax
test rbp, rbp
je 0x2bbf51c10
mov rcx, qword [rsp + 0xb0]
mov rdx, rbp
xor ebp, ebp
mov r9, r15
mov r8d, ebx
call sym.tcl9tk90.dll_XCreateGC
lea rcx, [r12 + 0x5a8]
mov r8, r13
movq xmm0, rax
mov rdx, rax
movhps xmm0, qword [rsp + 0xb0]
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rdi
movups xmmword [rsi], xmm0
call qword [r12 + 0x600]
mov edx, dword [rsp + 0x3c]
test edx, edx
je 0x2bbf51ced
mov qword [rdi + 0x18], rsi
mov qword [rax + 0x18], rsi
test rbp, rbp
jne 0x2bbf51cd8
mov rax, qword [rsi]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rsi + 0x6c]
jmp 0x2bbf51b05
movsxd rdx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0xbc]
mov rax, rdx
shl rax, 4
sub rax, rdx
mov rdx, qword [rcx + 0xe0]
lea rax, [rdx + rax*8]
mov rdx, qword [rax + 0x10]
cmp r8d, dword [rax + 0x38]
je 0x2bbf51b88
mov dword [rsp + 0x20], r8d
mov r9d, 1
mov r8d, 1
call sym.tcl9tk90.dll_Tk_GetPixmap
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
mov rbp, rax
jmp 0x2bbf51b88
mov rax, qword [rax + 0x18]
add qword [rax + 0x10], 1
mov rax, qword [rax]
jmp 0x2bbf51be5
mov rdi, qword [0x2bc041fd0]
mov rax, qword [rdi]
jne 0x2bbf51cfa
mov rcx, r14
mov edx, 0x20
mov dword [r12 + 0x610], 1
call qword [rax + 0x5b8]
mov rax, qword [rdi]
mov edx, 1
lea rcx, [r12 + 0x5a8]
call qword [rax + 0x5b8]
jmp 0x2bbf51988
mov rcx, qword [rsp + 0xb0]
mov rdx, rbp
call sym.tcl9tk90.dll_Tk_FreePixmap
jmp 0x2bbf51be2
mov rax, qword [r14]
lea rcx, str.GC_already_registered_in_Tk_GetGC
call qword [rax + 0x20]
lea rcx, str.called_GCInit_after_GCCleanup
call qword [rax + 0x20]
nop
nop word cs:[rax + rax]