Function at 0x4033de
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc40
mov dword [ebp - 0x400], 0
push 0xffffffffffffffff
push 9
push 0x110a
push dword [0x41df14]
call sub.USER32.dll_SendMessageA
push ebp
add dword [esp], 0xfffff3f0
push ebp
add dword [esp], 0xfffffc00
push eax
push dword [0x41df14]
call fcn.00402e61
push edx
call fcn.0040338e
push eax
push 0x3eb
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
push ebp
add dword [esp], 0xfffffc00
push 0x3ed
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0xc38], 1
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc34], eax
mov dword [ebp - 0xc30], 0
lea eax, [ebp - 0x400]
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc20], 0x400
push ebp
add dword [esp], 0xfffff3c8
push 0
push 0x1005
push dword [ebp + 0xc]
call sub.USER32.dll_SendMessageA
push dword [ebp - 0xc24]
push 0x3ec
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
lea eax, [ebp - 0x400]
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc20], 0x400
mov dword [ebp - 0xc30], 1
push ebp
add dword [esp], 0xfffff3c8
push 0
push 0x1005
push dword [ebp + 0xc]
call sub.USER32.dll_SendMessageA
push dword [ebp - 0xc24]
push 0x3f0
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
push 0x41abed
push dword [ebp - 0xc24]
call fcn.00401c6c
je 0x4035ab
push 0x41ac17
push dword [ebp - 0xc24]
call fcn.00401c6c
je 0x403557
mov dword [ebp - 0xc30], 2
push ebp
add dword [esp], 0xfffff3c8
push 0
push 0x1005
push dword [ebp + 0xc]
call sub.USER32.dll_SendMessageA
push dword [ebp - 0xc24]
push 0x3f1
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0xc30], 2
push ebp
add dword [esp], 0xfffff3c8
push 0
push 0x1005
push dword [ebp + 0xc]
call sub.USER32.dll_SendMessageA
push 0x400
push ebp
add dword [esp], 0xfffff800
push dword [ebp - 0xc24]
call sub.KERNEL32.dll_ExpandEnvironmentStringsA
push ebp
add dword [esp], 0xfffff800
push 0x3f1
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0xc38], 1
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc34], eax
mov dword [ebp - 0xc30], 0
lea eax, [ebp - 0x400]
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc20], 0x400
push ebp
add dword [esp], 0xfffff3c8
push 0
push 0x1005
push dword [ebp + 0xc]
call sub.USER32.dll_SendMessageA
push 0xffffffffffffffff
push 9
push 0x110a
push dword [0x41df14]
call sub.USER32.dll_SendMessageA
push ebp
add dword [esp], 0xfffff3fc
push ebp
add dword [esp], 0xfffff400
push eax
push dword [0x41df14]
call fcn.00402e61
push ebp
add dword [esp], 0xfffff3f8
push 0x20019
push 0
push ebp
add dword [esp], 0xfffff400
push dword [ebp - 0xc04]
call sub.ADVAPI32.dll_RegOpenKeyExA
test eax, eax
jne 0x40375b
mov dword [ebp - 0xc0c], 0
push ebp
add dword [esp], 0xfffff3f4
push ebp
add dword [esp], 0xfffff400
push 0
push 0
push ebp
add dword [esp], 0xfffffc00
push dword [ebp - 0xc08]
call sub.ADVAPI32.dll_RegQueryValueExA
cmp eax, 0xea
jne 0x40373a
mov eax, dword [ebp - 0xc0c]
add eax, 0x100
push eax
push eax
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov dword [ebp - 0xc3c], eax
pop eax
shl eax, 4
push eax
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov dword [ebp - 0xc40], eax
push ebp
add dword [esp], 0xfffff3f4
push dword [ebp - 0xc3c]
push 0
push 0
push ebp
add dword [esp], 0xfffffc00
push dword [ebp - 0xc08]
call sub.ADVAPI32.dll_RegQueryValueExA
test eax, eax
jne 0x40373a
push dword [ebp - 0xc08]
call sub.ADVAPI32.dll_RegCloseKey
cmp dword [ebp - 0xc0c], 0
je 0x403745
push dword [ebp - 0xc0c]
push dword [ebp - 0xc3c]
push dword [ebp - 0xc40]
call fcn.00403832
push dword [ebp - 0xc40]
push 0x3f1
push dword [ebp + 8]
call sub.USER32.dll_SetDlgItemTextA
push dword [ebp - 0xc3c]
call sub.KERNEL32.dll_GlobalFree
push dword [ebp - 0xc40]
call sub.KERNEL32.dll_GlobalFree
jmp 0x40375b
push dword [ebp - 0xc08]
call sub.ADVAPI32.dll_RegCloseKey
push dword [ebp - 0xc3c]
call sub.KERNEL32.dll_GlobalFree
push dword [ebp - 0xc40]
call sub.KERNEL32.dll_GlobalFree
xor eax, eax
mov esp, ebp
pop ebp
ret 0xc