Function at 0x416ce0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
lea eax, [ebp - 8]
sub esp, 0x1b0
mov dword [ebp - 0x174], 0x445710
mov dword [ebp - 0x170], 0x446a1c
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x168], 0x41751f
mov dword [ebp - 0x164], esp
mov dword [esp], eax
call fcn.004286e0
mov dword [esp + 4], 0x2c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x4174e7
mov eax, dword [0x452090]
test eax, eax
je 0x417160
mov eax, dword [0x452090]
mov byte [ebp - 0x190], 0
cmp byte [eax], 0
mov dword [ebp - 0x194], eax
jne 0x416d81
lea eax, [ebp - 0x18c]
mov dword [esp], eax
call fcn.00428750
movzx eax, byte [ebp - 0x190]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [ebp - 0x188], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x148]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x194]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, 0xf
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x120], eax
ja 0x417271
cmp eax, 1
jne 0x417140
mov ebx, dword [ebp - 0x194]
movzx edx, byte [ebx]
mov byte [ebp - 0x148], dl
lea edx, [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov byte [edx + eax], 0
lea eax, [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, 0xf
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x108], eax
ja 0x4172e0
cmp eax, 1
jne 0x417420
mov ebx, dword [ebp + 8]
movzx edx, byte [ebx]
mov byte [ebp - 0x130], dl
lea edx, [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov byte [edx + eax], 0
lea eax, [ebp - 0x150]
mov dword [esp + 4], 0x44bec3
mov dword [esp + 8], eax
lea eax, [ebp - 0x120]
mov dword [esp], eax
mov dword [ebp - 0x188], 3
call fcn.00444190
cmp dword [ebp - 0x11c], 0x7fffffff
je 0x417548
lea ecx, [ebp - 0x120]
mov dword [esp + 4], 1
mov dword [esp], 0x44bec3
mov dword [ebp - 0x188], 4
call fcn.00440010
lea esi, [ebp - 0x100]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x108], esi
mov ecx, dword [eax]
mov dword [ebp - 0x190], esi
cmp ecx, edx
je 0x417433
mov dword [ebp - 0x108], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x100], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov dword [eax], edx
mov dword [eax + 4], 0
mov byte [eax + 8], 0
mov edx, dword [ebp - 0x108]
cmp edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x150]
je 0x417345
lea esi, [ebp - 0x148]
mov ecx, dword [ebp - 0x100]
mov ebx, dword [ebp - 0x104]
cmp eax, esi
je 0x4173c0
test eax, eax
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ecx
je 0x4173d2
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x104], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x190]
je 0x416f65
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x120]
lea ebx, [ebp - 0x118]
cmp eax, ebx
je 0x416f7d
mov dword [esp], eax
call fcn.00444a10
lea eax, [ebp - 0x138]
mov dword [esp + 4], 0x44bec3
mov dword [esp + 8], eax
lea eax, [ebp - 0x120]
mov dword [esp], eax
mov dword [ebp - 0x188], 3
call fcn.00444190
cmp dword [ebp - 0x11c], 0x7fffffff
je 0x417509
lea ecx, [ebp - 0x120]
mov dword [esp + 4], 1
mov dword [esp], 0x44bec3
mov dword [ebp - 0x188], 5
call fcn.00440010
mov esi, dword [ebp - 0x190]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x108], esi
mov ecx, dword [eax]
cmp ecx, edx
je 0x417460
mov dword [ebp - 0x108], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x100], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov dword [eax], edx
mov dword [eax + 4], 0
mov byte [eax + 8], 0
mov edx, dword [ebp - 0x108]
cmp edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x138]
je 0x417382
lea esi, [ebp - 0x130]
mov ecx, dword [ebp - 0x100]
mov ebx, dword [ebp - 0x104]
cmp eax, esi
je 0x4173f0
test eax, eax
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ecx
je 0x417402
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x104], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x190]
je 0x41709d
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x120]
lea ebx, [ebp - 0x118]
cmp eax, ebx
je 0x4170b5
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x134]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x150]
lea esi, [ebp - 0x130]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [esp], eax
call fcn.00437f10
sub esp, 0xc
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x138]
setne byte [ebp - 0x190]
cmp eax, esi
je 0x417100
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x150]
lea ebx, [ebp - 0x148]
cmp eax, ebx
je 0x417118
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x198]
mov dword [esp], eax
mov dword [ebp - 0x188], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
jmp 0x416d65
mov edx, dword [ebp - 0x190]
test edx, edx
jne 0x41755e
mov edx, dword [ebp - 0x150]
jmp 0x416de4
mov dword [ebp - 0x188], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x108]
mov dword [esp + 8], 0x100
mov dword [esp], str.WINPTY_DEBUG
mov dword [esp + 4], eax
mov dword [ebp - 0x188], 6
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
sub eax, 1
sub esp, 0xc
cmp eax, 0xfe
jbe 0x4171b3
mov byte [ebp - 0x108], 0
lea edx, [ebp - 0x108]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4171b9
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
mov ebx, eax
cmove edx, ecx
add bl, al
lea eax, [ebp - 0x108]
sbb edx, 3
sub edx, eax
lea eax, [edx + 1]
mov dword [ebp - 0x190], eax
mov dword [esp], eax
mov dword [ebp - 0x188], 6
call fcn.00444a30
mov esi, dword [ebp - 0x190]
lea ebx, [ebp - 0x108]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [ebp - 0x190], eax
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x190]
xor eax, eax
lock cmpxchg dword [0x452090], ebx
test eax, eax
je 0x417250
mov eax, dword [ebp - 0x190]
mov dword [esp], eax
call fcn.00444a00
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
mov dword [ebp - 0x188], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
jmp 0x416d4e
lea eax, [ebp - 0x120]
lea ecx, [ebp - 0x150]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x188], 1
call fcn.00440160
mov edx, dword [ebp - 0x120]
sub esp, 8
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x148], edx
mov ebx, dword [ebp - 0x190]
mov dword [esp + 8], ebx
mov esi, dword [ebp - 0x194]
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x150]
jmp 0x416de4
lea eax, [ebp - 0x108]
lea ecx, [ebp - 0x138]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x188], 2
call fcn.00440160
mov edx, dword [ebp - 0x108]
sub esp, 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x130], edx
mov ebx, dword [ebp - 0x190]
mov dword [esp + 8], ebx
mov esi, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x138]
jmp 0x416e35
mov edx, dword [ebp - 0x104]
test edx, edx
je 0x41736d
cmp edx, 1
jne 0x417490
movzx edx, byte [ebp - 0x100]
mov byte [eax], dl
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x14c], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x108]
jmp 0x416f42
mov edx, dword [ebp - 0x104]
test edx, edx
je 0x4173aa
cmp edx, 1
jne 0x4174c0
movzx edx, byte [ebp - 0x100]
mov byte [eax], dl
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x134], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x108]
jmp 0x41707a
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x190], eax
jmp 0x416f42
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x190], eax
jmp 0x41707a
test eax, eax
je 0x41733a
lea eax, [ebp - 0x130]
jmp 0x41731b
mov ecx, dword [eax + 8]
mov dword [ebp - 0x100], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xf4], ecx
jmp 0x416ece
mov ecx, dword [eax + 8]
mov dword [ebp - 0x100], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xf4], ecx
jmp 0x417006
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x190]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x150]
jmp 0x41736d
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x190]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x138]
jmp 0x4173aa
mov eax, dword [ebp + 8]
mov dword [esp], str.INTERNAL_ERROR:_hasDebugFlag_flag_has_comma:__s
mov dword [esp + 4], eax
mov dword [ebp - 0x188], 0xffffffff
call fcn.004168d0
call sub.msvcrt.dll_abort
mov dword [esp], 0x44be20
mov dword [ebp - 0x188], 5
call fcn.00443ca0
add ebp, 8
cmp dword [ebp - 0x188], 5
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x190], eax
ja case.default.0x417541
mov eax, dword [ebp - 0x188]
jmp dword [eax*4 + 0x44bec8]
mov dword [esp], 0x44be20
mov dword [ebp - 0x188], 4
call fcn.00443ca0
lea eax, [ebp - 0x148]
jmp 0x4172ac
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x118]
cmp eax, edx
je case.0x417541.6
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x138]
lea edx, [ebp - 0x130]
cmp eax, edx
je case.0x417541.7
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x150]
lea edx, [ebp - 0x148]
cmp eax, edx
je case.0x417541.8
mov dword [esp], eax
call fcn.00444a10
mov eax, dword [ebp - 0x198]
mov dword [esp], eax
mov dword [ebp - 0x188], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push eax
mov eax, dword [ebp - 0x190]
mov dword [esp], eax
mov dword [ebp - 0x188], 0xffffffff
call fcn.004289f0
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
mov dword [ebp - 0x188], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4175ca
ud2