Function at 0x45e630
Capabilities:
Accept command line arguments
Check mutex and terminate process on windows
Check mutex on windows
Create pipe
Create process on windows
Create thread
Get file attributes
Get thread local storage value
Query environment variable
Read file on windows
Set environment variable
Set thread local storage value
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov dword [ebp - 0x48], 0x2e2
mov dword [ebp - 0x20], 0x3d0
mov dword [ebp - 0x28], 0x133
mov dword [ebp - 0x24], 0x303
mov dword [ebp - 0x50], 0x2a1
mov dword [ebp - 0x30], 0x173
mov dword [ebp - 0x3c], 0x134
mov dword [ebp - 0x4c], 0x33a
mov dword [ebp - 0x14], 0x33e
mov dword [ebp - 0x80], 0x286
mov dword [ebp - 0x10], 0x5d
mov dword [ebp - 0x18], 0x1a7
mov dword [ebp - 8], 0x346
mov dword [ebp - 0x44], 0x295
mov dword [ebp - 0x70], 0x15f
mov dword [ebp - 0x40], 0x28c
mov dword [ebp - 4], 0x39e
mov dword [ebp - 0x34], 0xbf
mov dword [ebp - 0xc], 0x3aa
mov dword [ebp - 0x1c], 0x311
mov dword [ebp - 0x38], 0x3c
mov dword [ebp - 0x2c], 0x7c
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x7c]
jge 0x45e713
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x20]
je 0x45e713
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x34]
sub edx, 1
mov dword [ebp - 0x34], edx
push 0x6cc1
push 0xe9e7
push 0x3e57
push 0x48bf
push 0x3d58
push 0x3d04
call fcn.0045afc0
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x4a2104], eax
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4a2118]
push ecx
mov edx, dword [0x4a2108]
push edx
mov eax, dword [0x4a2114]
push eax
mov ecx, dword [0x4a2100]
push ecx
mov edx, dword [0x4a2104]
push edx
push 0x4a0920
mov eax, dword [0x4a2104]
push eax
call fcn.0045f800
add esp, 8
call eax
test eax, eax
je 0x45f7f0
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0xc]
jge 0x45e7a7
mov dword [ebp - 0x54], 1
jmp 0x45e7ae
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x3c]
jge 0x45e7bf
mov dword [ebp - 0x58], 1
jmp 0x45e7c6
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x4c]
or eax, ecx
je 0x45e8a0
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x40]
jge 0x45e7ec
mov dword [ebp - 0x5c], 1
jmp 0x45e7f3
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x38]
xor eax, dword [ebp - 0x10]
je 0x45e8a0
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0xc]
jge 0x45e81c
mov dword [ebp - 0x60], 1
jmp 0x45e823
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x50]
jge 0x45e838
mov dword [ebp - 0x64], 1
jmp 0x45e83f
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x70]
jge 0x45e853
mov dword [ebp - 0x68], 1
jmp 0x45e85a
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x64]
or edx, dword [ebp - 0x68]
je 0x45e8a0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 8]
jge 0x45e876
mov dword [ebp - 0x6c], 1
jmp 0x45e87d
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x6c]
je 0x45e8a0
mov edx, dword [ebp - 0x10]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x44]
and edx, eax
je 0x45e8a0
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 4]
sub edx, 0x319
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x17
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0xc9
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x2f
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x2ea
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x7e
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
sub edx, 0x290
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x1ff
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00409530
add esp, 0x20
mov eax, dword [ebp - 0xc]
sub eax, 0xc0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00414660
add esp, 4
mov edx, dword [ebp - 0x24]
sub edx, 0x2a9
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 8]
sub eax, 0x86
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x1f9
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x190
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x102
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x48]
add ecx, 0xb1
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x34]
add edx, 0xeb
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
add eax, 0x6d
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0xcb
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x24]
add edx, 0x13
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x24]
push eax
call fcn.0040ede0
add esp, 0x28
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x18]
je 0x45e9e5
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x31b
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x1f3
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x44]
add edx, 0x31
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x2ed
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x17b
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x2ee
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x38]
add eax, 0x2f8
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xf1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040fa20
add esp, 0x20
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
mov esp, ebp
pop ebp
ret