Function at 0x100f3b90
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.100f8f40
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 0x100f3d73
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 0x100f3c32
jmp 0x100f3c60
cmp esi, ebx
mov ebx, esi
jb 0x100f3ca6
cmp ebx, 0x201
jb 0x100f3c60
mov edx, ebx
lea ecx, [esp + 0x10]
sub edx, dword [esp]
call fcn.100f8e90
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 0x100f3c6b
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 0x100f3c8c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x100f3cd0
cmp esi, ebx
jne 0x100f3c20
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x100f3c20
add ebx, ebx
cmp ebx, 0x201
jae 0x100f3c32
jmp 0x100f3c60
cmp ebp, esi
jb 0x100f3ddb
lea ecx, [esp + 0x1c]
mov edx, edi
push esi
call fcn.100f7f00
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 0x100f3cdb
xor ebp, ebp
mov bl, 1
call sub.KERNEL32.dll_GetLastError
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100f3d02
cmp dword [esp + 0xc], 0
je 0x100f3d02
and eax, 0x7fffffff
je 0x100f3d02
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 0x100f3d2f
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 0x100f3d39
jmp 0x100f3d55
mov eax, dword [esp + 8]
mov ebx, ebp
test eax, eax
je 0x100f3d55
cmp dword [esp + 4], 0
je 0x100f3d55
add eax, eax
je 0x100f3d55
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
test esi, esi
jne 0x100f3d7b
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], 0x103a0dbc
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], 0x100f9060
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x38]
mov edx, 0x103a0dcc
mov dword [esp + 0x28], fcn.100f9290
mov dword [esp + 0x4c], 2
call fcn.100f94f0
ud2
mov ecx, esi
mov edx, ebp
push 0x103a0ce0
call fcn.10008b80
add esp, 4
ud2