Function at 0x41ff40
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47b224
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1f508
call fcn.00444f60
mov eax, dword [0x496684]
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 dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1f460], ebx
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x1f468], esi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1f45c], eax
mov dword [ebp - 0x1f454], ecx
mov dword [ebp - 0x1f458], edx
mov byte [ebp - 0x1f418], 0
push 0x1f3ff
push 0
lea eax, [ebp - 0x1f417]
push eax
call fcn.004316d0
add esp, 0xc
lea ecx, [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x1f418]
call fcn.0041cbb0
add esp, 4
cmp byte [0x499ec0], 0
jne 0x42000c
mov edi, 7
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f46c], esp
push 0x4886f6
call fcn.004055e0
mov dword [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.0041ce20
add esp, 0x20
cmp dword [0x498508], ebx
jg 0x420661
test byte [0x49850c], 2
je 0x4201c6
push 0xffffffffffffffff
mov edx, dword [0x498574]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x1f434]
push eax
call fcn.0041fa60
add esp, 4
mov ebx, eax
mov dword [ebp - 4], 1
lea edi, [ebp - 0x1f450]
call fcn.0041fb10
mov byte [ebp - 4], 2
mov ecx, 0x10
cmp dword [ebx + 0x14], ecx
jb 0x420067
mov ebx, dword [ebx]
cmp dword [eax + 0x14], ecx
jb 0x42006e
mov eax, dword [eax]
lea ecx, [ebp - 0x1f418]
push ecx
push ecx
push str.__:_n
push ecx
mov edx, dword [ebp - 0x1f458]
push edx
push ecx
push str._line
push ecx
mov ecx, dword [ebp - 0x1f45c]
push ecx
push ecx
push 0x48d134
push ecx
mov edx, dword [ebp - 0x1f454]
push edx
push ecx
push 0x48d138
push ecx
push esi
push ecx
push 0x48d138
push ecx
push ebx
push ecx
push 0x48d138
push ecx
push eax
push ecx
push 0x48c498
push 0x4986c8
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041f910
add esp, 4
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.0041fdf0
xor ebx, ebx
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + edi + 0xc]
test cl, 6
jne 0x420171
mov eax, dword [eax + edi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x420171
mov ebx, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test ebx, ebx
je 0x420192
mov eax, dword [ecx + 0xc]
or eax, ebx
cmp dword [ecx + 0x38], 0
jne 0x42018a
or eax, 4
push 0
push eax
call fcn.00404dd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1f450]
call fcn.00405780
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f434]
call fcn.00405780
mov edx, dword [0x498574]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ebx, dword [ebp - 0x1f460]
test byte [0x49850c], 4
je 0x4203c3
lea eax, [ebp - 0x1f518]
push eax
call fcn.0041d130
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1f450]
push ecx
call fcn.0041fa60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 4
lea edi, [ebp - 0x1f434]
call fcn.0041fb10
mov byte [ebp - 4], 5
mov edx, 0x10
cmp dword [ebx + 0x14], edx
jb 0x420218
mov ecx, dword [ebx]
jmp 0x42021a
mov ecx, ebx
cmp dword [eax + 0x14], edx
jb 0x420221
mov eax, dword [eax]
lea edx, [ebp - 0x1f418]
push edx
push ecx
push str.__:_n
push ecx
mov edx, dword [ebp - 0x1f458]
push edx
push ecx
push str._line
push ecx
mov edx, dword [ebp - 0x1f45c]
push edx
push ecx
push 0x48d134
push ecx
mov edx, dword [ebp - 0x1f454]
push edx
push ecx
push 0x48d138
push ecx
push esi
push ecx
push 0x48d138
push ecx
push ecx
push ecx
push 0x48d138
push ecx
push eax
push ecx
push 0x48c498
lea eax, [ebp - 0x1f508]
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041f910
add esp, 4
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.0041fdf0
xor esi, esi
mov ecx, dword [edi]
mov eax, dword [ecx + 4]
test byte [eax + edi + 0xc], 6
jne 0x420324
mov eax, dword [eax + edi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x420324
mov esi, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test esi, esi
je 0x420345
mov eax, dword [ecx + 0xc]
or eax, esi
cmp dword [ecx + 0x38], 0
jne 0x42033d
or eax, 4
push 0
push eax
call fcn.00404dd0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1f434]
call fcn.00405780
mov bl, 3
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1f450]
call fcn.00405780
push 0xffffffffffffffff
mov edx, dword [0x49857c]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x1f434]
lea ecx, [ebp - 0x1f518]
call fcn.0041daa0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x420390
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1f434]
call fcn.00405780
mov eax, dword [0x49857c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f518]
call fcn.0041d920
test byte [0x49850c], 1
je 0x420661
push 0xffffffffffffffff
mov ecx, dword [0x49856c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 4], 7
lea edx, [ebp - 0x1f518]
push edx
call fcn.0041dac0
mov bl, 8
mov byte [ebp - 4], bl
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f46c], esp
push 0x499f00
call fcn.004015f0
mov byte [ebp - 4], 9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1f434]
call fcn.0041dc00
add esp, 0x1c
mov byte [ebp - 4], 0xa
mov edi, eax
mov esi, 0x499f00
call fcn.004050d0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1f434]
call fcn.00405780
mov esi, 0x10
cmp dword [0x499f14], esi
mov eax, dword [0x499f00]
jae 0x420456
mov eax, 0x499f00
lea edi, [ebp - 0x1f518]
call fcn.0041df60
cmp dword [ebp - 0x1f4c0], 0
je 0x420634
lea eax, [ebp - 0x1f450]
push eax
mov ebx, dword [ebp - 0x1f460]
call fcn.0041fa60
add esp, 4
mov ebx, eax
mov byte [ebp - 4], 0xb
lea edi, [ebp - 0x1f434]
call fcn.0041fb10
mov byte [ebp - 4], 0xc
cmp dword [ebx + 0x14], esi
jb 0x4204a1
mov ecx, dword [ebx]
jmp 0x4204a3
mov ecx, ebx
cmp dword [eax + 0x14], esi
jb 0x4204aa
mov eax, dword [eax]
lea edx, [ebp - 0x1f418]
push edx
push ecx
push str.__:_n
push ecx
mov edx, dword [ebp - 0x1f458]
push edx
push ecx
push str._line
push ecx
mov edx, dword [ebp - 0x1f45c]
push edx
push ecx
push 0x48d134
push ecx
mov edx, dword [ebp - 0x1f454]
push edx
push ecx
push 0x48d138
push ecx
mov edx, dword [ebp - 0x1f468]
push edx
push ecx
push 0x48d138
push ecx
push ecx
push ecx
push 0x48d138
push ecx
push eax
push ecx
push 0x48c498
lea eax, [ebp - 0x1f518]
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041f910
add esp, 4
push eax
call fcn.0041fbc0
add esp, 0xc
push eax
call fcn.0041fbc0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0041fdf0
xor edi, edi
mov dword [ebp - 0x1f464], edi
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
test byte [eax + esi + 0xc], 6
jne 0x4205bf
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4205bf
mov edi, 4
mov dword [ebp - 0x1f464], edi
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4205e0
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4205d8
or eax, 4
push 0
push eax
call fcn.00404dd0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1f434]
call fcn.00405780
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1f450]
call fcn.00405780
lea ecx, [ebp - 0x1f514]
call fcn.00402910
test eax, eax
jne 0x420634
mov edx, dword [ebp - 0x1f518]
mov ecx, dword [edx + 4]
lea ecx, [ebp + ecx - 0x1f518]
mov eax, dword [ecx + 0xc]
or eax, 2
cmp dword [ecx + 0x38], 0
jne 0x42062c
or eax, 4
push 0
push eax
call fcn.00404dd0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1f4b8]
call fcn.00401770
lea ecx, [ebp - 0x1f4b8]
call fcn.00405050
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x49856c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
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.0042ca72
mov esp, ebp
pop ebp
ret