Function at 0x55d768
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff6c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov esi, ecx
lea edi, [ebp - 0x70]
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov esi, edx
lea eax, [ebp - 0x18]
mov edx, dword [0x50add4]
call fcn.00405e14
lea eax, [ebp - 0x30]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x55dac3
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x30]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0x70]
call fcn.005170b8
mov edx, dword [ebp - 0x2c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
setge byte [ebp - 0x31]
cmp byte [ebp - 0x31], 0
jne 0x55da6f
mov edx, 0x55dae0
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jl 0x55d849
lea eax, [ebp - 0x74]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.004056a0
mov eax, dword [ebp - 0x74]
mov edx, 0x55daf0
call fcn.004055d0
jne 0x55d83f
cmp dword [ebp - 0x54], 0
jle 0x55d83f
mov byte [ebp - 0x31], 1
jmp 0x55d849
cmp dword [ebp - 0x54], 5
jle 0x55d849
mov byte [ebp - 0x31], 1
cmp byte [ebp - 0x31], 0
jne 0x55da6f
lea eax, [ebp - 4]
call fcn.004051a8
mov eax, dword [ebp - 0x2c]
mov edx, 0x55db04
call fcn.004055d0
jne 0x55d992
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x55da6f
inc eax
mov dword [ebp - 0x3c], eax
xor ebx, ebx
lea ecx, [ebp - 0x78]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x78]
mov eax, 0x55db14
call fcn.00405784
test eax, eax
jle 0x55d983
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 4]
mov eax, 0x55db24
call fcn.00405784
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x55d983
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x7c]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x38]
inc edx
mov ecx, 0x7fffffff
call fcn.004056a0
cmp dword [ebp - 0x38], 0
jle 0x55d983
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x38]
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004056a0
lea eax, [ebp - 0x80]
mov ecx, dword [ebp - 4]
mov edx, 0x55db30
call fcn.004054c0
mov eax, dword [ebp - 0x80]
call fcn.00405638
push eax
call sub.kernel32.dll_OutputDebugStringA
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0x5c]
and edx, 0xff
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00515e48
test al, al
je 0x55d983
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0xb
lea edx, [ebp - 0x88]
xor ecx, ecx
mov eax, 0x55db44
call fcn.0040b340
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00405784
test eax, eax
jle 0x55d983
mov byte [ebp - 0x31], 1
jmp 0x55da6f
inc ebx
dec dword [ebp - 0x3c]
jne 0x55d884
jmp 0x55da6f
movzx eax, byte [ebp - 0x2e]
add al, 0xfe
sub al, 4
jae 0x55da6f
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x55da6f
inc eax
mov dword [ebp - 0x3c], eax
xor ebx, ebx
lea ecx, [ebp - 0x8c]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x8c]
mov eax, 0x55db58
call fcn.00405784
test eax, eax
jle 0x55da65
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 4]
mov eax, 0x55db24
call fcn.00405784
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x55da65
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x90]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x38]
inc edx
mov ecx, 0x7fffffff
call fcn.004056a0
cmp dword [ebp - 0x38], 0
jle 0x55da65
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x38]
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004056a0
lea eax, [ebp - 0x94]
mov ecx, dword [ebp - 4]
mov edx, 0x55db64
call fcn.004054c0
mov eax, dword [ebp - 0x94]
call fcn.00405638
push eax
call sub.kernel32.dll_OutputDebugStringA
inc ebx
dec dword [ebp - 0x3c]
jne 0x55d9b6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55daca
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.004051cc
lea eax, [ebp - 0x80]
mov edx, 4
call fcn.004051cc
lea eax, [ebp - 0x30]
mov edx, dword [0x50ad94]
call fcn.00405ee4
lea eax, [ebp - 0x18]
mov edx, dword [0x50add4]
call fcn.00405ee4
lea eax, [ebp - 8]
mov edx, 2
call fcn.004051cc
ret