Function at 0x40f270
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x470a38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1274
call fcn.00439ca0
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x18]
call fcn.0040fa20
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
jne 0x40f2ea
mov ecx, dword [ebp + 8]
add ecx, 0x14
call fcn.004047a0
push eax
mov ecx, dword [ebp + 8]
call fcn.0040eca0
movzx edx, al
test edx, edx
jne 0x40f2ea
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x40f2ea
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.00453db5
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 0xc]
jge 0x40f310
mov byte [ebp - 0xd], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0xd]
jmp 0x40f610
cmp dword [ebp + 0x10], 0
jne 0x40f350
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x40f335
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.00453db5
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov byte [ebp - 0xe], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0xe]
jmp 0x40f610
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
test edx, edx
jne 0x40f395
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x40f37a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.00453db5
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov byte [ebp - 0xf], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0xf]
jmp 0x40f610
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
jne 0x40f3b8
mov byte [ebp - 0x10], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0x10]
jmp 0x40f610
lea ecx, [ebp - 0x80]
call fcn.004046a0
mov byte [ebp - 4], 1
push 0
call fcn.0040ea80
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
xor edx, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.0040eaa0
add esp, 8
push 0x200
push 0
lea edx, [ebp - 0x280]
push edx
call fcn.00450820
add esp, 0xc
lea ecx, [ebp - 0x60]
call fcn.004046a0
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 6
ja case.default.0x40f432
mov ecx, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x40f620]
push 0x483324
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
push str.debug
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
jmp case.default.0x40f432
push str.info
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
jmp case.default.0x40f432
push str.warn
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
jmp case.default.0x40f432
push str.error
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
jmp case.default.0x40f432
push str.fatal
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
jmp case.default.0x40f432
push str.filter
lea ecx, [ebp - 0x60]
call fcn.0040e8f0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call sub.KERNEL32.dll_GetCurrentProcessId
push eax
lea ecx, [ebp - 0x60]
call fcn.00404370
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x38]
add eax, 1
push eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x76c
push ecx
push 0x483380
push 0xff
lea edx, [ebp - 0x280]
push edx
call fcn.0040e980
add esp, 0x30
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x80]
call fcn.0040e8f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x60]
call fcn.00404510
lea ecx, [ebp + 0x14]
mov dword [ebp - 0x24], ecx
push 0x1000
push 0
lea edx, [ebp - 0x1280]
push edx
call fcn.00450820
add esp, 0xc
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x7ff
lea edx, [ebp - 0x1280]
push edx
call fcn.0040e960
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40f578
mov byte [ebp - 0x11], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.00404510
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0x11]
jmp 0x40f610
lea eax, [ebp - 0x1280]
push eax
lea ecx, [ebp - 0x80]
call fcn.0040cf70
mov dword [ebp - 0x24], 0
push 0x48337c
lea ecx, [ebp - 0x80]
call fcn.0040cf70
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
lea ecx, [ebp - 0x80]
call fcn.00404370
push eax
call fcn.004583ea
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.00453cbe
add esp, 4
lea ecx, [ebp - 0x80]
call fcn.00404370
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp + 8]
cmp dword [edx], 0
je 0x40f5ee
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.00453db5
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx], 0
mov byte [ebp - 0x12], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80]
call fcn.00404510
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040f9e0
mov al, byte [ebp - 0x12]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret