Function at 0x61c9d0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x61cd65
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [edi + 8]
mov edx, ebx
call fcn.0040a370
mov byte [edi + 0xc], 0
mov eax, dword [edi + 0x10]
call fcn.004b1644
xor edx, edx
push ebp
push 0x61cd2e
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x60]
xor ecx, ecx
mov edx, 0x10
call fcn.00407764
lea eax, [ebp - 0x50]
xor ecx, ecx
mov edx, 0x30
call fcn.00407764
mov dword [ebp - 0x60], 0x10
mov eax, dword [edi + 8]
call fcn.0040aec8
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x50], 0x30
lea eax, [ebp - 0x60]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x44], 2
xor eax, eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], 1
cmp byte [edi + 0x14], 0
je 0x61caa2
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x28], 0x140
jmp 0x61caae
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x110
lea eax, [ebp - 4]
mov edx, 0x61cd80
call fcn.0040a3b8
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x5c]
call fcn.0040af30
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 0x11
mov eax, dword [ebp - 8]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0x11
lea edx, [ebp - 0x74]
mov ecx, 1
mov eax, 0x61cdcc
call fcn.004286c4
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x78]
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
lea eax, [ebp - 0x50]
push eax
mov eax, dword [0x79bef4]
push eax
push 0xffffffffffffffff
mov eax, dword [0x79c060]
mov eax, dword [eax]
call eax
mov ebx, eax
mov dword [edi + 4], ebx
mov eax, ebx
cmp eax, 0x800b0100
jg 0x61cb44
je 0x61cb73
sub eax, 0x80092026
je 0x61cc3a
sub eax, 0x1dfde
je 0x61cc24
jmp 0x61cc50
sub eax, 0x800b0111
je 0x61cc0e
sub eax, 0x7ff4feef
jne 0x61cc50
mov byte [edi + 0xc], 1
mov eax, 0x61cde4
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
jmp 0x61cc8b
call sub.kernel32.dll_GetLastError_2
mov ebx, eax
mov eax, ebx
xor edx, edx
cmp edx, 0xffffffff
jne 0x61cb88
cmp eax, 0x800b0003
je 0x61cbaa
mov eax, ebx
xor edx, edx
cmp edx, 0xffffffff
jne 0x61cb98
cmp eax, 0x800b0001
je 0x61cbaa
mov eax, ebx
xor edx, edx
cmp edx, 0xffffffff
jne 0x61cbb0
cmp eax, 0x800b0002
jne 0x61cbb0
mov byte [edi + 0xc], 1
jmp 0x61cbb4
mov byte [edi + 0xc], 0
mov dword [edi + 4], ebx
lea eax, [ebp - 0xc]
mov edx, 0x61ce14
call fcn.0040a3b8
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.0042be2c
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x70], 0x11
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0x11
lea edx, [ebp - 0x74]
mov ecx, 1
mov eax, 0x61cdcc
call fcn.004286c4
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x78]
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
jmp 0x61cc8b
mov eax, 0x61ce40
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
mov byte [edi + 0xc], 1
jmp 0x61cc8b
mov eax, 0x61ced8
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
mov byte [edi + 0xc], 1
jmp 0x61cc8b
mov eax, 0x61cf58
call fcn.0040aec8
push eax
call sub.kernel32.dll_OutputDebugStringW
mov byte [edi + 0xc], 1
jmp 0x61cc8b
call sub.kernel32.dll_GetLastError_2
mov esi, eax
mov dword [edi + 4], esi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x70], 0
lea edx, [ebp - 0x80]
mov eax, esi
call fcn.0042be2c
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0x11
lea edx, [ebp - 0x74]
mov ecx, 1
mov eax, 0x61cfe4
call fcn.0070dbac
mov byte [edi + 0xc], 0
cmp byte [edi + 0xc], 0
je 0x61cd04
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [0x79c854]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x40]
dec eax
test eax, eax
jl 0x61cd04
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0
push 0
push 0
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [0x79b914]
mov eax, dword [eax]
call eax
mov ebx, eax
mov eax, dword [edi + 0x10]
mov edx, ebx
call fcn.0061d020
mov dword [ebp - 0x14], eax
mov esi, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
dec eax
test eax, eax
jl 0x61ccfc
inc eax
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
mov edx, esi
call fcn.0061d020
add esi, 0x2c
dec ebx
jne 0x61cce9
inc dword [ebp - 0x18]
dec dword [ebp - 0x20]
jne 0x61ccb7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x61cd35
mov dword [ebp - 0x34], 2
lea eax, [ebp - 0x50]
push eax
mov eax, dword [0x79bef4]
push eax
push 0xffffffffffffffff
mov eax, dword [0x79c060]
mov eax, dword [eax]
call eax
ret