Function at 0x477640
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5064ce
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xf0
mov eax, dword [0x5732cc]
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 dword [ebp - 0xf8], ecx
mov dword [ebp - 4], 0
push 0x468ad0
call fcn.004dbbc8
add esp, 4
mov ecx, dword [ebp - 0xf8]
call fcn.00477eb0
movzx eax, al
test eax, eax
je 0x4778e0
mov ecx, dword [ebp - 0xf8]
call fcn.00478120
movzx ecx, al
test ecx, ecx
jne 0x4778e0
mov edx, dword [0x577370]
add edx, 1
mov dword [0x577370], edx
cmp dword [0x577370], 0x14
jl 0x4776e5
mov dword [0x577370], 0
mov ecx, dword [ebp - 0xf8]
call fcn.00477b90
cmp dword [ebp + 8], 0
je 0x4778e0
cmp dword [ebp + 0xc], 0
jle 0x4778e0
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0xffffffff
jne 0x477710
mov ecx, dword [ebp - 0xf8]
call fcn.004779f0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x30]
call fcn.00478850
mov byte [ebp - 4], 1
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], 0xffffffff
mov dword [ebp - 0xdc], 0xffffffff
push 1
lea ecx, [ebp - 0xd0]
call fcn.0041f520
mov byte [ebp - 4], 2
push 0x51e9c0
lea ecx, [ebp - 0x30]
push ecx
push 0x51e9c4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__thread_id:
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push str.process_id:
push 0x51e9e8
mov edx, dword [ebp - 0xf8]
add edx, 0x10
push edx
push 0x51e9ec
push 0x577390
push 0x51e9f0
lea eax, [ebp - 0xf4]
push eax
call fcn.0046ac10
add esp, 4
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x100]
call fcn.00415d40
push eax
lea edx, [ebp - 0xd0]
push edx
call fcn.0041e560
add esp, 8
push eax
call fcn.0041e560
add esp, 8
push eax
call fcn.00479360
add esp, 8
push eax
call fcn.0041e560
add esp, 8
push eax
call fcn.00479360
add esp, 8
push eax
call fcn.0041e560
add esp, 8
push eax
call fcn.0041e560
add esp, 8
mov ecx, eax
call fcn.004365a0
push eax
call fcn.0041e560
add esp, 8
mov ecx, eax
call fcn.004365a0
push eax
call fcn.0041e560
add esp, 8
push eax
call fcn.00479360
add esp, 8
push eax
call fcn.0041e560
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf4]
call fcn.00416630
mov dword [ebp - 0xd4], 0
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0xd0]
call fcn.0041cf90
push eax
lea ecx, [ebp - 0xd0]
call fcn.0041cf50
push eax
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4778c5
push 0
lea ecx, [ebp - 0xd0]
call fcn.0041cef0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd0]
call fcn.0041dc00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004018f0
jmp 0x4779c6
mov dword [ebp - 4], 0xffffffff
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.004db901
mov esp, ebp
pop ebp
ret 8