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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x73f3e530]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, 0x73f3bc14
mov edi, edx
push ebx
mov esi, ecx
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
mov eax, dword [0x73f3bc2c]
cmp eax, 0xffffffff
jne 0x73f0ab67
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
push 0x7e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x73f0ae80
test eax, eax
je 0x73f0ab79
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov al, 1
jmp 0x73f0ae82
mov ecx, edi
call fcn.73f18a8e
mov dword [0x73f3bc2c], eax
test eax, eax
je 0x73f0ae52
push 0x73dbd1b4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov dword [0x73f3bc30], eax
test eax, eax
je 0x73f0ae46
push 0x73dbd1c4
push dword [0x73f3bc2c]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd1d8
push dword [0x73f3bc2c]
mov dword [0x73f3bc34], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd1f0
push dword [0x73f3bc2c]
mov dword [0x73f3bc38], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd204
push dword [0x73f3bc2c]
mov dword [0x73f3bc3c], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd21c
push dword [0x73f3bc2c]
mov dword [0x73f3bc40], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd238
push dword [0x73f3bc2c]
mov dword [0x73f3bc44], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd258
push dword [0x73f3bc2c]
mov dword [0x73f3bc48], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd274
push dword [0x73f3bc2c]
mov dword [0x73f3bc4c], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd28c
push dword [0x73f3bc2c]
mov dword [0x73f3bc50], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd2a4
push dword [0x73f3bc2c]
mov dword [0x73f3bc54], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
push 0x73dbd2bc
push dword [0x73f3bc2c]
mov dword [0x73f3bc58], eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov dword [0x73f3bc5c], eax
test eax, eax
jne 0x73f0acbb
call fcn.73f09bc2
test al, al
je 0x73f0acbb
call fcn.73dd5c5e
test eax, eax
je 0x73f0acbb
push 0x73dbd2d8
push esi
call fcn.73f1690b
pop ecx
pop ecx
push 0x73dbd3bc
push dword [0x73f3bc2c]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov dword [0x73f3df00], eax
test eax, eax
jne 0x73f0acf4
call fcn.73f09bc2
test al, al
je 0x73f0acf4
call fcn.73dd5c5e
test eax, eax
je 0x73f0acf4
push 0x73dbd3d0
push esi
call fcn.73f1690b
pop ecx
pop ecx
push 0x73dbd4a0
push dword [0x73f3bc2c]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov dword [0x73f3df04], eax
test eax, eax
jne 0x73f0ad2d
call fcn.73f09bc2
test al, al
je 0x73f0ad2d
call fcn.73dd5c5e
test eax, eax
je 0x73f0ad2d
push 0x73dbd4b8
push esi
call fcn.73f1690b
pop ecx
pop ecx
xor edi, edi
mov ecx, 0x100
push edi
push 8
call fcn.73dd44b5
call fcn.73f0af7c
call fcn.73f0af41
call fcn.73ed6754
push 0x20a
lea eax, [ebp - 0x218]
push edi
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x105
push eax
push 0x73dbd590
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetEnvironmentVariableW]
test eax, eax
je 0x73f0ad8d
lea eax, [ebp - 0x218]
mov ecx, 0x40000
push edi
push eax
call fcn.73dd44b5
xor ebx, ebx
inc ebx
cmp word [0x73f3ce8e], di
je 0x73f0adab
push edi
push 0x73f3ce8e
mov ecx, 0x2000
call fcn.73dd44b5
jmp 0x73f0adc1
test esi, esi
je 0x73f0adb4
mov ecx, dword [esi + 0x18]
jmp 0x73f0adb6
mov ecx, edi
push ebx
mov edx, 0x73f3cc84
call fcn.73f0d02f
mov eax, dword [0x73f3bcb4]
test eax, eax
jns 0x73f0ae05
push 0x73dbd5b4
push 0x73dbd5b8
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x73f0adf4
call fcn.73dd5c5e
test eax, eax
je 0x73f0adf4
push 0x73dbd5c8
push esi
call fcn.73f1690b
pop ecx
pop ecx
push edi
push ebx
mov ecx, 0x10000000
call fcn.73dd44b5
mov eax, dword [0x73f3bcb4]
test eax, 0x20000000
je 0x73f0ae1d
push edi
push ebx
mov ecx, 0x8000000
call fcn.73dd44b5
mov eax, dword [0x73f3bcb4]
test eax, 0x10000000
je 0x73f0ae30
push edi
push ebx
mov ecx, 0x4000000
call fcn.73dd44b5
push edi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
push 0x73f3bc14
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov al, bl
jmp 0x73f0ae82
push dword [0x73f3bc2c]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_FreeLibrary]
or dword [0x73f3bc2c], 0xffffffff
push 0x7e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
call fcn.73dd5c5e
test eax, eax
je 0x73f0ae80
push edi
push 0x73dbd638
push esi
call fcn.73f1690b
add esp, 0xc
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.73ddffa0
leave
ret