Function at 0x44ad80
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 [0x4f6e34]
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 [0x5056c0], 0
je 0x44b1da
push 0x5056c0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4f6e60], 0xffffffff
je 0x44b1a2
push 0x105
push ebx
push str.SYSTEMROOT
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edi, eax
test edi, edi
je 0x44ae4b
push str._system32_
push 0x105
push ebx
call fcn.00474ad5
add esp, 0xc
add edi, 0xa
cmp dword [esp + 4], 0
je 0x44ae56
xor esi, esi
jmp 0x44aeb0
xor esi, esi
cmp dword [esp + esi*4 + 0x110], 0
je 0x44b172
mov byte [esp + edi + 8], 0
push dword [esp + esi*4 + 0x110]
push 0x105
push ebx
call fcn.00474ad5
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 0x44b153
mov eax, str.ucrtbase.dll
cmp eax, dword [esp + esi*4 + 0x110]
je 0x44b00d
mov esi, ebp
mov ebx, 1
mov edx, dword [ebx*8 + 0x4f6e64]
inc edx
push edx
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44afd7
mov dword [ebx*8 + 0x4f6e60], eax
inc ebx
cmp ebx, 0x32
jl 0x44aeb5
cmp esi, 0xffffffff
je 0x44af25
mov dword [0x4f6e60], 0xffffffff
push 0x5056c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x11c], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x44af20
mov eax, esi
add esp, 0x120
pop ebp
pop ebx
pop edi
pop esi
ret
call fcn.00466f40
mov edx, dword [0x4f6fe8]
mov ecx, 0x44b200
cmp ecx, dword [0x4f6e90]
jne 0x44af42
mov dword [0x4f6e90], 0x44b210
cmp ecx, dword [0x4f6f58]
jne 0x44af54
mov dword [0x4f6f58], 0x44b210
cmp ecx, dword [0x4f6f68]
jne 0x44af66
mov dword [0x4f6f68], 0x44b210
cmp ecx, dword [0x4f6f70]
jne 0x44af78
mov dword [0x4f6f70], 0x44b210
cmp ecx, dword [0x4f6f78]
jne 0x44af8a
mov dword [0x4f6f78], 0x44b210
cmp ecx, dword [0x4f6f80]
jne 0x44af9c
mov dword [0x4f6f80], 0x44b210
cmp ecx, dword [0x4f6fc8]
jne 0x44afae
mov dword [0x4f6fc8], 0x44b210
cmp ecx, dword [0x4f6fd8]
jne 0x44afc0
mov dword [0x4f6fd8], 0x44b210
cmp edx, ecx
jne 0x44aee2
mov dword [0x4f6fe8], 0x44b1f0
jmp 0x44aee2
mov edx, dword [ebx*8 + 0x4f6e60]
test edx, edx
je 0x44affd
cmp edx, ebx
jge 0x44aed7
mov edx, dword [edx*8 + 0x4f6e60]
mov dword [ebx*8 + 0x4f6e60], edx
jmp 0x44aed7
mov dword [ebx*8 + 0x4f6e60], 0x44b200
jmp 0x44aed7
mov eax, 0x49a391
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, 0x49a3a5
push eax
push edx
mov dword [esp + 8], edx
mov dword [0x505754], ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x44b048
mov dword [0x505740], eax
jmp 0x44b052
mov dword [0x505740], 0x44b200
mov eax, 0x49a3a5
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x44b071
mov dword [0x505740], eax
jmp 0x44b07b
mov dword [0x505740], 0x44b200
mov eax, 0x49a3c1
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x44b09a
mov dword [0x505744], eax
jmp 0x44b0a4
mov dword [0x505744], 0x44b200
mov eax, 0x49a3dd
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x44b0c3
mov dword [0x505748], eax
jmp 0x44b0cd
mov dword [0x505748], 0x44b200
mov eax, 0x49a3f9
push eax
push edx
mov dword [esp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
test eax, eax
je 0x44b0ec
mov dword [0x50574c], eax
jmp 0x44b0f6
mov dword [0x50574c], 0x44b200
mov eax, 0x49a415
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44b10e
mov dword [0x505750], eax
jmp 0x44b118
mov dword [0x505750], 0x44b200
push 0
call dword [0x505754]
mov dword [0x5056e0], eax
push 1
call dword [0x505754]
mov dword [0x505700], eax
push 2
call dword [0x505754]
add esp, 0xc
inc esi
mov dword [0x505720], eax
cmp dword [esp + 4], 0
je 0x44ae58
jmp 0x44aeae
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 0x44ae9c
inc esi
jmp 0x44ae58
xor edx, edx
mov ecx, 0x44b200
xor eax, eax
inc edx
mov dword [eax + 0x4f6e68], ecx
mov dword [eax + 0x4f6e70], ecx
add eax, 0x10
cmp edx, 0x18
jb 0x44b17b
mov edx, ecx
mov esi, 0xffffffff
mov dword [0x4f6fe8], edx
jmp 0x44af30
push 0x5056c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x11c], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x44af20
xor eax, eax
add esp, 0x120
pop ebp
pop ebx
pop edi
pop esi
ret
push 0x5056c0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x44ae06