Function at 0x47c580
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc34
mov eax, dword [0x5c3040]
xor eax, esp
mov dword [esp + 0xc30], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [esp + 0x18], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
push 0
mov dword [esp + 0x18], eax
call fcn.0052c293
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [esi + 0x320]
add esp, 4
cmp eax, dword [ecx]
jne 0x47c5d0
cmp edx, dword [ecx + 4]
je 0x47c66d
push ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.0053be07
add esp, 4
push eax
push str._Y__m__d__H:_M:_S
lea eax, [esp + 0x24]
push 0x14
push eax
call fcn.0053bb08
add esp, 0x10
cmp byte [esi + 9], 0
je 0x47c600
lea eax, [esp + 0x1c]
push eax
call ebx
cmp byte [esi + 0xa], 0
je 0x47c635
lea ecx, [esp + 0x1c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c610
push 0
lea eax, [esp + 0x14]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x28]
push eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
cmp byte [esi + 8], 0
je 0x47c66d
mov edx, dword [esi + 0x14]
test edx, edx
je 0x47c66d
lea ecx, [esp + 0x1c]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c650
push 0
lea eax, [esp + 0x14]
sub ecx, edi
push eax
push ecx
lea eax, [esp + 0x28]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esp + 0x14]
mov edi, eax
lea eax, [esp + 0x34]
push 0
push dword [esp + 0x20]
push 0x400
push eax
call fcn.0041ef40
mov ecx, dword [eax]
push dword [eax + 4]
or ecx, 1
push ecx
call fcn.005341f9
add esp, 0x1c
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
je 0x47c718
push 0
push 0x400
lea eax, [esp + 0x840]
push eax
push 0x400
push edi
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x47c6e7
push edi
lea eax, [esp + 0x83c]
push str.error_code_0x_08X
push eax
call fcn.00435a10
add esp, 0xc
push 0x5b2c34
lea eax, [esp + 0x34]
push 0x801
push eax
call fcn.0052c1fd
add esp, 0xc
lea eax, [esp + 0x838]
push eax
lea eax, [esp + 0x34]
push 0x801
push eax
call fcn.0052c1fd
add esp, 0xc
cmp byte [esi + 9], 0
je 0x47c725
lea eax, [esp + 0x30]
push eax
call ebx
cmp byte [esi + 0xa], 0
je 0x47c757
lea ecx, [esp + 0x30]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c732
push 0
lea eax, [esp + 0x14]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x3c]
push eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
cmp byte [esi + 8], 0
je 0x47c78d
mov edx, dword [esi + 0x14]
test edx, edx
je 0x47c78d
lea ecx, [esp + 0x30]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47c770
push 0
lea eax, [esp + 0x14]
sub ecx, esi
push eax
push ecx
lea eax, [esp + 0x3c]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [esp + 0xc3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00524763
mov esp, ebp
pop ebp
ret 8