Function at 0x52e310
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 thread
Delete file
Enumerate files on windows
Get file attributes
Get thread local storage value
Query environment variable
Read file on windows
Read pipe
Set environment variable
Terminate process
Terminate thread
Write file on windows
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov dword [ebp - 0x28], 0xc5
mov dword [ebp - 0x30], 0x1a2
mov dword [ebp - 0x58], 0xb1
mov dword [ebp - 0xc], 0x74
mov dword [ebp - 0x10], 0x3a4
mov dword [ebp - 0x38], 0x360
mov dword [ebp - 0x54], 0xec
mov dword [ebp - 8], 0xe2
mov dword [ebp - 0x20], 0x268
mov dword [ebp - 0x68], 0x59
mov dword [ebp - 0x14], 0x396
mov dword [ebp - 0x48], 0x17b
mov dword [ebp - 0x1c], 0xef
mov dword [ebp - 0x6c], 0x18e
mov dword [ebp - 0x70], 0x234
mov dword [ebp - 0x34], 0x13d
mov dword [ebp - 0x24], 0x150
mov dword [ebp - 0x74], 0x70
mov dword [ebp - 0x60], 0x14b
mov dword [ebp - 0x2c], 0x174
mov dword [ebp - 0x18], 0x387
mov dword [ebp - 4], 0x2fc
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0xc]
jge 0x52e3ce
mov dword [ebp - 0x3c], 1
jmp 0x52e3d5
mov dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x30]
jge 0x52e3e6
mov dword [ebp - 0x40], 1
jmp 0x52e3ed
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x3c]
and eax, dword [ebp - 0x40]
je 0x52e406
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x58]
je 0x52e406
mov edx, dword [ebp - 0x1c]
nop
dec edx
nop
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 4]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x5c], 0
je 0x52e427
mov edx, dword [ebp - 8]
nop
dec edx
nop
mov dword [ebp - 8], edx
push 0x8c10
push 0x75dd
push 0xf44b
push 0x48a
push 0xc689
call fcn.00425490
add esp, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x5992ec], eax
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x30]
jge 0x52e4fb
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0xc]
jge 0x52e483
mov dword [ebp - 0x44], 1
jmp 0x52e48a
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x10]
nop
nop
dec ecx
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
or edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x44]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 4]
sub eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 0x64], 0
je 0x52e4fb
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x30]
jge 0x52e4c8
mov dword [ebp - 0x4c], 1
jmp 0x52e4cf
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x24]
jge 0x52e4e3
mov dword [ebp - 0x50], 1
jmp 0x52e4ea
mov dword [ebp - 0x50], 0
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x50]
je 0x52e4fb
mov edx, dword [ebp - 0x20]
sub edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [0x599300]
push eax
mov ecx, dword [0x5992f0]
push ecx
mov edx, dword [0x5992fc]
push edx
mov eax, dword [0x5992e8]
push eax
mov ecx, dword [0x5992ec]
push ecx
push 0x10bc
push 0xc663
push 0x814f
push 0x56ea
push 0xee1
push 0x6da2
push 0xeeb2
push 0xf8b1
push 0x77f6
call fcn.00531590
add esp, 0x24
push eax
mov edx, dword [0x5992ec]
push edx
call fcn.0052f480
add esp, 8
call eax
test eax, eax
je 0x52f45a
mov eax, dword [ebp - 0x18]
nop
nop
dec eax
mov dword [ebp - 0x18], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 4]
add eax, 0xcd
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00410570
add esp, 4
mov esp, ebp
pop ebp
ret