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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x4ea418]
xor eax, ebp
mov dword [esp + 0x298], eax
lea esi, [esp + 0x108]
push 0x190
push 0
push esi
call fcn.0049dcc0
add esp, 0xc
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x448526
mov ecx, ebx
mov eax, dword [ebx]
mov ebx, dword [ebp + 8]
push 0xc8
push eax
push esi
call fcn.00464770
add esp, 0xc
push esi
call fcn.00410770
add esp, 4
cmp byte [edi + 0x11], 0
je 0x44856b
mov esi, ebx
movzx ebx, byte [edi]
mov bh, byte [edi + 0x10]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 0xb]
test al, al
js 0x448727
test ecx, ecx
je 0x448738
jmp 0x448740
mov dword [esp + 0x20], 0xa
mov eax, dword [0x4dc8c4]
movzx eax, byte [eax + 0xa]
test al, al
jne 0x448c57
mov dword [esp + 0xec], 0xffffffff
mov dword [esp + 0xe8], 0xffffffff
mov dword [esp + 0xe4], 0xffffffff
lea esi, [esp + 0x90]
push 0x100
push str....._baseprocesslaunch_win.cc
push str.LaunchProcess
push esi
call fcn.0045a490
add esp, 0x10
lea ecx, [esp + 0xe4]
push 0x4f2ae8
push esi
call fcn.004647d0
pxor xmm0, xmm0
movdqa xmmword [esp + 0xf0], xmm0
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0xcc], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
lea ecx, [esp + 0x90]
call fcn.00465170
xor esi, esi
cmp byte [edi + 0x3e], 0
mov ecx, 0
je 0x44863a
call fcn.00444e90
xor ecx, ecx
cmp eax, 0x10
setge cl
mov edx, dword [edi + 0x18]
xor eax, eax
cmp edx, dword [edi + 0x1c]
setne al
add eax, ecx
je 0x448663
lea ecx, [esp + 0x90]
push eax
call fcn.004651d0
mov esi, 0x80000
test al, al
je 0x4488ac
cmp byte [edi + 0x3e], 0
je 0x44869e
call fcn.00444e90
cmp eax, 0x10
jl 0x44869e
or byte [esp + 0xfb], 0x20
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x90]
push 0x10
push eax
push 0x20007
call fcn.00465280
test al, al
je 0x4488ac
cmp dword [edi + 0x14], 1
mov eax, edi
mov edi, dword [edi + 0x18]
sete cl
mov ebx, dword [eax + 0x1c]
cmp edi, ebx
je 0x4487a4
cmp ebx, edi
js 0x4488a9
mov dword [esp + 0xc], esi
mov esi, dword [sym.imp.KERNEL32.dll_SetHandleInformation]
nop word [eax + eax]
push 1
push 1
push dword [edi]
call esi
test eax, eax
je 0x4486e8
add edi, 4
cmp edi, ebx
jne 0x4486d0
jmp 0x448772
push 0x13b
push str....._baseprocesslaunch_win.cc
push str.LaunchProcess
lea eax, [esp + 0x2c]
push eax
call fcn.0045a490
add esp, 0x10
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.0045ece0
add esp, 8
lea ecx, [esp + 0x8c]
call fcn.0045ed90
jmp 0x4486dc
mov eax, dword [ecx + 4]
test eax, eax
js 0x448c39
mov ecx, dword [ecx]
test ecx, ecx
jne 0x448740
test eax, eax
jne 0x448c48
lea edi, [esp + 0x90]
push eax
push ecx
push edi
call fcn.0045ca00
add esp, 0xc
movzx eax, bl
movzx ecx, bh
push eax
push ecx
push edi
mov ebx, esi
push esi
call fcn.00448260
add esp, 0x10
mov ecx, edi
call fcn.0045c250
jmp 0x448c0f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
sub edx, eax
mov esi, dword [esp + 0xc]
je 0x448ca6
lea ecx, [esp + 0x90]
push edx
push eax
push 0x20002
call fcn.00465280
mov cl, 1
test al, al
je 0x4488a9
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x12], 0
je 0x4487b5
or byte [esp + 0xc0], 0x80
mov byte [esp + 7], cl
cmp byte [edi + 0x28], 0
je 0x4487ca
mov dword [esp + 0x9c], 0x4d33de
mov eax, dword [esp + 0xc0]
mov ecx, eax
or ecx, 1
mov dword [esp + 0xc0], ecx
movzx ecx, byte [edi + 0x10]
xor ecx, 1
mov word [esp + 0xc4], cx
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov ebx, dword [edi + 0x38]
mov dword [esp + 8], ebx
test ecx, ecx
mov ebx, dword [ebp + 8]
jne 0x44880b
test edx, edx
jne 0x44880b
cmp dword [esp + 8], 0
je 0x448861
mov dword [esp + 0xc], esi
mov edi, dword [edi + 0x18]
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x1c]
mov edi, dword [ebp + 0x10]
jne 0x448838
test ecx, ecx
je 0x448cb5
test edx, edx
je 0x448cb8
cmp dword [esp + 8], 0
je 0x448cbb
or eax, 0x101
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov eax, dword [esp + 8]
mov dword [esp + 0xd4], eax
mov esi, dword [esp + 0xc]
cmp dword [edi + 0x2c], 0
je 0x448878
call fcn.00444e90
lea ecx, [esi + 0x1000000]
cmp eax, 5
cmovl esi, ecx
mov edx, dword [ebp + 0xc]
mov eax, esi
or eax, 0x1000000
cmp byte [edi + 0x3c], 0
cmove eax, esi
mov esi, eax
pxor xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
movzx eax, byte [edi + 0xf]
test al, al
js 0x4488ba
lea ecx, [edi + 4]
xor edi, edi
test al, al
cmovne edi, ecx
jmp 0x4488c7
mov ebx, dword [ebp + 8]
mov ecx, ebx
push 0
call fcn.004467f0
jmp 0x448be0
mov edi, dword [edi + 8]
test edi, edi
je 0x4488c7
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
cmp byte [edx + 0xb], 0
js 0x4488f8
mov eax, dword [edx + 8]
mov dword [esp + 0x68], eax
movq xmm0, qword [edx]
movq qword [esp + 0x60], xmm0
jmp 0x448906
lea ecx, [esp + 0x60]
push dword [edx + 4]
push dword [edx]
call fcn.00442a00
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x44894f
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
push 0
push eax
push ecx
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x4489e3
or esi, 0x400
mov ecx, dword [esp + 0x20]
movzx eax, byte [esp + 7]
mov dword [esp + 8], eax
cmp byte [esp + 0x6b], 0
jns 0x4489a7
mov eax, esi
mov edx, dword [esp + 0x60]
jmp 0x4489ad
pxor xmm0, xmm0
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x28], 0
cmp byte [ecx + 0x4c], 0
je 0x448b0f
lea eax, [ecx + 0x40]
lea ecx, [esp + 0x50]
push eax
push 0x4d9062
push ecx
call fcn.004652b0
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
movq xmm0, qword [esp + 0x50]
movq qword [esp + 0x20], xmm0
cmp byte [esp + 0x2b], 0
movzx ecx, byte [esp + 7]
jns 0x4489f1
mov eax, dword [esp + 0x20]
jmp 0x4489f5
mov eax, esi
lea edx, [esp + 0x60]
lea esi, [esp + 0x70]
push esi
lea esi, [esp + 0x98]
push esi
push edi
push ecx
push eax
push dword [esp + 0x1c]
push 0
push 0
push edx
push 0
mov eax, dword [ebp + 0x10]
push dword [eax + 0x24]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov edi, eax
push dword [esp + 0x20]
call sub.USERENV.dll_DestroyEnvironmentBlock
test edi, edi
jne 0x448a53
mov ecx, ebx
push 0
call fcn.004467f0
jmp 0x448bcd
lea eax, [esp + 0x20]
mov dword [esp + 8], eax
or esi, 0x400
movzx ecx, cl
cmp byte [esp + 0x6b], 0
jns 0x448a11
mov eax, esi
mov edx, dword [esp + 0x60]
jmp 0x448a17
mov eax, esi
lea edx, [esp + 0x60]
lea esi, [esp + 0x70]
push esi
lea esi, [esp + 0x98]
push esi
push edi
push dword [esp + 0x14]
push eax
push ecx
push 0
push 0
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x448b66
cmp byte [esp + 0x2b], 0
jns 0x448a53
push dword [esp + 0x20]
call fcn.00494236
add esp, 4
mov esi, dword [ebp + 0x10]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
lea eax, [esp + 0x70]
lea ecx, [esp + 0x50]
push eax
call fcn.00465670
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x448a88
push dword [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x448b84
cmp byte [esi + 0x3d], 0
je 0x448aa1
push dword [esp + 0x50]
call fcn.00463980
add esp, 4
push eax
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
cmp byte [esi], 0
je 0x448af9
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
movdqa xmmword [esp + 0x20], xmm0
lea esi, [esp + 0x10]
push 0x1c6
push str....._baseprocesslaunch_win.cc
push str.LaunchProcess
push esi
call fcn.0045a490
add esp, 0x10
lea edi, [esp + 0x20]
mov ecx, edi
push 0
push esi
call fcn.00465890
push 0xffffffffffffffff
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, edi
call fcn.00465900
lea ecx, [esp + 0x50]
call fcn.00465860
mov ecx, ebx
push eax
call fcn.004467f0
jmp 0x448bc4
cmp dword [ecx + 0x48], 0
je 0x448c27
mov dword [esp + 8], esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test eax, eax
je 0x4489e3
mov esi, eax
mov eax, dword [ebp + 0x10]
add eax, 0x40
lea ecx, [esp + 0x50]
push eax
push esi
push ecx
call fcn.004652b0
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
movq xmm0, qword [esp + 0x50]
movq qword [esp + 0x20], xmm0
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov esi, dword [esp + 8]
jmp 0x448995
mov ecx, ebx
push 0
call fcn.004467f0
cmp byte [esp + 0x2b], 0
jns 0x448bcd
push dword [esp + 0x20]
call fcn.00494236
add esp, 4
jmp 0x448bcd
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.00465860
lea edi, [esp + 0x20]
mov ecx, edi
push eax
call fcn.004467f0
mov ecx, edi
push 1
push 1
call fcn.00446860
mov ecx, ebx
push 0
call fcn.004467f0
mov ecx, edi
call fcn.0041b890
lea ecx, [esp + 0x50]
call fcn.004657c0
cmp byte [esp + 0x6b], 0
jns 0x448be0
push dword [esp + 0x60]
call fcn.00494236
add esp, 4
lea edi, [esp + 0x90]
mov ecx, edi
call fcn.004651a0
lea ecx, [esp + 0xe4]
call fcn.004648e0
mov dword [esp + 0x20], 0xa
mov eax, dword [0x4dc8c4]
movzx eax, byte [eax + 0xa]
test al, al
jne 0x448c82
mov ecx, dword [esp + 0x298]
xor ecx, ebp
call fcn.004961ed
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 8], 0
movzx ecx, byte [esp + 7]
jmp 0x4489ff
push str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
push 0x4d348e
call fcn.00424574
push str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
push 0x4d348e
call fcn.00424574
movzx eax, al
mov dword [esp + 0x90], str.LaunchProcess
lea ecx, [esp + 0x90]
lea edx, [esp + 0x20]
push 1
push ecx
push edx
push eax
call fcn.00446920
add esp, 0x10
jmp 0x448584
movzx eax, al
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x20]
push 2
push edi
push ecx
push eax
call fcn.004478b0
add esp, 0x10
jmp 0x448c0f
push str....._third_partylibc_srcinclude_vector:1400:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x4d348e
call fcn.00424574
int3
int3
int3