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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50a61e
mov eax, dword fs:[0]
push eax
sub esp, 0x670
mov eax, dword [0x517138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x67c], ecx
call fcn.004d99f0
mov eax, dword [ebp - 0x67c]
add eax, 8
push eax
lea ecx, [ebp - 0x45c]
call fcn.00404ac0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x67c]
add ecx, 0x64
push ecx
lea ecx, [ebp - 0x45c]
call fcn.00404b60
mov word [ebp - 0x21c], 0
push 0x206
push 0
lea edx, [ebp - 0x21a]
push edx
call fcn.00407ed0
add esp, 0xc
mov word [ebp - 0x424], 0
push 0x206
push 0
lea eax, [ebp - 0x422]
push eax
call fcn.00407ed0
add esp, 0xc
lea ecx, [ebp - 0x440]
call fcn.00404a50
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x67c]
add ecx, 0x24
push ecx
lea ecx, [ebp - 0x440]
call fcn.00404b20
call fcn.004d7400
lea ecx, [ebp - 0x440]
call fcn.004068b0
movzx edx, al
test edx, edx
je 0x50804a
lea ecx, [ebp - 0x460]
call fcn.00404560
mov byte [ebp - 4], 2
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x67c]
call fcn.00507b40
test eax, eax
je 0x507fa5
lea ecx, [ebp - 0x460]
call fcn.00404a20
push eax
lea ecx, [ebp - 0x440]
call fcn.00404b40
jmp 0x50803b
mov word [ebp - 0x674], 0
push 0x208
push 0
lea ecx, [ebp - 0x672]
push ecx
call fcn.00407ed0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x674]
push edx
push str._ProgramFiles_
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea ecx, [ebp - 0x678]
call fcn.00404560
mov byte [ebp - 4], 3
lea eax, [ebp - 0x674]
push eax
push 0x50dadc
lea ecx, [ebp - 0x678]
push ecx
call fcn.00406a30
add esp, 0xc
push str.BaiduBaiduSd
lea ecx, [ebp - 0x678]
call fcn.00406690
lea ecx, [ebp - 0x678]
call fcn.00404a20
push eax
lea ecx, [ebp - 0x440]
call fcn.00404b40
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x678]
call fcn.00404620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x460]
call fcn.00404620
call fcn.004d5a20
lea ecx, [ebp - 0x440]
call fcn.00404bc0
push eax
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx + 0x54]
push eax
push str._supplyid_d__installmode2__startmain1__silent1___D_s
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea ecx, [ebp - 0x440]
call fcn.00404bc0
push eax
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx + 0x54]
push eax
push str._supplyid_d__installmode2__startmain1__S___D_s
lea ecx, [ebp - 0x424]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea ecx, [ebp - 0x45c]
call fcn.00404bc0
push eax
mov ecx, dword [ebp - 0x67c]
call fcn.00507d60
push 0
mov ecx, dword [ebp - 0x67c]
add ecx, 0x80
call fcn.004063c0
movzx edx, al
test edx, edx
je 0x508152
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x67c]
add ecx, 0x80
call fcn.00406400
movzx ecx, al
test ecx, ecx
je 0x508116
push 1
push 0
push 0
lea ecx, [ebp - 0x45c]
call fcn.00404bc0
push eax
push 0x50dbe8
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x50813a
push 1
push 0
lea edx, [ebp - 0x424]
push edx
lea ecx, [ebp - 0x45c]
call fcn.00404bc0
push eax
push 0x50dbf4
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0x2710
mov ecx, dword [ebp - 0x67c]
add ecx, 0x80
call fcn.004064b0
jmp 0x508176
push 1
push 0
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x45c]
call fcn.00404bc0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.004d4000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x440]
call fcn.00404b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x45c]
call fcn.00404b00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret