Function at 0x48b9c0
Capabilities:
Link many functions at runtime
Query environment variable

Disassembly:
endbr32
push esi
push edi
push ebx
push ebp
sub esp, 0x120
xor eax, eax
mov ecx, 0x105
lea ebx, [esp + 8]
mov edi, ebx
mov edx, dword [0x52cfb4]
xor edx, esp
mov dword [ebx + 0x114], edx
mov dword [ebx - 4], 0
and eax, 0xffff
mov ah, al
mov edx, eax
shl eax, 0x10
or eax, edx
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x110], str.msvcrt.dll
mov dword [esp + 0x114], str.ucrtbase.dll
cmp dword [0x53ff80], 0
je 0x48be1a
push 0x53ff80
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x52cfe0], 0xffffffff
je 0x48bde2
push 0x105
push ebx
push str.SYSTEMROOT
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edi, eax
test edi, edi
je 0x48ba8b
push str._system32_
push 0x105
push ebx
call fcn.004a6865
add esp, 0xc
add edi, 0xa
cmp dword [esp + 4], 0
je 0x48ba96
xor esi, esi
jmp 0x48baf0
xor esi, esi
cmp dword [esp + esi*4 + 0x110], 0
je 0x48bdb2
mov byte [esp + edi + 8], 0
push dword [esp + esi*4 + 0x110]
push 0x105
push ebx
call fcn.004a6865
add esp, 0xc
lea eax, [esp + 4]
push eax
push ebx
push 1
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
mov ebp, eax
mov edx, dword [esp + 4]
test edx, edx
je 0x48bd93
mov eax, str.ucrtbase.dll
cmp eax, dword [esp + esi*4 + 0x110]
je 0x48bc4d
mov esi, ebp
mov ebx, 1
mov edx, dword [ebx*8 + 0x52cfe4]
inc edx
push edx
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x48bc17
mov dword [ebx*8 + 0x52cfe0], eax
inc ebx
cmp ebx, 0x32
jl 0x48baf5
cmp esi, 0xffffffff
je 0x48bb65
mov dword [0x52cfe0], 0xffffffff
push 0x53ff80
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x11c], 0
xor ecx, esp
cmp ecx, dword [0x52cfb4]
jne 0x48bb60
mov eax, esi
add esp, 0x120
pop ebp
pop ebx
pop edi
pop esi
call fcn.00497ce0
mov edx, dword [0x52d168]
mov ecx, 0x48be40
cmp ecx, dword [0x52d010]
jne 0x48bb82
mov dword [0x52d010], 0x48be50
cmp ecx, dword [0x52d0d8]
jne 0x48bb94
mov dword [0x52d0d8], 0x48be50
cmp ecx, dword [0x52d0e8]
jne 0x48bba6
mov dword [0x52d0e8], 0x48be50
cmp ecx, dword [0x52d0f0]
jne 0x48bbb8
mov dword [0x52d0f0], 0x48be50
cmp ecx, dword [0x52d0f8]
jne 0x48bbca
mov dword [0x52d0f8], 0x48be50
cmp ecx, dword [0x52d100]
jne 0x48bbdc
mov dword [0x52d100], 0x48be50
cmp ecx, dword [0x52d148]
jne 0x48bbee
mov dword [0x52d148], 0x48be50
cmp ecx, dword [0x52d158]
jne 0x48bc00
mov dword [0x52d158], 0x48be50
cmp edx, ecx
jne 0x48bb22
mov dword [0x52d168], 0x48be30
jmp 0x48bb22
mov edx, dword [ebx*8 + 0x52cfe0]
test edx, edx
je 0x48bc3d
cmp edx, ebx
jge 0x48bb17
mov edx, dword [edx*8 + 0x52cfe0]
mov dword [ebx*8 + 0x52cfe0], edx
jmp 0x48bb17
mov dword [ebx*8 + 0x52cfe0], 0x48be40
jmp 0x48bb17
mov eax, 0x4d50d1
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
mov ecx, eax
mov eax, 0x4d50e5
push eax
push edx
mov dword [esp + 8], edx
mov dword [0x540014], ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x48bc88
mov dword [0x540000], eax
jmp 0x48bc92
mov dword [0x540000], 0x48be40
mov eax, 0x4d50e5
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x48bcb1
mov dword [0x540000], eax
jmp 0x48bcbb
mov dword [0x540000], 0x48be40
mov eax, 0x4d5101
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x48bcda
mov dword [0x540004], eax
jmp 0x48bce4
mov dword [0x540004], 0x48be40
mov eax, 0x4d511d
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x48bd03
mov dword [0x540008], eax
jmp 0x48bd0d
mov dword [0x540008], 0x48be40
mov eax, 0x4d5139
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x48bd2c
mov dword [0x54000c], eax
jmp 0x48bd36
mov dword [0x54000c], 0x48be40
mov eax, 0x4d5155
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x48bd4e
mov dword [0x540010], eax
jmp 0x48bd58
mov dword [0x540010], 0x48be40
push 0
call dword [0x540014]
mov dword [0x53ffa0], eax
push 1
call dword [0x540014]
mov dword [0x53ffc0], eax
push 2
call dword [0x540014]
add esp, 0xc
inc esi
mov dword [0x53ffe0], eax
cmp dword [esp + 4], 0
je 0x48ba98
jmp 0x48baee
xor eax, eax
push eax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edx, eax
mov dword [esp + 4], edx
test edx, edx
jne 0x48badc
inc esi
jmp 0x48ba98
xor edx, edx
mov ecx, 0x48be40
xor eax, eax
inc edx
mov dword [eax + 0x52cfe8], ecx
mov dword [eax + 0x52cff0], ecx
add eax, 0x10
cmp edx, 0x18
jb 0x48bdbb
mov edx, ecx
mov esi, 0xffffffff
mov dword [0x52d168], edx
jmp 0x48bb70
push 0x53ff80
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x11c], 0
xor ecx, esp
cmp ecx, dword [0x52cfb4]
jne 0x48bb60
xor eax, eax
add esp, 0x120
pop ebp
pop ebx
pop edi
pop esi
ret
push 0x53ff80
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x48ba46