Function at 0x4075c1
Capabilities:
Create process on windows
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
and dword [ebp - 0x5c], 0
and dword [ebp - 0x54], 0
and dword [ebp - 0xc], 0
and dword [ebp - 0x58], 0
and dword [ebp - 0x50], 0
and dword [ebp - 4], 0
and dword [ebp - 0x10], 0
push 0x3c
push 0
lea eax, [ebp - 0x4c]
push eax
call fcn.0042cd80
add esp, 0xc
lea eax, [ebp - 0x58]
push eax
call fcn.0040ee59
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x40761e
push 0x404400
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [0x452000]
call fcn.0040ef8a
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x40764b
push 0x404420
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.0040f733
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x407678
push 0x404440
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [0x452000]
push 0x404468
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x4076d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x4076ae
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x136
push 0x404250
call fcn.0040e33f
push 0x40448c
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [ebp - 0xc]
push 0x4044ac
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x407737
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x40770c
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x13b
push 0x404250
call fcn.0040e33f
push 0x4044d8
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [0x452004]
push 0x4044fc
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x407798
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x40776d
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x140
push 0x404250
call fcn.0040e33f
push 0x40452c
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [ebp - 0x58]
push 0x404558
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x4077f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x4077cb
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x145
push 0x404250
call fcn.0040e33f
push 0x404598
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
cmp dword [ebp + 0xc], 1
jne 0x40785c
push 0x4047f8
push 0x4045c8
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x40785c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x407831
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x14c
push 0x404250
call fcn.0040e33f
push 0x4045e8
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x54]
push eax
call fcn.0040be53
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x40788c
push 0x404608
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push 0x4047f8
push 0x404634
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040d871
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x4078c5
push 0x404668
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push 0
push 0
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40792b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x4078fc
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x15a
push 0x404250
call fcn.0040e33f
push dword [ebp - 0x54]
push 0x404694
push dword [ebp - 0x5c]
call fcn.0040b4e0
add esp, 0xc
jmp 0x407c20
push dword [ebp - 0x10]
lea eax, [ebp - 0x50]
push eax
call fcn.0040bd4f
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x407959
push 0x4046cc
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [ebp - 0x10]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4079c1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x5c]
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jl 0x407992
mov dword [ebp - 0x5c], 0x80004005
push dword [ebp - 0x5c]
push 0x163
push 0x404250
call fcn.0040e33f
push dword [ebp - 0x54]
push 0x404694
push dword [ebp - 0x5c]
call fcn.0040b4e0
add esp, 0xc
jmp 0x407c20
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x4079ed
push 0x404704
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
mov dword [ebp - 0x4c], 0x3c
mov dword [ebp - 0x48], 0x540
mov dword [ebp - 0x40], 0x404720
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x452004]
mov dword [ebp - 0x38], eax
mov eax, dword [0x452000]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 5
push dword [0x452004]
push dword [ebp - 0x50]
push 0x40472c
push 1
call fcn.0040b425
add esp, 0x10
and dword [ebp - 0x60], 0
jmp 0x407a44
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jge 0x407b8c
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x407b33
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x1b
ja 0x407aa1
cmp dword [ebp - 0x68], 0x1b
je 0x407ae5
cmp dword [ebp - 0x68], 2
je 0x407ac1
cmp dword [ebp - 0x68], 3
je 0x407acd
cmp dword [ebp - 0x68], 5
je 0x407b23
cmp dword [ebp - 0x68], 8
je 0x407b1a
cmp dword [ebp - 0x68], 0xb
je 0x407ad9
jmp 0x407b2c
cmp dword [ebp - 0x68], 0x1c
je 0x407afc
cmp dword [ebp - 0x68], 0x1d
je 0x407af8
cmp dword [ebp - 0x68], 0x1e
je 0x407af4
cmp dword [ebp - 0x68], 0x1f
je 0x407ae5
cmp dword [ebp - 0x68], 0x20
je 0x407b0b
jmp 0x407b2c
push 2
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
push 3
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
push 0xb
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
push 0x483
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
xor eax, eax
jne 0x407af4
xor eax, eax
jne 0x407af8
push 0x484
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
push 0x485
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b33
mov dword [ebp - 0x5c], 0x8007000e
jmp 0x407b33
mov dword [ebp - 0x5c], 0x80070005
jmp 0x407b33
mov dword [ebp - 0x5c], 0x80004005
push 0x20
call fcn.00407c6d
cmp eax, dword [ebp - 0x5c]
jne 0x407b5e
push dword [ebp - 0x5c]
push 0x404764
push 1
call fcn.0040b425
add esp, 0xc
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x407b87
push 5
call fcn.00407c6d
cmp eax, dword [ebp - 0x5c]
jne 0x407b85
push 0x404794
push 1
call fcn.0040b425
pop ecx
pop ecx
push 0x642
call fcn.00407c6d
mov dword [ebp - 0x5c], eax
jmp 0x407b8c
jmp 0x407a3d
cmp dword [ebp - 0x5c], 0
jge 0x407ba5
push 0x4047b8
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [ebp - 8], eax
and dword [ebp - 0x64], 0
jmp 0x407bbe
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x32
jge 0x407bdf
push dword [ebp - 8]
call fcn.00407578
movzx eax, al
test eax, eax
je 0x407bd5
jmp 0x407bdf
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x407bb7
call fcn.004087cf
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jge 0x407c00
push 0x4047d4
push dword [ebp - 0x5c]
call fcn.0040b4e0
pop ecx
pop ecx
jmp 0x407c20
push 0xffffffffffffffff
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp + 0x10]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x58], 0
je 0x407c2e
push dword [ebp - 0x58]
call fcn.0040ef8a
cmp dword [ebp - 0x50], 0
je 0x407c3c
push dword [ebp - 0x50]
call fcn.0040c820
cmp dword [ebp - 0x54], 0
je 0x407c4a
push dword [ebp - 0x54]
call fcn.0040c820
cmp dword [ebp - 0xc], 0
je 0x407c58
push dword [ebp - 0xc]
call fcn.0040c820
cmp dword [ebp - 0x58], 0
je 0x407c66
push dword [ebp - 0x58]
call fcn.0040c820
mov eax, dword [ebp - 0x5c]
leave
ret 0xc