Function at 0x4030c0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x605617
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x6ab0d4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
xor edx, edx
push eax
push dword [ebp + 0x10]
xor ecx, ecx
call fcn.00401260
add esp, 8
mov dword [ebp - 0x18], 0xf
mov esi, eax
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
push 0
lea ecx, [esi + 1]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004082c0
mov dword [ebp - 4], 0
lea eax, [ebp + 0x14]
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x2c]
push eax
push dword [ebp + 0x10]
call fcn.00401260
mov eax, dword [ebp - 0x1c]
add esp, 8
cmp esi, eax
ja 0x403168
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
cmovae eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0
jmp 0x403175
push 0
sub esi, eax
lea ecx, [ebp - 0x2c]
push esi
call fcn.0040a8e0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b2408]
cmp eax, dword [ecx + 4]
jle 0x403282
push 0x6b2408
call fcn.00569912
add esp, 4
cmp dword [0x6b2408], 0xffffffff
jne 0x403282
push 5
push str.DEBUG
mov ecx, 0x6b2410
mov dword [0x6b2424], 0xf
mov dword [0x6b2420], 0
mov byte [0x6b2410], 0
call fcn.00408390
mov byte [ebp - 4], 1
mov ecx, 0x6b2428
push 5
push 0x6901e8
mov dword [0x6b243c], 0xf
mov dword [0x6b2438], 0
mov byte [0x6b2428], 0
call fcn.00408390
mov byte [ebp - 4], 2
mov ecx, 0x6b2440
push 5
push 0x6901f0
mov dword [0x6b2454], 0xf
mov dword [0x6b2450], 0
mov byte [0x6b2440], 0
call fcn.00408390
mov byte [ebp - 4], 3
mov ecx, 0x6b2458
push 5
push 0x6901f8
mov dword [0x6b246c], 0xf
mov dword [0x6b2468], 0
mov byte [0x6b2458], 0
call fcn.00408390
push 0x60d740
mov byte [ebp - 4], 0
call fcn.00569da0
add esp, 4
push 0x6b2408
call fcn.005698d3
add esp, 4
push 0xb0
lea eax, [ebp - 0xdc]
push 0
push eax
call fcn.005d2630
add esp, 4
lea ecx, [ebp - 0xdc]
call fcn.00405900
mov dl, 0x5b
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xcc]
call fcn.0040b860
lea edx, [edi + 0x38]
mov ecx, eax
call fcn.0040bb20
mov dl, 0x28
mov ecx, eax
call fcn.0040b860
mov esi, eax
test esi, esi
jne 0x4032d1
xor ecx, ecx
jmp 0x4032d8
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
mov eax, dword [ecx + 0x14]
and eax, 0xffffff3f
or eax, 0x100
mov dword [ecx + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov byte [eax + esi + 0x40], 0x30
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push ecx
push 0
lea eax, [ebp - 0xec]
push 5
push eax
call fcn.00566a83
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0040bd90
add esp, 4
mov ecx, eax
call fcn.00405fd0
mov edx, 0x690200
mov ecx, eax
call fcn.0040b5b0
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xcc]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0xcc]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
or dword [ebp + eax - 0xb8], 8
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xffffff3f
or eax, 0x100
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x8c], 0x30
lea eax, [ebx + ebx*2]
lea esi, [eax*8 + 0x6b2410]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push ecx
push 0
lea eax, [ebp - 0xec]
push 7
push eax
call fcn.00566a83
add esp, 0xc
lea ecx, [ebp - 0xcc]
mov edx, eax
call fcn.0040bd90
add esp, 4
mov ecx, eax
call fcn.00405fd0
mov dl, 0x20
mov ecx, eax
call fcn.0040b860
mov edx, esi
mov ecx, eax
call fcn.0040bb20
mov dl, 0x20
mov ecx, eax
call fcn.0040b860
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xcc]
mov eax, dword [eax + 4]
and dword [ebp + eax - 0xb8], 0xfffffff7
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffff3ff
lea edx, [ebp - 0x2c]
or eax, 0x200
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0xcc]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffffebf
or eax, 0x80
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0xcc]
call fcn.0040bb20
push eax
call fcn.0040bdc0
add esp, 4
lea eax, [ebp - 0xf4]
lea ecx, [ebp - 0xdc]
push eax
call fcn.004057f0
cmp dword [eax + 0x14], 0x10
jb 0x40346b
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0xe0]
cmp eax, 0x10
jb 0x403490
inc eax
lea ecx, [ebp - 0xf4]
push eax
push dword [ebp - 0xf4]
call fcn.00408cd0
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0xdc]
xor edx, edx
push 0
mov eax, dword [eax + 4]
add ecx, eax
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
push eax
call fcn.004023f0
lea ecx, [ebp - 0x74]
call fcn.00405810
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 5
push eax
mov dword [ebp - 0x74], vtable.std::ios_base.0
call fcn.005669fb
mov eax, dword [ebp - 0x18]
add esp, 4
cmp eax, 0x10
jb 0x4034ea
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00408cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005697c8
mov esp, ebp
pop ebp
ret