Function at 0x7d258550
Capabilities:
Print debug messages
Terminate process

Disassembly:
jmp 0x7d258320
sub rsp, 0x28
test rcx, rcx
je 0x7d25834a
test edx, edx
je 0x7d25834a
test cx, cx
jne 0x7d25833b
add rsp, 0x28
jmp 0x7d258550
add edx, 0x7f
shr edx, 7
add rsp, 0x28
jmp 0x7d258370
lea rcx, str.pool_abend_POOL_FREE_NULL_PTR_OR_ZERO_SIZE_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov edi, edx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r15, rbx
movzx ecx, bx
and r15, 0xffffffffffff0000
sub rcx, 0x100
shr rcx, 7
mov ebx, 1
mov r8d, ecx
mov r12d, eax
shr r8, 3
and ecx, 7
mov rsi, qword [r15 + 0x18]
lea r14, [r15 + 0x80]
add r14, r8
shl ebx, cl
mov eax, dword [rsi]
cmp dword [r15 + 0x20], eax
je 0x7d2583e7
lea rcx, str.pool_abend_POOL_FREE_CELLS_EYECATCHER_MISMATCH_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
int3
xor eax, eax
lock cmpxchg dword [rsi + 4], r12d
cmp eax, r12d
je 0x7d258407
lea rcx, [rsi + 8]
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rsi + 4], r12d
jmp 0x7d25840a
xor r13b, r13b
movzx eax, word [r15 + 0x24]
xor ebp, ebp
cmp ax, 4
jae 0x7d25847f
movzx eax, ax
add eax, edi
cmp eax, 4
jb 0x7d25847f
mov rcx, qword [r15 + 8]
mov rax, qword [r15]
dec dword [rsi + 0x58]
test rcx, rcx
jne 0x7d258449
test rax, rax
jne 0x7d25843f
mov qword [rsi + 0x50], rbp
mov qword [rsi + 0x48], rbp
jmp 0x7d25845e
mov qword [rsi + 0x48], rax
mov qword [rax + 8], rbp
jmp 0x7d25845e
test rax, rax
jne 0x7d258457
mov qword [rsi + 0x50], rcx
mov qword [rcx], rbp
jmp 0x7d25845e
mov qword [rcx], rax
mov qword [rax + 8], rcx
mov rax, qword [rsi + 0x30]
inc dword [rsi + 0x40]
mov qword [rsi + 0x30], r15
mov qword [r15 + 8], rbp
mov qword [r15], rax
test rax, rax
jne 0x7d25847b
mov qword [rsi + 0x38], r15
jmp 0x7d25847f
mov qword [rax + 8], r15
add word [r15 + 0x24], di
test edi, edi
je 0x7d2584bc
cmp ebx, 1
jne 0x7d25849c
cmp edi, 8
jbe 0x7d25849c
mov byte [r14], bpl
add edi, 0xfffffff8
mov eax, ebx
jmp 0x7d2584b5
movzx eax, bl
dec edi
not al
add ebx, ebx
and byte [r14], al
movzx eax, bl
shr ebx, 8
or eax, ebx
mov ebx, eax
and eax, 1
add r14, rax
test edi, edi
jne 0x7d258488
test r13b, r13b
je 0x7d2584d2
lea rcx, [rsi + 8]
mov dword [rsi + 4], r12d
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xchg dword [rsi + 4], ebp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov edi, edx
mov r14, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
add edi, 0x10027
mov esi, eax
mov eax, 0xffff0000
and rdi, rax
add rdi, r14
mov rbx, qword [rdi - 0x14]
mov edx, dword [rbx]
cmp dword [rdi - 0x18], edx
je 0x7d2585a1
lea rcx, str.pool_abend_POOL_FREE_LARGE_CHUNK_SECOND_EYECATCHER_MISMATCH_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
int3
xor eax, eax
lock cmpxchg dword [rbx + 4], esi
cmp eax, esi
je 0x7d2585be
lea rcx, [rbx + 8]
mov bpl, 1
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rbx + 4], esi
jmp 0x7d2585c1
xor bpl, bpl
mov rcx, qword [rdi - 0x20]
mov rax, qword [rdi - 0x28]
xor edi, edi
dec dword [rbx + 0x70]
test rcx, rcx
jne 0x7d2585ec
test rax, rax
jne 0x7d2585e2
mov qword [rbx + 0x68], rdi
mov qword [rbx + 0x60], rdi
jmp 0x7d258601
mov qword [rbx + 0x60], rax
mov qword [rax + 8], rdi
jmp 0x7d258601
test rax, rax
jne 0x7d2585fa
mov qword [rbx + 0x68], rcx
mov qword [rcx], rdi
jmp 0x7d258601
mov qword [rcx], rax
mov qword [rax + 8], rcx
test bpl, bpl
je 0x7d258616
lea rcx, [rbx + 8]
mov dword [rbx + 4], esi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xchg dword [rbx + 4], edi
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x7d25864b
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000025
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret