Function at 0x546590
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
cmp qword [rcx + 0x10], 0
mov r14, qword [rcx + 0x28]
mov rbx, rcx
je 0x546e93
cmp qword [rcx + 0xa0], 0
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x38], rax
je 0x546a90
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x5465e6
mov rcx, rdi
call fcn.00494a30
test rax, rax
mov rdi, rax
je 0x546a50
mov rcx, qword [rbx + 0xa0]
call fcn.00495370
mov rcx, qword [rbx + 0xa0]
lea edx, [rax - 1]
mov r12d, eax
call fcn.00495380
mov r13d, dword [r14 + 0x20]
mov rbp, rax
cmp r12d, r13d
jg 0x546a41
mov r8, rbp
mov rdx, rbp
mov rcx, rbx
call qword [rbx + 0x50]
test eax, eax
mov esi, eax
jne 0x546a41
cmp qword [rbx + 0x18], 0
jne 0x546664
jmp 0x546a41
mov edx, esi
mov rcx, rdi
call fcn.00495380
mov rdx, rbp
mov r15, rax
mov r8, rax
mov rcx, rbx
call qword [rbx + 0x50]
test eax, eax
jne 0x546961
add esi, 1
mov rcx, rdi
call fcn.00495370
cmp esi, eax
jl 0x546640
mov rcx, qword [rbx + 0xa0]
mov qword [rsp + 0x58], 0
call fcn.00495370
mov rcx, qword [rbx + 0xa0]
sub eax, 1
xor ebp, ebp
mov edx, eax
mov r15d, eax
call fcn.00495380
mov rcx, rbx
mov rsi, rax
mov r8, rax
mov rdx, rax
call qword [rbx + 0x50]
test eax, eax
mov dword [rsp + 0x4c], eax
jne 0x546abf
cmp r13d, r12d
jl 0x546710
lea rax, [rsp + 0x58]
mov r15, rax
jmp 0x546700
mov r8, rsi
mov rdx, rbx
mov rcx, r15
call qword [rbx + 0x48]
test eax, eax
js 0x5469e2
je 0x546710
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rbx + 0xa0]
mov rdx, rsi
call fcn.00495060
test eax, eax
je 0x546c0a
add r12d, 1
cmp r13d, r12d
jl 0x546710
mov r8, rsi
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x50]
test eax, eax
je 0x5466c5
mov r8, rsi
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x50]
test eax, eax
jne 0x546781
test rbp, rbp
je 0x546739
mov r8, rbp
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x50]
test eax, eax
jne 0x546db0
cmp dword [rbx + 0x9c], r12d
mov eax, 0x14
mov edx, 2
mov qword [rbx + 0xc0], rsi
cmovl eax, edx
mov dword [rbx + 0xb8], eax
sub r12d, 1
xor ecx, ecx
mov rdx, rbx
mov dword [rbx + 0xb4], r12d
mov rax, qword [rsp + 0x38]
call rax
test eax, eax
je 0x5469a8
mov dword [rsp + 0x4c], 1
cmp qword [rbx + 0xe0], 0
mov r13, qword [rbx + 0x40]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x48], 6
je 0x546de2
mov r8d, dword [rbx + 0x9c]
test r8d, r8d
jle 0x546c90
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov r12d, 0xffffffff
xor esi, esi
jmp 0x54681b
mov eax, dword [r15 + 0x3c]
cmp eax, esi
jge 0x546804
cmp eax, 0xffffffff
je 0x546804
xor ecx, ecx
mov dword [rbx + 0xb8], 0x26
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
je 0x5469a8
add dword [rsp + 0x44], 1
xor r12d, r12d
add esi, 1
cmp esi, dword [rbx + 0x9c]
jge 0x546c90
mov rcx, qword [rbx + 0xa0]
mov edx, esi
call fcn.00495380
mov r15, rax
mov rax, qword [rbx + 0x28]
test byte [rax + 0x14], 0x10
jne 0x546864
test byte [r15 + 0x41], 2
je 0x546864
xor ecx, ecx
mov dword [rbx + 0xb8], 0x22
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
je 0x5469a8
mov ecx, dword [rsp + 0x38]
test ecx, ecx
jne 0x54689a
test byte [r15 + 0x41], 4
je 0x54689a
xor ecx, ecx
mov dword [rbx + 0xb8], 0x28
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
je 0x5469a8
mov rcx, r15
call fcn.00515990
cmp r12d, 0xffffffff
je 0x546ba0
test r12d, r12d
jne 0x546b70
test eax, eax
je 0x5468e0
mov dword [rbx + 0xb8], 0x25
xor ecx, ecx
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
je 0x5469a8
mov rdx, qword [rbx + 0x28]
mov edx, dword [rdx + 0x18]
test edx, edx
jg 0x546b25
mov eax, dword [r15 + 0x40]
mov edx, eax
and edx, 0x20
cmp esi, 1
jle 0x546944
test edx, edx
jne 0x54694d
mov edx, dword [r15 + 0x38]
cmp edx, 0xffffffff
je 0x546948
mov ecx, dword [rsp + 0x44]
lea edx, [rdx + rcx + 1]
cmp edx, dword [rsp + 0x40]
jge 0x546948
xor ecx, ecx
mov dword [rbx + 0xb8], 0x19
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
je 0x5469a8
mov eax, dword [r15 + 0x40]
mov edx, eax
and edx, 0x20
test edx, edx
jne 0x54694d
add dword [rsp + 0x40], 1
test ah, 4
jne 0x5467d0
mov r12d, 1
jmp 0x54680c
test r15, r15
mov qword [rsp + 0x58], r15
mov rcx, qword [rbx + 0xa0]
je 0x546680
mov rdx, r15
call fcn.00495060
test eax, eax
jne 0x5469f3
lea r9, str.x509_vfy.c
mov dword [rsp + 0x20], 0xd9
mov r8d, 0x41
mov edx, 0x7f
mov ecx, 0xb
xor ebp, ebp
call fcn.00498ab0
mov rdx, qword [rbx + 0xa0]
xor ecx, ecx
call fcn.00546450
xor eax, eax
test rdi, rdi
je 0x5469cd
mov rcx, rdi
mov dword [rsp + 0x38], eax
call fcn.00495330
mov eax, dword [rsp + 0x38]
test rbp, rbp
je 0x5469e2
mov rcx, rbp
mov dword [rsp + 0x38], eax
call fcn.00504250
mov eax, dword [rsp + 0x38]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x58]
lea r9, str.x509_vfy.c
mov r8d, 3
mov edx, 1
mov dword [rsp + 0x20], 0xdc
add r12d, 1
lea rcx, [rax + 0x1c]
call fcn.00493490
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.00494d90
add dword [rbx + 0x9c], 1
cmp r13d, r12d
mov rbp, qword [rsp + 0x58]
jge 0x546614
mov rcx, qword [rbx + 0xa0]
jmp 0x546680
mov dword [rsp + 0x20], 0xbc
lea r9, str.x509_vfy.c
mov r8d, 0x41
mov edx, 0x7f
mov ecx, 0xb
call fcn.00498ab0
mov rdx, qword [rbx + 0xa0]
xor ecx, ecx
call fcn.00546450
xor eax, eax
jmp 0x5469e2
call fcn.00494b40
test rax, rax
mov qword [rbx + 0xa0], rax
je 0x546ab5
mov rdx, qword [rbx + 0x10]
mov rcx, rax
call fcn.00495060
test eax, eax
jne 0x546bb8
mov dword [rsp + 0x20], 0xb1
jmp 0x546a58
mov rcx, qword [rbx + 0xa0]
call fcn.00495370
cmp eax, 1
mov dword [rsp + 0x4c], eax
jne 0x546e1e
lea rcx, [rsp + 0x58]
mov r8, rsi
mov rdx, rbx
call qword [rbx + 0x48]
test eax, eax
mov dword [rsp + 0x40], eax
jg 0x546c45
mov dword [rbx + 0xb8], 0x12
mov qword [rbx + 0xc0], rsi
mov dword [rbx + 0xb4], r15d
xor ecx, ecx
mov rdx, rbx
mov rax, qword [rsp + 0x38]
xor ebp, ebp
call rax
test eax, eax
je 0x5469a8
jmp 0x5466b6
mov edx, dword [rsp + 0x48]
xor r8d, r8d
test r12d, r12d
setg r8b
mov rcx, r15
call fcn.00515380
test eax, eax
jne 0x546bee
xor ecx, ecx
mov dword [rbx + 0xb8], 0x1a
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r15
mov rdx, rbx
call r13
test eax, eax
jne 0x5468ef
jmp 0x5469a8
test eax, eax
je 0x546b90
mov rdx, qword [rbx + 0x28]
test byte [rdx + 0x14], 0x20
je 0x5468e4
cmp eax, 1
je 0x5468e4
nop dword [rax + rax]
mov dword [rbx + 0xb8], 0x18
jmp 0x5468c3
mov rdx, qword [rbx + 0x28]
test byte [rdx + 0x14], 0x20
je 0x5468e4
cmp eax, 1
ja 0x546b90
jmp 0x5468e4
mov rax, qword [rbx + 0x10]
lea r9, str.x509_vfy.c
mov dword [rsp + 0x20], 0xb4
mov r8d, 3
mov edx, 1
lea rcx, [rax + 0x1c]
call fcn.00493490
mov dword [rbx + 0x9c], 1
jmp 0x5465c9
mov rdx, qword [rbx + 0x28]
test byte [rdx + 0x14], 0x20
je 0x5468ef
cmp eax, 1
je 0x5468ef
jmp 0x546b43
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x38], eax
call fcn.00504250
lea r9, str.x509_vfy.c
mov dword [rsp + 0x20], 0x12e
mov r8d, 0x41
mov edx, 0x7f
mov ecx, 0xb
call fcn.00498ab0
mov eax, dword [rsp + 0x38]
jmp 0x5469e2
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.005090d0
test eax, eax
je 0x546e5d
mov r8d, dword [rsp + 0x40]
mov dword [rbx + 0xb8], 0x12
mov qword [rbx + 0xc0], rsi
mov dword [rbx + 0xb4], r15d
cmp r8d, 1
jne 0x546b0a
mov rcx, qword [rsp + 0x58]
call fcn.00504250
jmp 0x546b0a
mov rcx, qword [rbx + 0xa0]
call fcn.00495370
sub eax, 1
mov rcx, qword [rbx + 0xa0]
mov r12d, eax
js 0x546d44
mov edx, r12d
call fcn.00495380
test r12d, r12d
mov r13, rax
mov rcx, qword [rbx + 0xa0]
je 0x546f30
test byte [rax + 0x40], 0x20
jne 0x546d36
call fcn.00495370
lea esi, [rax - 1]
cmp esi, r12d
jle 0x546d2f
nop dword [rax]
mov rcx, qword [rbx + 0xa0]
mov edx, esi
call fcn.00495380
mov rdx, qword [rax + 0x78]
test rdx, rdx
je 0x546d27
mov rcx, r13
call fcn.00517130
test eax, eax
je 0x546d27
xor ecx, ecx
mov dword [rbx + 0xb8], eax
mov dword [rbx + 0xb4], r12d
mov qword [rbx + 0xc0], r13
mov rdx, rbx
call qword [rbx + 0x40]
test eax, eax
je 0x5469a8
sub esi, 1
cmp esi, r12d
jg 0x546ce0
mov rcx, qword [rbx + 0xa0]
sub r12d, 1
cmp r12d, 0xffffffff
jne 0x546caf
mov eax, dword [r14 + 0x1c]
test eax, eax
jg 0x546ec1
mov rdx, rcx
xor ecx, ecx
call fcn.00546450
mov rcx, rbx
call qword [rbx + 0x58]
test eax, eax
je 0x5469a8
mov rax, qword [rbx + 0x38]
mov rcx, rbx
test rax, rax
je 0x546f4c
call rax
test eax, eax
je 0x5469a8
cmp dword [rsp + 0x4c], 0
jne 0x5469b8
mov rdx, qword [rbx + 0x28]
test byte [rdx + 0x14], 0x80
je 0x5469b8
mov rcx, rbx
call qword [rbx + 0x78]
test eax, eax
je 0x5469a8
jmp 0x5469b8
mov rcx, qword [rbx + 0xa0]
mov rdx, rbp
add r12d, 1
call fcn.00495060
mov qword [rbx + 0xc0], rbp
mov dword [rbx + 0x9c], r12d
xor ebp, ebp
mov dword [rbx + 0xb8], 0x13
jmp 0x54675a
mov rax, qword [rbx + 0x28]
lea rcx, str.OPENSSL_ALLOW_PROXY_CERTS
mov r15d, dword [rax + 0x14]
call sub.msvcrt.dll_getenv
shr r15d, 6
and r15d, 1
test rax, rax
mov eax, 1
cmove eax, r15d
mov dword [rsp + 0x38], eax
mov rax, qword [rbx + 0x28]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x48], eax
jmp 0x5467a3
mov rcx, qword [rbx + 0xa0]
lea r15d, [r12 - 1]
call fcn.00495250
sub dword [rbx + 0x9c], 1
mov rcx, qword [rbx + 0xa0]
lea edx, [r12 - 2]
mov rbp, rax
mov r12d, r15d
call fcn.00495380
mov dword [rsp + 0x4c], 0
mov rsi, rax
jmp 0x5466b6
mov rcx, rsi
call fcn.00504250
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rbx + 0xa0]
mov edx, r15d
mov r8, rsi
call fcn.004953b0
mov dword [rbx + 0x9c], 0
mov dword [rsp + 0x4c], 0
jmp 0x5466b6
lea r9, str.x509_vfy.c
mov dword [rsp + 0x20], 0xa4
mov r8d, 0x69
mov edx, 0x7f
mov ecx, 0xb
call fcn.00498ab0
mov eax, 0xffffffff
jmp 0x5469e2
mov r13, qword [rbx + 0x40]
call fcn.00495370
mov rcx, qword [rbx + 0xa0]
lea esi, [rax - 1]
mov edx, esi
call fcn.00495380
mov r12, rax
mov rax, qword [rbx + 0x28]
xor r8d, r8d
mov rcx, r12
mov edx, dword [rax + 0x1c]
call fcn.00549ef0
cmp eax, 1
je 0x546f24
cmp eax, 2
mov dword [rbx + 0xb4], esi
mov qword [rbx + 0xc0], r12
sete al
mov rdx, rbx
xor ecx, ecx
movzx eax, al
add eax, 0x1b
mov dword [rbx + 0xb8], eax
call r13
test eax, eax
je 0x5469a8
mov rcx, qword [rbx + 0xa0]
jmp 0x546d50
call fcn.00495370
lea esi, [rax - 1]
test esi, esi
jg 0x546ce0
mov rcx, qword [rbx + 0xa0]
jmp 0x546d44
call fcn.005451f0
jmp 0x546d7a