Function at 0x40276c
Capabilities:
Print debug messages

Disassembly:
sub esp, 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp]
call fcn.00403cfe
push 0
push 4
mov eax, ebp
add eax, 8
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 4
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
call fcn.00404298
push eax
push ebp
call fcn.00405cb4
mov eax, 0x40d018
push eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push 0
pop eax
mov dword [ebp + 8], eax
jmp 0x4027e9
push dword [ebp + 8]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 8], eax
push 0xffffffffffffffff
pop eax
cmp eax, 0
je 0x402831
push dword [ebp + 8]
xor ecx, ecx
add ecx, 4
push dword [ecx + 0x40d010]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jle 0x402828
mov ecx, 0
mov dword [esp], ecx
pop eax
jmp 0x402868
push dword [ebp + 8]
xor ecx, ecx
add ecx, 4
push dword [ecx + 0x40d010]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jge 0x402864
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x402a5f
xor ecx, ecx
push dword [ecx + 0x40d010]
push dword [ebp + 8]
push 4
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov eax, dword [eax]
push eax
pop eax
mov dword [ebp + 4], eax
push dword [ebp + 4]
push dword [ebp + 0x10]
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x4028bb
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x402a5a
call fcn.00404298
push eax
push ebp
call fcn.00405cb4
push dword [ebp + 0x10]
push 4
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
push 0
push dword [0x40d030]
call dword [sym.imp.KERNEL32.DLL_HeapFree]
xor ecx, ecx
add ecx, 4
push dword [ecx + 0x40d010]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
xor ecx, ecx
add ecx, 4
pop eax
mov dword [ecx + 0x40d010], eax
push dword [ebp + 8]
pop eax
mov dword [ebp + 8], eax
jmp 0x40294a
push dword [ebp + 8]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 8], eax
push 0xffffffffffffffff
pop eax
cmp eax, 0
je 0x402992
push dword [ebp + 8]
xor ecx, ecx
add ecx, 4
push dword [ecx + 0x40d010]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jle 0x402989
mov ecx, 0
mov dword [esp], ecx
pop eax
jmp 0x4029c9
push dword [ebp + 8]
xor ecx, ecx
add ecx, 4
push dword [ecx + 0x40d010]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jge 0x4029c5
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x402a3d
xor ecx, ecx
push dword [ecx + 0x40d010]
push dword [ebp + 8]
mov eax, 4
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
xor ecx, ecx
push dword [ecx + 0x40d010]
push dword [ebp + 8]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
mov eax, 4
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov eax, dword [eax]
push eax
pop ebx
pop eax
mov dword [eax], ebx
jmp 0x402931
call fcn.00404298
push eax
push ebp
call fcn.00405cb4
mov eax, 0x40d018
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x402a9e
jmp 0x4027d0
call fcn.00404298
push eax
push ebp
call fcn.00405cb4
mov eax, 0x40d018
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push dword [ebp + 0x10]
pop eax
cmp eax, 0
je 0x402a9e
call fcn.00404298
push eax
push ebp
call fcn.00405cb4
push 0x40b02e
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
call fcn.00402c9a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
add esp, 8
ret 4