Function at 0x1004430
Capabilities:
Accept command line arguments
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100d1f0
push 0x10061f5
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x15ac
call fcn.010062b0
mov eax, dword [0x100f0e0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor esi, esi
lea ecx, [ebp - 0x1598]
call fcn.01007ac0
mov dword [ebp - 4], esi
push 0x100f174
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, eax
push 0x104
lea eax, [ebp - 0x120]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [ebp - 0x1d], 0
push esi
push esi
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jge 0x10044d0
mov dword [ebp - 4], 0xfffffffe
lea eax, [esi + 1]
jmp 0x1004969
push 0
push 0
push 0
push 2
push 2
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jl 0x10048f3
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x100f190], eax
test eax, eax
jne 0x1004517
mov esi, 1
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
push 0
push ebx
push section..data
mov ecx, 0x100f1a0
call fcn.01002cf0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x100f1d0], eax
push 0x1001490
push edi
call fcn.01003050
test eax, eax
jne 0x1004864
push 0x1001480
push edi
call fcn.01003050
test eax, eax
jne 0x1004864
push 0x1001474
push edi
call fcn.01003050
test eax, eax
jne 0x1004816
push 0x1001468
push edi
call fcn.01003050
test eax, eax
jne 0x1004816
push 0x100145c
push edi
call fcn.01003050
test eax, eax
jne 0x1004759
push 0x1001450
push edi
call fcn.01003050
test eax, eax
jne 0x1004759
push 0xfffffffffffffff5
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
call esi
cmp eax, 0xffffffff
je 0x10045d8
test eax, eax
je 0x10045d8
push 0
lea ecx, [ebp - 0x15a8]
push ecx
push 0
push 0x100144c
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1004726
call dword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
je 0x1004726
push 1
push 0x10030d0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x1004607
mov esi, 1
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
push 0xfffffffffffffff5
call esi
mov esi, eax
call fcn.01008140
test eax, eax
je 0x1004647
lea edx, [ebp - 0x15c4]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov eax, 0x3c
cmp word [ebp - 0x15c2], ax
jge 0x1004639
mov word [ebp - 0x15c2], ax
mov eax, dword [ebp - 0x15c4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
mov ebx, dword [sym.imp.MSVCR80.dll___iob_func]
call ebx
push eax
push 0x1001448
push 0x1001440
mov esi, dword [sym.imp.MSVCR80.dll_freopen]
call esi
add esp, 0xc
test eax, eax
je 0x1004507
call ebx
add eax, 0x20
push eax
push 0x100143c
push 0x1001434
call esi
add esp, 0xc
test eax, eax
je 0x1004507
call fcn.01005b30
mov esi, eax
mov dword [ebp - 0x159c], esi
mov eax, dword [0x100f190]
test eax, eax
je 0x10046a7
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea ecx, [ebp - 0xb5c]
call fcn.01007ac0
push 0x4e79
lea ecx, [ebp - 0xb5c]
push ecx
call fcn.01007d70
add esp, 8
push 1
lea edx, [ebp - 0xb54]
push edx
lea ecx, [ebp - 0x15a4]
call fcn.01003c30
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCR80.dll_printf]
add esp, 4
mov eax, dword [ebp - 0x15a4]
test eax, eax
je 0x10046f9
push eax
call fcn.01006242
add esp, 4
mov eax, dword [0x100f190]
test eax, eax
je 0x100470b
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call ebx
push eax
mov edi, dword [sym.imp.MSVCR80.dll_fclose]
call edi
call ebx
add eax, 0x20
push eax
call edi
add esp, 8
jmp 0x10048f3
push 1
push 0x10030d0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x1004747
mov esi, 1
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
call fcn.01005b30
mov esi, eax
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
push 0
push 0
push 1
push 0
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
call edi
mov dword [0x100f198], eax
test eax, eax
jne 0x1004782
mov esi, 1
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
push 0
push 0
push 1
push 0
call edi
mov dword [0x100f19c], eax
test eax, eax
jne 0x10047a5
mov esi, 1
mov dword [ebp - 0x159c], esi
jmp 0x10048f3
push 0
push 4
mov ecx, 0x100f1a0
call fcn.01002e30
mov eax, dword [0x100f19c]
mov dword [ebp - 0x15ac], eax
mov ecx, dword [0x100f198]
mov dword [ebp - 0x15a8], ecx
push 0x1d4c0
push 0
lea edx, [ebp - 0x15ac]
push edx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 1
jne 0x1004807
call fcn.01005b30
mov ecx, dword [0x100f18c]
test ecx, ecx
je 0x10047f9
call fcn.010057f0
push 0xffffffffffffffff
mov eax, dword [0x100f19c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, 0x100f1a0
call fcn.01002ec0
jmp 0x10048f3
push 0
push 1
push 0x64
push 0x100f1a0
call fcn.01003fd0
push 0
push 1
mov ecx, 0x100f1a0
call fcn.01003900
mov esi, eax
mov dword [ebp - 0x159c], esi
test esi, esi
jge 0x10048f3
push esi
push 0x4e89
lea ecx, [ebp - 0x1598]
push ecx
call fcn.01007d70
add esp, 0xc
push 0
lea edx, [ebp - 0x1590]
push edx
jmp 0x10048be
push 0
push ebx
push 0x100f070
mov ecx, 0x100f1a0
call fcn.01002cf0
push 0
push 0
push 0x64
push 0x100f1a0
call fcn.01003fd0
push 0
push 0
mov ecx, 0x100f1a0
call fcn.010039a0
mov esi, eax
mov dword [ebp - 0x159c], esi
test esi, esi
jge 0x10048f3
push esi
push 0x4e88
lea edx, [ebp - 0x1598]
push edx
call fcn.01007d70
add esp, 0xc
push 0
lea eax, [ebp - 0x1590]
push eax
lea ecx, [ebp - 0x15a4]
call fcn.01003c30
push 0x1030
lea ecx, [ebp - 0x120]
push ecx
mov eax, dword [eax]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x15a4]
test eax, eax
je 0x10048f3
push eax
call fcn.01006242
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x100f198]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x100490b
push eax
call edi
mov eax, dword [0x100f190]
test eax, eax
je 0x1004917
push eax
call edi
mov eax, dword [0x100f19c]
test eax, eax
je 0x1004923
push eax
call edi
push 0x100f174
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, 0x100f1a0
call fcn.01002d80
jmp 0x1004960
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0100624d
mov esp, ebp
pop ebp
ret