Function at 0x100f38b0
Capabilities:
Query environment variable

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x438
mov eax, dword [esp + 0x44c]
lea esi, [esp + 0x38]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, esi
mov dword [esp + 0x34], eax
push eax
call fcn.100f8c60
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x38], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
je 0x100f3a93
push 0x400
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, 0x200
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov dword [esp + 0xc], 2
cmp ebx, 0x201
jae 0x100f3952
jmp 0x100f3980
cmp esi, ebx
mov ebx, esi
jb 0x100f39c6
cmp ebx, 0x201
jb 0x100f3980
mov edx, ebx
lea ecx, [esp + 0x10]
sub edx, dword [esp]
call fcn.100f8bb0
mov dword [esp + 0x18], ebx
mov ebp, ebx
mov dword [esp], ebx
mov esi, dword [esp + 0x10]
mov edi, esi
mov dword [esp + 0xc], esi
jmp 0x100f398b
lea esi, [esp + 0x38]
mov ebp, 0x200
mov edi, esi
push 0
call sub.KERNEL32.dll_SetLastError
push ebx
push esi
push dword [esp + 0xc]
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov esi, eax
test eax, eax
jne 0x100f39ac
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x100f39f0
cmp esi, ebx
jne 0x100f3940
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x100f3940
add ebx, ebx
cmp ebx, 0x201
jae 0x100f3952
jmp 0x100f3980
cmp ebp, esi
jb 0x100f3afb
lea ecx, [esp + 0x1c]
mov edx, edi
push esi
call fcn.100f7c20
add esp, 4
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
xor ebx, ebx
mov dword [esp], eax
jmp 0x100f39fb
xor ebp, ebp
mov bl, 1
call sub.KERNEL32.dll_GetLastError
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100f3a22
cmp dword [esp + 0xc], 0
je 0x100f3a22
and eax, 0x7fffffff
je 0x100f3a22
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0xc]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
xor esi, esi
test bl, bl
je 0x100f3a4f
mov ebx, ebp
test bl, bl
sete al
cmp edi, 0xcb
sete cl
xor edx, edx
and cl, al
mov eax, dword [esp + 8]
cmovne ebx, edx
xor cl, 1
movzx esi, cl
test eax, eax
jne 0x100f3a59
jmp 0x100f3a75
mov eax, dword [esp + 8]
mov ebx, ebp
test eax, eax
je 0x100f3a75
cmp dword [esp + 4], 0
je 0x100f3a75
add eax, eax
je 0x100f3a75
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
test esi, esi
jne 0x100f3a9b
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
add esp, 0x438
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 4]
mov edi, dword [esp + 8]
lea eax, [esp + 0x30]
lea edx, [esp + 0x10]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x38], 0x1042202c
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x100f8d80
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x38]
mov edx, 0x1042203c
mov dword [esp + 0x28], fcn.100f8fb0
mov dword [esp + 0x4c], 2
call fcn.100f9210
ud2
mov ecx, esi
mov edx, ebp
push 0x10421f50
call fcn.100088f0
add esp, 4
ud2