Function at 0x405500
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x41380b
push eax
mov eax, 0x4e38
mov dword fs:[0], esp
call fcn.00408590
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x4e54], ebp
call fcn.004053f0
mov ebx, dword [esp + 0x4e5c]
lea ecx, [esp + 0x1c]
push ebx
push ecx
call fcn.004020d0
add esp, 0xc
test bl, bl
mov dword [esp + 0x10], eax
jne 0x4055ac
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
cmp ebp, edi
mov esi, ebp
je 0x40559e
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esi + 0x100]
push edx
push esi
lea eax, [esp + 0x30]
push str.service__s_tag__d_n
push eax
call fcn.00407ccd
add esp, 0x10
lea ecx, [esp + 0x28]
push ecx
call ebx
add esi, 0x104
cmp esi, edi
jne 0x405573
test ebp, ebp
je 0x405758
push ebp
jmp 0x405750
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
cmp ebx, esi
mov edi, ebx
je 0x4055f4
mov ebp, dword [esp + 0x14]
mov edi, edi
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x100]
cmp ecx, edx
lea eax, [edi + 0x104]
ja 0x4055e8
push ebp
push edi
push esi
push eax
call fcn.00401560
add esp, 0x10
sub esi, 0x104
jmp 0x4055ea
mov edi, eax
cmp edi, esi
jne 0x4055c0
mov dword [esp + 0x20], esi
xor ebp, ebp
cmp ebx, esi
mov edi, ebx
je 0x40562f
lea ebx, [ebx]
mov eax, dword [edi + 0x100]
push eax
push edi
lea ecx, [esp + 0x30]
push str.service__s_tag__d_n
push ecx
call fcn.00407ccd
add esp, 0x10
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add edi, 0x104
cmp edi, esi
jne 0x405600
mov byte [esp + 0x14], 0
mov eax, dword [esp + 0x14]
push eax
mov ecx, esi
sub ecx, ebx
mov eax, 0x7e07e07f
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push esi
push ebx
call fcn.00404c50
add esp, 0x10
cmp ebx, esi
mov edi, ebx
je 0x40568b
nop
push str.IpFilter
push edi
call fcn.00401000
add esp, 8
test eax, eax
jne 0x405683
add edi, 0x104
cmp edi, esi
jne 0x405660
cmp ebx, ebp
jmp 0x40574d
cmp dword [edi + 0x100], ebp
jne 0x405692
cmp ebx, ebp
jmp 0x40574d
mov ebp, dword [esp + 0x10]
add ebp, 2
mov edi, ebx
lea ebx, [ebp - 1]
mov edi, edi
push str.IpFilter
push edi
call fcn.00401000
add esp, 8
test eax, eax
jne 0x4056c2
cmp dword [edi + 0x100], ebx
jne 0x4056cc
mov dword [edi + 0x100], ebp
inc ebp
inc ebx
add edi, 0x104
cmp edi, esi
jne 0x4056a0
mov ebx, dword [esp + 0x1c]
mov edi, ebx
push str.IpFilter
push edi
call fcn.00401000
add esp, 8
test eax, eax
je 0x4056ef
mov edx, dword [esp + 0x10]
inc edx
mov dword [edi + 0x100], edx
add edi, 0x104
cmp edi, esi
jne 0x4056d2
mov edi, ebx
jmp 0x405700
mov eax, dword [edi + 0x100]
push eax
push edi
lea ecx, [esp + 0x30]
push str.service__s_tag__d_n
push ecx
call fcn.00407ccd
add esp, 0x10
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add edi, 0x104
cmp edi, esi
jne 0x405700
mov edi, ebx
mov eax, dword [edi + 0x100]
push eax
push edi
call fcn.004050a0
add edi, 0x104
add esp, 8
cmp edi, esi
jne 0x405731
test ebx, ebx
je 0x405758
push ebx
call fcn.00407d8b
add esp, 4
mov ecx, dword [esp + 0x4e48]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4e44
ret