Function at 0x512650
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, dword [0x63dcd4]
push ebp
call fcn.00502a60
add esp, 4
test eax, eax
je 0x512d01
push ebx
push esi
push edi
push ebp
push 1
call fcn.004608d0
mov esi, dword [esp + 0x1c]
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
add esp, 8
push 0
push 0x46
push 0xc5
push 0x78
push esi
call edi
push 0
push 0x46
push 0xc5
push 0x79
push esi
call edi
push 0
push 0x20
push 0xc5
push 0x7a
push esi
call edi
push 0
push 0x20
push 0xc5
push 0x7b
push esi
call edi
lea eax, [ebp + 0x1188]
push eax
push 0
push 0xc
push 0x78
push esi
call edi
lea ecx, [ebp + 0x11ec]
push ecx
push 0
push 0xc
push 0x79
push esi
call edi
lea edx, [ebp + 0x1250]
push edx
push 0
push 0xc
push 0x7a
push esi
call edi
lea eax, [ebp + 0x12b4]
push eax
push 0
push 0xc
push 0x7b
push esi
call edi
mov ebx, dword [0x609d94]
xor ecx, ecx
test ebx, ebx
mov ebx, dword [sym.imp.USER32.dll_CheckDlgButton]
setne cl
push ecx
push 0x7c
push esi
call ebx
push 2
push 0x21
push 0x8d
push esi
mov dword [0x63f038], 0
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00573480
call fcn.0053fd00
push 0
push esi
call fcn.00541230
add esp, 0x14
xor eax, eax
push eax
push 0x3c
push 0xc5
push 0xa3
push esi
mov dword [0x63f030], eax
mov dword [0x63f034], eax
call edi
push 0
push 0x1e
push 0xc5
push 0xa4
push esi
call edi
lea edx, [ebp + 0x83c]
push edx
push 0
push 0xc
push 0xa3
push esi
call edi
add ebp, 0x8a0
push ebp
push 0
push 0xc
push 0xa4
push esi
call edi
mov eax, dword [0x63dcd4]
push eax
call fcn.00502d00
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
add esp, 4
test eax, eax
jne 0x5127bf
mov ecx, dword [0x63dcd4]
push ecx
call fcn.00502dc0
add esp, 4
test eax, eax
je 0x5127db
push 0
push 0x78
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
push 0
push 0x79
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
mov edx, dword [0x63dcd4]
push edx
call fcn.00503650
add esp, 4
test eax, eax
je 0x512810
push 0
push 0xa3
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
push 0
push 0xa4
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
mov eax, dword [0x609d7c]
test eax, eax
je 0x512834
push 0
push 0xa6
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebp
mov dword [0x609d80], 1
mov ebp, dword [0x609d7c]
xor eax, eax
test ebp, ebp
setne al
push eax
push 0xa5
push esi
call ebx
mov ebp, dword [0x609d80]
xor ecx, ecx
test ebp, ebp
setne cl
push ecx
push 0xa6
push esi
call ebx
mov ebp, dword [0x609d84]
xor edx, edx
test ebp, ebp
sete dl
push edx
push 0xa9
push esi
call ebx
mov edx, dword [0x609d84]
xor eax, eax
test edx, edx
setne al
push eax
push 0xaa
push esi
call ebx
mov edx, dword [0x63e0d8]
xor ecx, ecx
test edx, edx
setne cl
push ecx
push 0xaf
push esi
call ebx
mov ecx, dword [0x609d88]
xor edx, edx
test ecx, ecx
setne dl
push edx
push 0xb0
push esi
call ebx
mov ecx, dword [0x609d90]
xor eax, eax
test ecx, ecx
setne al
push eax
push 0xb1
push esi
call ebx
mov eax, dword [0x609d8c]
xor ecx, ecx
test eax, eax
setne cl
push ecx
push 0xb2
push esi
call ebx
mov eax, dword [0x609d00]
xor edx, edx
test eax, eax
setne dl
push edx
push 0xb3
push esi
call ebx
mov ebp, dword [0x63e0c0]
xor eax, eax
test ebp, ebp
setne al
push eax
push 0xb4
push esi
call ebx
mov ecx, dword [0x609d98]
mov edx, dword [0x609d9c]
mov eax, dword [0x609da0]
mov dword [0x63ef10], ecx
mov ecx, dword [0x609da4]
mov dword [0x63ef14], edx
mov edx, dword [0x609da8]
mov dword [0x63ef18], eax
mov eax, dword [0x609e20]
mov dword [0x63ef1c], ecx
mov ecx, dword [0x63fb10]
mov dword [0x63ef20], edx
mov dx, word [0x609e24]
mov dword [0x63ef24], eax
mov ax, word [0x609e28]
mov dword [0x63ef28], ecx
mov ecx, dword [0x63fb14]
mov word [0x63ef34], dx
mov edx, dword [0x63fb18]
mov word [0x63ef38], ax
mov dword [0x63ef2c], ecx
mov dword [0x63ef30], edx
xor eax, eax
mov cl, byte [eax + 0x63fb20]
mov byte [eax + 0x63ef40], cl
inc eax
test cl, cl
jne 0x512992
push str.6667
push 0
push 0xc
push 0xb6
push esi
call edi
mov eax, dword [0x60a0e4]
push 0x643118
push 0x104
push 0x63ec88
mov dword [0x63ed8c], eax
call fcn.00423900
push 0x643220
push 0x104
push 0x63eb80
call fcn.00423900
push 0x643328
push 0x104
push 0x63ea78
call fcn.00423900
add esp, 0x24
push 0
push 0xa
push 0xc5
push 0xc5
push esi
call edi
push 0
push 0x1e
push 0xc5
push 0xc7
push esi
call edi
push 0
push 0xa
push 0xc5
push 0xc9
push esi
call edi
mov eax, dword [0x637660]
movzx ecx, word [0x609c14]
xor edx, edx
test eax, eax
setne dl
mov dword [0x63f040], ecx
mov dword [0x63f03c], eax
push edx
push 0xc3
push esi
call ebx
push 0x637668
push 0
push 0xc
push 0xc5
push esi
call edi
push 0x6376cc
push 0
push 0xc
push 0xc7
push esi
call edi
movzx eax, word [0x609c14]
mov ebp, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push eax
push 0xc9
push esi
call ebp
mov eax, dword [0x609c0c]
xor ecx, ecx
test eax, eax
setne cl
push ecx
push 0xca
push esi
call ebx
mov ecx, dword [0x609c10]
xor edx, edx
test ecx, ecx
setne dl
push edx
push 0xcb
push esi
call ebx
mov eax, dword [0x609c10]
mov dword [0x63f044], eax
mov eax, dword [0x637664]
xor ecx, ecx
test eax, eax
setne cl
push ecx
push 0xcc
push esi
call ebx
push 0
push 0
push 0x14b
push 0xd3
push esi
call edi
push 0
push 0x110e
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd3
push esi
call edi
push 0
push 0x110f
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd3
push esi
call edi
push 0
push 0x1110
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd3
push esi
call edi
push 0
push 0x1111
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd3
push esi
call edi
mov eax, dword [0x617034]
test eax, eax
mov eax, dword [0x617030]
push 0
je 0x512b80
test eax, eax
je 0x512b88
push 3
jmp 0x512b8e
test eax, eax
je 0x512b8c
push 2
jmp 0x512b8e
push 1
jmp 0x512b8e
push 0
push 0x14e
push 0xd3
push esi
call edi
push 0
push 0
push 0x14b
push 0xd5
push esi
call edi
push 0
push 0x1112
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd5
push esi
call edi
push 0
push 0x1113
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd5
push esi
call edi
push 0
push 0x1114
call fcn.00421db0
add esp, 8
push eax
push 0
push 0x143
push 0xd5
push esi
call edi
mov eax, dword [0x61702c]
test eax, eax
jl 0x512c17
cmp eax, 2
jle 0x512c1e
xor eax, eax
mov dword [0x61702c], eax
push 0
push eax
push 0x14e
push 0xd5
push esi
call edi
mov al, byte [0x616ef8]
test al, al
jne 0x512c49
push 0x64
push 0x616ef8
push str.SOCKS_HOST
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push 0x616ef8
push 0
push 0xc
push 0xd7
push esi
call edi
movzx edx, word [0x609adc]
push 0
push edx
push 0xdd
push esi
call ebp
push 0x616f60
push 0
push 0xc
push 0xd9
push esi
call edi
push 0x616fc8
push 0
push 0xc
push 0xdb
push esi
call edi
push 0x5e6c98
push 0
push 0xc
push 0xdf
push esi
call edi
mov ebx, dword [0x61703c]
test ebx, ebx
je 0x512cfe
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
nop
mov eax, dword [ebx]
push eax
push str._s_r_n
push 0x63dcd8
call ebp
add esp, 0xc
push 0x7d000
push 0x7d000
push 1
push 0xdf
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00488690
add esp, 0x10
push 0x63dcd8
push 0
push 0xc2
push 0xdf
push esi
call edi
mov ebx, dword [ebx + 0x40]
test ebx, ebx
jne 0x512cb0
pop edi
pop esi
pop ebx
pop ebp
ret