Function at 0x45fe90
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebp, dword [esp + 0x50]
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], 0
je 0x46065a
mov esi, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x20]
test esi, esi
mov dword [esp + 0x20], edx
je 0x460030
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x45ffff
sub esp, 0xc
mov ebx, dword [ebp + 0x4c]
push ebx
call fcn.0045b0f0
mov dword [esp + 0x34], eax
pop eax
pop edx
mov edx, dword [esp + 0x2c]
dec edx
push edx
mov edi, dword [ebp + 0x4c]
push edi
call fcn.0045b100
mov esi, dword [esp + 0x3c]
mov edi, eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], eax
nop
lea esi, [esi]
add esp, 0x10
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x28], ecx
jl 0x4600f4
sub esp, 0xc
push edi
call fcn.004570a0
add esp, 0xc
push edi
push edi
push ebp
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
jne 0x4600f4
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4600f4
xor esi, esi
jmp 0x45ff85
sub esp, 8
push esi
mov edx, dword [esp + 0x28]
push edx
call fcn.0045b100
add esp, 0xc
push eax
push edi
push ebp
mov ebx, eax
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
jne 0x4600e0
inc esi
sub esp, 0xc
mov ebx, dword [esp + 0x28]
push ebx
call fcn.0045b0f0
add esp, 0x10
cmp eax, esi
jg 0x45ff60
xor eax, eax
test eax, eax
mov dword [esp + 0x38], eax
je 0x4600f4
sub esp, 8
push eax
mov esi, dword [ebp + 0x4c]
push esi
call fcn.0045ae90
add esp, 0x10
test eax, eax
je 0x4600e7
sub esp, 0xc
push 0xa6
push str..cryptox509x509_vfy.c
push 3
push 1
mov eax, dword [esp + 0x54]
add eax, 0x10
push eax
call fcn.0046f100
add esp, 0x18
mov ecx, dword [esp + 0x40]
push ecx
mov edi, dword [esp + 0x28]
push edi
call fcn.0045ae30
inc dword [ebp + 0x48]
mov edi, dword [esp + 0x48]
inc dword [esp + 0x34]
jmp 0x45ff20
sub esp, 0xc
push eax
call fcn.0045ac10
mov dword [esp + 0x2c], eax
add esp, 0x10
test eax, eax
jne 0x45feea
sub esp, 0xc
push 0x85
jmp 0x460055
call fcn.0045ab80
test eax, eax
mov dword [ebp + 0x4c], eax
je 0x460050
sub esp, 8
mov ebx, dword [ebp + 8]
push ebx
push eax
call fcn.0045ae90
add esp, 0x10
test eax, eax
jne 0x4600b5
sub esp, 0xc
push 0x7a
push str..cryptox509x509_vfy.c
push 0x41
push 0x7f
push 0xb
call fcn.0045d0e0
add esp, 0x20
sub esp, 8
mov edi, dword [ebp + 0x4c]
push edi
push 0
call fcn.0045fd70
add esp, 0x10
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x460091
sub esp, 0xc
mov ebp, dword [esp + 0x28]
push ebp
call fcn.0045aaa0
add esp, 0x10
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4600a9
sub esp, 0xc
mov edx, dword [esp + 0x40]
push edx
call fcn.004627d0
add esp, 0x10
mov eax, dword [esp + 0xc]
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
push 0x7d
push str..cryptox509x509_vfy.c
push 3
push 1
mov ecx, dword [ebp + 8]
add ecx, 0x10
push ecx
call fcn.0046f100
add esp, 0x20
mov dword [ebp + 0x48], 1
jmp 0x45fedf
mov eax, ebx
jmp 0x45ff9b
sub esp, 0xc
push 0xa3
jmp 0x460055
sub esp, 0xc
mov ebx, dword [ebp + 0x4c]
push ebx
call fcn.0045b0f0
pop edx
pop ecx
lea esi, [eax - 1]
push esi
mov edx, dword [ebp + 0x4c]
push edx
call fcn.0045b100
mov ebx, eax
mov dword [esp], eax
call fcn.004570b0
add esp, 0xc
push ebx
push ebx
push ebp
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
je 0x460181
jmp 0x460391
sub esp, 0xc
push ebx
call fcn.004570a0
add esp, 0xc
push ebx
push ebx
push ebp
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
jne 0x46018b
push eax
push ebx
push ebp
lea esi, [esp + 0x44]
push esi
call dword [ebp + 0x24]
add esp, 0x10
test eax, eax
jl 0x4600ad
je 0x46018b
mov ebx, dword [esp + 0x38]
sub esp, 8
push ebx
mov edx, dword [ebp + 0x4c]
push edx
call fcn.0045ae90
add esp, 0x10
test eax, eax
je 0x460620
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
jge 0x460130
sub esp, 0xc
push ebx
call fcn.004570a0
add esp, 0xc
push ebx
push ebx
push ebp
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
jne 0x460202
mov edi, dword [esp + 0x34]
test edi, edi
je 0x4601c2
push esi
mov ecx, dword [esp + 0x38]
push ecx
push ebx
push ebp
call dword [ebp + 0x28]
add esp, 0x10
test eax, eax
jne 0x46067c
mov eax, dword [esp + 0x24]
cmp dword [ebp + 0x48], eax
jl 0x46064e
mov dword [ebp + 0x5c], 0x14
mov dword [ebp + 0x60], ebx
mov ecx, dword [esp + 0x24]
dec ecx
mov dword [esp + 0x30], 1
sub esp, 8
mov dword [ebp + 0x58], ecx
push ebp
push 0
call dword [esp + 0x30]
mov dword [esp + 0x1c], eax
add esp, 0x10
test eax, eax
je 0x460068
mov esi, dword [ebp + 0x14]
mov ebx, dword [esi + 0xc]
shr ebx, 6
mov eax, dword [ebp + 0x20]
and ebx, 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
sub esp, 0xc
push str.OPENSSL_ALLOW_PROXY_CERTS
call sub.msvcrt.dll_getenv
add esp, 0x10
test eax, eax
mov edi, 0xffffffff
je 0x460242
mov dword [esp + 0x10], 1
mov edx, dword [ebp + 0x48]
xor esi, esi
test edx, edx
jg 0x460327
jmp 0x460580
test eax, eax
je 0x460266
mov eax, dword [ebp + 0x14]
test byte [eax + 0xc], 0x20
je 0x460288
cmp edx, 1
je 0x460288
mov dword [ebp + 0x5c], 0x18
sub esp, 8
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
je 0x46047f
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 0x10]
test ecx, ecx
jle 0x4602df
test edi, edi
push eax
setg al
and eax, 0xff
push eax
mov edi, dword [edx + 0x10]
push edi
push ebx
call fcn.0046af60
add esp, 0x10
test eax, eax
mov edx, eax
je 0x4602bd
mov ecx, dword [ebp + 0x14]
test byte [ecx + 0xc], 0x20
je 0x4602df
dec edx
je 0x4602df
sub esp, 8
mov dword [ebp + 0x5c], 0x1a
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
je 0x46047f
cmp esi, 1
jle 0x4602fc
mov eax, dword [ebx + 0x20]
cmp eax, 0xffffffff
je 0x4602fc
mov edx, dword [esp + 0x14]
lea edi, [eax + edx + 1]
cmp edi, esi
jl 0x4605c0
test byte [ebx + 0x29], 4
mov edi, 1
je 0x46031d
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x460317
cmp eax, esi
jl 0x4605f0
inc dword [esp + 0x14]
xor edi, edi
inc esi
cmp dword [ebp + 0x48], esi
jle 0x460580
sub esp, 8
push esi
mov eax, dword [ebp + 0x4c]
push eax
call fcn.0045b100
mov ecx, dword [ebp + 0x14]
add esp, 0x10
test byte [ecx + 0xc], 0x10
mov ebx, eax
jne 0x46034c
test byte [eax + 0x29], 2
jne 0x46058a
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x46035e
test byte [ebx + 0x29], 4
jne 0x46045d
sub esp, 0xc
push ebx
call fcn.0046b050
add esp, 0x10
cmp edi, 0xffffffff
mov edx, eax
je 0x460440
test edi, edi
jne 0x460254
test eax, eax
je 0x460288
mov dword [ebp + 0x5c], 0x25
jmp 0x46026d
sub esp, 0xc
mov edi, dword [ebp + 0x4c]
push edi
call fcn.0045b0f0
add esp, 0x10
dec eax
je 0x4603d5
sub esp, 0xc
mov ecx, dword [ebp + 0x4c]
push ecx
call fcn.0045b010
dec dword [ebp + 0x48]
mov dword [esp + 0x44], eax
dec dword [esp + 0x34]
pop eax
pop edx
mov edi, dword [esp + 0x2c]
dec edi
push edi
mov ebx, dword [ebp + 0x4c]
push ebx
call fcn.0045b100
mov ebx, eax
add esp, 0x10
jmp 0x460181
push eax
push ebx
push ebp
lea ecx, [esp + 0x44]
push ecx
call dword [ebp + 0x24]
add esp, 0x10
test eax, eax
mov edi, eax
jle 0x460402
sub esp, 8
mov eax, dword [esp + 0x40]
push eax
push ebx
call fcn.004570d0
add esp, 0x10
test eax, eax
je 0x4606d9
dec edi
mov dword [ebp + 0x5c], 0x12
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x58], esi
je 0x4606c4
mov dword [esp + 0x30], 1
sub esp, 8
push ebp
push 0
call dword [esp + 0x30]
mov dword [esp + 0x1c], eax
add esp, 0x10
test eax, eax
jne 0x460181
jmp 0x460068
mov ecx, dword [ebp + 0x14]
test byte [ecx + 0xc], 0x20
je 0x460288
cmp eax, 1
je 0x460288
test eax, eax
jmp 0x460264
sub esp, 8
mov dword [ebp + 0x5c], 0x28
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
jne 0x46035e
test eax, eax
mov dword [esp + 0xc], eax
je 0x460068
mov esi, dword [esp + 0x2c]
mov ebx, dword [esi + 0x14]
test ebx, ebx
jle 0x4604fd
sub esp, 0xc
mov ebx, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x20]
push ebx
call fcn.0045b0f0
pop edx
pop ecx
lea esi, [eax - 1]
push esi
mov edx, dword [ebp + 0x4c]
push edx
call fcn.0045b100
add esp, 0xc
push 0
mov ecx, dword [ebp + 0x14]
mov ebx, eax
mov eax, dword [ecx + 0x14]
push eax
push ebx
call fcn.00499760
add esp, 0x10
cmp eax, 1
mov edx, 1
je 0x4604f9
cmp eax, 2
sete al
and eax, 0xff
sub esp, 8
add eax, 0x1b
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x5c], eax
push ebp
push 0
call edi
mov edx, eax
add esp, 0x10
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
test edi, edi
je 0x460068
sub esp, 8
mov esi, dword [ebp + 0x4c]
push esi
push 0
call fcn.0045fd70
mov dword [esp], ebp
call dword [ebp + 0x2c]
mov dword [esp + 0x1c], eax
add esp, 0x10
test eax, eax
je 0x460068
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4606b6
sub esp, 0xc
push ebp
call eax
mov dword [esp + 0x1c], eax
add esp, 0x10
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x460068
mov edx, dword [esp + 0x30]
test edx, edx
jne 0x46056f
mov ebx, dword [ebp + 0x14]
cmp byte [ebx + 0xc], 0
jns 0x46056f
sub esp, 0xc
push ebp
call dword [ebp + 0x3c]
mov dword [esp + 0x1c], eax
add esp, 0x10
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x460079
jmp 0x460068
mov eax, 1
jmp 0x46047f
sub esp, 8
mov dword [ebp + 0x5c], 0x22
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], eax
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
jne 0x46034c
jmp 0x46047f
sub esp, 8
mov dword [ebp + 0x5c], 0x19
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
jne 0x4602fc
jmp 0x46047f
sub esp, 8
mov dword [ebp + 0x5c], 0x26
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x60], ebx
push ebp
push 0
call dword [esp + 0x28]
add esp, 0x10
test eax, eax
jne 0x460317
jmp 0x46047f
sub esp, 0xc
mov ebp, dword [esp + 0x44]
push ebp
call fcn.004627d0
mov dword [esp], 0xfa
push str..cryptox509x509_vfy.c
push 0x41
push 0x7f
push 0xb
call fcn.0045d0e0
xor eax, eax
add esp, 0x20
jmp 0x4600ad
mov dword [ebp + 0x5c], 2
jmp 0x4601d6
sub esp, 0xc
push 0x6d
push str..cryptox509x509_vfy.c
push 0x69
push 0x7f
push 0xb
call fcn.0045d0e0
mov eax, 0xffffffff
add esp, 0x20
jmp 0x4600ad
sub esp, 8
mov edi, dword [esp + 0x3c]
push edi
mov edx, dword [ebp + 0x4c]
push edx
call fcn.0045ae90
inc dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x44], 0
add esp, 0x10
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x5c], 0x13
jmp 0x4601d9
sub esp, 0xc
push ebp
call fcn.0045fac0
jmp 0x46053d
sub esp, 0xc
mov esi, dword [esp + 0x44]
push esi
call fcn.004627d0
add esp, 0x10
jmp 0x460416
sub esp, 0xc
push ebx
call fcn.004627d0
mov ebx, dword [esp + 0x48]
add esp, 0xc
push ebx
push esi
mov edx, dword [ebp + 0x4c]
push edx
call fcn.0045b130
add esp, 0x10
mov dword [ebp + 0x48], 0
jmp 0x460181