Function at 0x457250
Capabilities:
Accept command line arguments
Allocate thread local storage
Check mutex and terminate process on windows
Check mutex on windows
Clear file content
Create pipe
Create process on windows
Delete file
Enumerate files on windows
Get file attributes
Get thread local storage value
Query environment variable
Read file on windows
Set environment variable
Terminate process
Write and execute a file
Write file on windows
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov dword [ebp - 0x18], 0x12e
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x54], 0x28e
mov dword [ebp - 0x4c], 0x149
mov dword [ebp - 0x58], 0x11f
mov dword [ebp - 0x34], 0x38f
mov dword [ebp - 0x5c], 0x1c8
mov dword [ebp - 8], 0x387
mov dword [ebp - 0x64], 0xdb
mov dword [ebp - 4], 0x155
mov dword [ebp - 0x60], 0xc4
mov dword [ebp - 0x50], 0x11
mov dword [ebp - 0x30], 0x2e2
mov dword [ebp - 0x68], 0x174
mov dword [ebp - 0x1c], 0x371
mov dword [ebp - 0x10], 0xe7
mov dword [ebp - 0x14], 0xac
mov dword [ebp - 0x20], 0xac
mov dword [ebp - 0xc], 0x3aa
mov dword [ebp - 0x6c], 0x16
mov dword [ebp - 0x70], 0x3c4
mov dword [ebp - 0x74], 0x3c8
mov dword [ebp - 0x40], 0x2b3
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x30]
jge 0x457311
mov dword [ebp - 0x28], 1
jmp 0x457318
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x54]
jge 0x457332
mov dword [ebp - 0x2c], 1
jmp 0x457339
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x2c]
je 0x45734a
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
push 0x41ed
push 0x1367
push 0x1fe1
push 0x32ed
push 0xb0b5
push 0x6b6c
push 0xd590
push 0xf849
push 0xc3d
push 0x1124
call fcn.004154b0
add esp, 0x28
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x494100], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x58]
jge 0x4573a1
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 4]
add edx, 0x170
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x87
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x281
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00407fe0
add esp, 0xc
mov edx, dword [0x494114]
push edx
mov eax, dword [0x494104]
push eax
mov ecx, dword [0x494110]
push ecx
mov edx, dword [0x4940fc]
push edx
mov eax, dword [0x494100]
push eax
push 0x492644
mov ecx, dword [0x494100]
push ecx
call fcn.00458200
add esp, 8
call eax
test eax, eax
je 0x4581df
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x14]
jge 0x457428
mov dword [ebp - 0x38], 1
jmp 0x45742f
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x1c]
je 0x457478
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x5c]
jge 0x45745d
mov dword [ebp - 0x3c], 1
jmp 0x457464
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x3c]
je 0x457478
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x14]
je 0x4581f0
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
mov esp, ebp
pop ebp
ret