Function at 0x7d2606d0
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [esp + 0x28]
mov ebp, eax
mov dword [esp + 0x1c], ebp
mov ecx, ebp
xor eax, eax
lea ebx, [esi + 4]
lea edx, [esi + 8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edx
lock cmpxchg dword [ebx], ecx
cmp eax, ebp
je 0x7d260711
push edx
mov byte [esp + 0x17], 1
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebx], ebp
jmp 0x7d260716
mov byte [esp + 0x13], 0
mov ebx, dword [esi + 0x20]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x7d2608a7
nop dword [eax]
mov eax, dword [ebx]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x10]
cmp eax, dword [esi]
je 0x7d260749
push str.pool_abend_POOL_GET_CELLS_EYECATCHER_MISMATCH_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
int3
movzx eax, word [ebx + 0x14]
cmp eax, ebp
jb 0x7d260895
lea esi, [ebx + 0x80]
mov eax, 1
xor ebx, ebx
movzx edx, byte [esi]
lea edi, [ebx + 1]
and edx, eax
add eax, eax
movzx ecx, al
shr eax, 8
or eax, ecx
mov ecx, eax
and ecx, 1
add esi, ecx
test edx, edx
je 0x7d2607c7
cmp edi, 0x1fe
jae 0x7d260815
nop dword [eax + eax]
cmp eax, 1
jne 0x7d2607a1
cmp byte [esi], 0xff
jne 0x7d2607a1
mov ecx, eax
lea edx, [eax + 7]
jmp 0x7d2607b9
test byte [esi], al
je 0x7d260815
add eax, eax
mov edx, 1
movzx ecx, al
shr eax, 8
or eax, ecx
mov ecx, eax
and ecx, 1
add edi, edx
add esi, ecx
cmp edi, 0x1fe
jb 0x7d260790
jmp 0x7d260815
cmp edi, 0x1fe
jae 0x7d26080d
nop
mov ecx, edi
sub ecx, ebx
cmp ecx, ebp
jae 0x7d26080d
cmp eax, 1
jne 0x7d2607e9
cmp byte [esi], 0
jne 0x7d2607e9
mov ecx, eax
lea edx, [eax + 7]
jmp 0x7d260801
test byte [esi], al
jne 0x7d26080d
add eax, eax
mov edx, 1
movzx ecx, al
shr eax, 8
or eax, ecx
mov ecx, eax
and ecx, 1
add edi, edx
add esi, ecx
cmp edi, 0x1fe
jb 0x7d2607d0
mov ecx, edi
sub ecx, ebx
cmp ecx, ebp
jae 0x7d260825
mov ebx, edi
cmp edi, 0x1fe
jb 0x7d260762
jmp 0x7d26082e
cmp ebx, 0xffffffff
jne 0x7d2608e3
mov edx, dword [esp + 0x14]
lea eax, [ebp - 1]
mov esi, dword [esp + 0x28]
mov word [edx + 0x14], ax
cmp ax, 4
jae 0x7d260895
mov ecx, dword [edx + 4]
mov eax, dword [edx]
dec dword [esi + 0x28]
test ecx, ecx
jne 0x7d260867
test eax, eax
jne 0x7d26085b
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
jmp 0x7d260877
mov dword [esi + 0x20], eax
mov dword [eax + 4], 0
jmp 0x7d260877
test eax, eax
jne 0x7d260872
mov dword [esi + 0x24], ecx
mov dword [ecx], eax
jmp 0x7d260877
mov dword [ecx], eax
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x2c]
inc dword [esi + 0x34]
mov dword [esi + 0x2c], edx
mov dword [edx + 4], 0
mov dword [edx], eax
test eax, eax
jne 0x7d260892
mov dword [esi + 0x30], edx
jmp 0x7d260895
mov dword [eax + 4], edx
mov eax, dword [esp + 0x2c]
mov ebx, eax
mov dword [esp + 0x14], eax
test eax, eax
jne 0x7d260730
push dword [esi]
push esi
call fcn.7d25fea0
mov edi, eax
test edi, edi
jne 0x7d2608df
cmp byte [esp + 0x13], al
je 0x7d2608d3
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x20]
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
xchg dword [esi], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 8
xor ebx, ebx
jmp 0x7d2608eb
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
sub word [edi + 0x14], bp
cmp word [edi + 0x14], 4
jae 0x7d260948
mov ecx, dword [edi + 4]
mov eax, dword [edi]
dec dword [esi + 0x28]
test ecx, ecx
jne 0x7d26091a
test eax, eax
jne 0x7d26090e
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
jmp 0x7d26092a
mov dword [esi + 0x20], eax
mov dword [eax + 4], 0
jmp 0x7d26092a
test eax, eax
jne 0x7d260925
mov dword [esi + 0x24], ecx
mov dword [ecx], eax
jmp 0x7d26092a
mov dword [ecx], eax
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x2c]
inc dword [esi + 0x34]
mov dword [esi + 0x2c], edi
mov dword [edi + 4], 0
mov dword [edi], eax
test eax, eax
jne 0x7d260945
mov dword [esi + 0x30], edi
jmp 0x7d260948
mov dword [eax + 4], edi
mov eax, ebx
lea esi, [edi + 0x80]
mov ecx, ebx
shr eax, 3
and ecx, 7
mov edx, 1
add esi, eax
shl edx, cl
test ebp, ebp
je 0x7d260991
cmp edx, 1
jne 0x7d260979
cmp ebp, 8
jbe 0x7d260979
mov byte [esi], 0xff
sub ebp, 8
mov eax, edx
jmp 0x7d26098b
or byte [esi], dl
dec ebp
add edx, edx
movzx eax, dl
shr edx, 8
or edx, eax
mov eax, edx
and eax, 1
add esi, eax
test ebp, ebp
jne 0x7d260965
add ebx, 2
shl ebx, 7
add ebx, edi
cmp byte [esp + 0x13], 0
je 0x7d2609b8
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x20]
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ecx, ecx
xchg dword [esi], ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x14
ret 8