Function at 0x525040
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov edi, dword [ebx + 0x14]
mov eax, dword [ebx + 8]
test eax, eax
je 0x5258d3
mov eax, dword [ebx + 0x54]
test eax, eax
jne 0x5253b0
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x34], eax
call fcn.004ebd40
mov dword [ebx + 0x54], eax
test eax, eax
je 0x525091
mov edx, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ec210
test eax, eax
jne 0x525120
mov dword [esp + 0x10], 0xdd
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f0560
xor esi, esi
mov edi, 0xffffffff
mov dword [esp + 0x2c], 0
mov eax, dword [ebx + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00524ed0
test esi, esi
je 0x5250eb
mov dword [esp], esi
call fcn.004ec510
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x525110
mov dword [esp], eax
call fcn.0050b4e0
mov eax, edi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0xe1
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov eax, dword [ebx + 8]
add eax, 0x10
mov dword [esp], eax
call fcn.004b7470
mov dword [ebx + 0x50], 1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x525540
mov dword [esp], eax
call fcn.004eba70
mov esi, eax
test eax, eax
je 0x52582d
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
mov ebp, eax
mov dword [esp + 0x30], eax
dec eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x18]
mov ecx, eax
mov dword [esp + 0x38], eax
cmp ebp, ecx
jg 0x52521d
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov edi, dword [esp + 0x2c]
mov dword [esp], edi
call fcn.0053bf90
test byte [edi + 0x29], 0x20
jne 0x52521d
mov eax, dword [ebx + 0x14]
test byte [eax + 0xd], 0x80
jne 0x5254c0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x52521d
xor edi, edi
jmp 0x525209
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004ec570
mov ebp, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebx + 0x28]
test eax, eax
jne 0x5253f0
inc edi
mov dword [esp], esi
call fcn.004ec550
cmp edi, eax
jl 0x5251e0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
lea esi, [eax - 1]
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov ebp, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call fcn.0053bf90
test byte [ebp + 0x29], 0x20
je 0x5255b2
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
dec eax
je 0x525547
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec410
mov dword [esp + 0x2c], eax
dec dword [ebx + 0x50]
mov eax, dword [esp + 0x30]
lea esi, [eax - 1]
dec dword [esp + 0x44]
sub eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov ebp, eax
mov dword [esp + 0x30], esi
mov ecx, esi
mov eax, dword [esp + 0x38]
cmp eax, ecx
jl 0x52533e
mov esi, ecx
mov edi, eax
jmp 0x52531c
mov dword [esp + 8], ebp
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
test eax, eax
js 0x5255bb
je 0x52533a
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec210
test eax, eax
je 0x52583a
inc esi
cmp edi, esi
jl 0x52533a
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call fcn.0053bf90
test byte [ebp + 0x29], 0x20
je 0x5252e0
mov dword [esp + 0x30], esi
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x3c], eax
mov esi, dword [ebx + 0x50]
nop
lea esi, [esi]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
cmp esi, eax
jge 0x52575e
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov edi, eax
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0052c480
cmp eax, 1
je 0x5255c6
cmp eax, 2
je 0x525500
inc esi
jmp 0x525350
mov dword [esp + 0x10], 0xd1
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x42
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f0560
mov eax, 0xffffffff
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x5c], ebp
test ebp, ebp
je 0x52521d
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec210
test eax, eax
jne 0x525450
mov dword [esp + 0x10], 0x111
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f0560
mov edi, 0xffffffff
mov dword [esp + 0x2c], 0
jmp 0x5250cc
mov dword [esp + 0x10], 0x115
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov eax, dword [esp + 0x5c]
add eax, 0x10
mov dword [esp], eax
call fcn.004b7470
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004ebf60
inc dword [ebx + 0x50]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x38], eax
jge 0x5251a4
jmp 0x52521d
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
test eax, eax
js 0x525a23
je 0x5251d3
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0050b4e0
jmp 0x52521d
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x64], 0x1c
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x3c]
call eax
test eax, eax
jne 0x5253a0
mov esi, dword [esp + 0x40]
xor edi, edi
jmp 0x5250cc
xor esi, esi
jmp 0x525172
mov dword [esp + 8], ebp
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
test eax, eax
mov dword [esp + 0x3c], eax
jle 0x525a32
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00521d50
test eax, eax
je 0x525ae0
mov dword [ebx + 0x64], 0x12
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x60], esi
mov edx, dword [esp + 0x3c]
dec edx
je 0x525b8f
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x34]
call eax
test eax, eax
je 0x5255bb
mov dword [esp + 0x48], 1
mov ecx, dword [esp + 0x30]
jmp 0x5252c3
mov edi, eax
mov esi, dword [esp + 0x40]
jmp 0x5250cc
mov esi, dword [esp + 0x40]
mov eax, dword [ebx + 0x20]
mov ebp, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 6
cmp dword [ebx + 0x7c], 0
je 0x525eba
cmp dword [ebx + 0x50], 0
jle 0x525ba4
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], 0xffffffff
xor edi, edi
mov dword [esp + 0x30], esi
jmp 0x525646
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x525630
cmp eax, edi
jl 0x525ab0
inc dword [esp + 0x4c]
mov dword [esp + 0x38], 0
inc edi
cmp edi, dword [ebx + 0x50]
jge 0x525ba0
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov esi, eax
mov eax, dword [ebx + 0x14]
test byte [eax + 0xc], 0x10
jne 0x52566a
test byte [esi + 0x29], 2
jne 0x525a80
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x52567c
test byte [esi + 0x29], 4
jne 0x525a44
mov dword [esp], esi
call fcn.0053c0e0
mov edx, dword [esp + 0x38]
cmp edx, 0xffffffff
je 0x52595f
test edx, edx
jne 0x52593b
test eax, eax
je 0x5256bf
mov dword [ebx + 0x64], 0x25
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x525a66
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jle 0x52571a
xor eax, eax
mov edx, dword [esp + 0x38]
test edx, edx
setg al
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0053bf90
test eax, eax
je 0x5256f8
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x52571a
dec eax
je 0x52571a
mov dword [ebx + 0x64], 0x1a
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x525a66
cmp edi, 1
jle 0x52592b
mov eax, dword [esi + 0x28]
test al, 0x20
jne 0x525748
mov ecx, dword [esi + 0x20]
cmp ecx, 0xffffffff
je 0x525744
mov edx, dword [esp + 0x4c]
lea ecx, [ecx + edx + 1]
cmp dword [esp + 0x40], ecx
jg 0x525909
inc dword [esp + 0x40]
test ah, 4
jne 0x525620
mov dword [esp + 0x38], 1
jmp 0x52563c
mov eax, dword [ebx + 0x14]
test byte [eax + 0xe], 8
jne 0x525977
test dword [eax + 0xc], 0x108000
jne 0x5257ba
mov eax, dword [esp + 0x44]
lea esi, [eax - 1]
jmp 0x5257b2
lea esi, [edi - 1]
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
test eax, eax
js 0x5255bb
jne 0x525880
mov edi, esi
lea eax, [esi + 1]
dec eax
jg 0x525780
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x525820
cmp dword [esp + 0x2c], 0
je 0x5257eb
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [ebx + 0x28]
test eax, eax
jne 0x525ef1
mov eax, 0x14
mov edx, dword [esp + 0x30]
cmp dword [ebx + 0x50], edx
jge 0x5257fb
mov al, 2
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], ebp
dec edi
mov dword [ebx + 0x60], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x34]
call eax
mov edi, eax
test eax, eax
je 0x5250cc
mov dword [esp + 0x48], 1
jmp 0x5255ca
mov dword [esp + 0x10], 0xe7
jmp 0x525417
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0050b4e0
mov dword [esp + 0x10], 0x16a
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f0560
mov edi, 0xffffffff
jmp 0x5250cc
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0050b4e0
mov edx, dword [esp + 0x30]
cmp edx, edi
jle 0x5258c0
mov esi, edx
lea esi, [esi]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec410
mov dword [esp + 0x5c], eax
mov dword [esp], eax
call fcn.0050b4e0
dec esi
cmp esi, edi
jne 0x5258a0
mov dword [esp + 0x30], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
mov dword [ebx + 0x50], eax
jmp 0x525239
mov dword [esp + 0x10], 0xc9
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x69
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f0560
mov eax, 0xffffffff
jmp 0x5250fd
mov dword [ebx + 0x64], 0x19
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x525a66
mov eax, dword [esi + 0x28]
test al, 0x20
je 0x525744
jmp 0x525748
test eax, eax
je 0x525953
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x5256c2
dec eax
je 0x5256c2
mov dword [ebx + 0x64], 0x18
jmp 0x5256a4
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x5256c2
cmp eax, 1
jbe 0x5256c2
jmp 0x525953
mov esi, dword [ebx + 0x50]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
cmp esi, eax
jl 0x5255c6
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov dword [esp + 0x4c], eax
mov esi, dword [ebx + 0x40]
mov dword [esp], eax
call fcn.00521bb0
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
mov esi, eax
test eax, eax
je 0x525a1b
xor edi, edi
mov dword [esp + 0x3c], 0
jmp 0x5259ef
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004ec570
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00521d50
test eax, eax
je 0x5259fb
inc edi
mov dword [esp], esi
call fcn.004ec550
cmp edi, eax
jl 0x5259ca
mov dword [esp], esi
call fcn.004ec550
cmp eax, edi
jg 0x525b0f
mov dword [esp + 4], fcn.0050b4e0
mov dword [esp], esi
call fcn.004ec4a0
mov eax, dword [ebx + 0x14]
jmp 0x52576b
mov edi, eax
mov dword [esp + 0x2c], 0
jmp 0x5250cc
mov dword [ebx + 0x64], 0x12
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x60], esi
jmp 0x525595
mov dword [ebx + 0x64], 0x28
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x52567c
mov esi, dword [esp + 0x30]
xor edi, edi
jmp 0x5250cc
mov dword [ebx + 0x64], 0x22
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x52566a
jmp 0x525a66
mov dword [ebx + 0x64], 0x26
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x525630
jmp 0x525a66
mov dword [esp], ebp
call fcn.0050b4e0
mov ebp, dword [esp + 0x5c]
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec5a0
mov dword [ebx + 0x50], 0
mov ecx, dword [esp + 0x30]
jmp 0x5252c3
mov dword [esp + 0x10], 0xb5
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov edi, dword [esp + 0x3c]
mov eax, edi
add eax, 0x10
mov dword [esp], eax
call fcn.004b7470
mov dword [esp + 4], fcn.0050b4e0
mov dword [esp], esi
call fcn.004ec4a0
test edi, edi
je 0x525a1b
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec5a0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0050b4e0
mov dword [ebx + 0x50], 0
jmp 0x5255ca
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0050b4e0
jmp 0x525595
mov esi, dword [esp + 0x30]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec550
dec eax
mov ebp, eax
js 0x525c70
mov dword [esp + 0x30], esi
mov esi, ebx
mov dword [esp + 4], ebp
mov eax, dword [esi + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov ebx, eax
test ebp, ebp
je 0x525f23
test byte [eax + 0x28], 0x20
jne 0x525c60
mov eax, dword [esi + 0x54]
mov dword [esp], eax
call fcn.004ec550
lea edi, [eax - 1]
cmp edi, ebp
jg 0x525c05
jmp 0x525c60
dec edi
cmp edi, ebp
jle 0x525c60
mov dword [esp + 4], edi
mov eax, dword [esi + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x525c00
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0053dd70
test eax, eax
je 0x525c00
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ebp
mov dword [esi + 0x68], ebx
mov dword [esp + 4], esi
mov dword [esp], 0
call dword [esi + 0x20]
test eax, eax
jne 0x525c00
mov ebx, esi
mov esi, dword [esp + 0x30]
xor edi, edi
jmp 0x5250cc
dec ebp
cmp ebp, 0xffffffff
jne 0x525bbe
mov ebx, esi
mov esi, dword [esp + 0x30]
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax + 0x20]
mov edi, dword [ebx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x525d27
mov dword [esp], eax
call fcn.004ec550
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x525ca6
mov dword [esp], eax
call fcn.004b8030
mov dword [ebp + 8], 0
xor ecx, ecx
lea eax, [ebp + 8]
mov dword [esp + 0x38], eax
jmp 0x525cf0
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], ecx
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004ec570
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00532ae0
test eax, eax
mov ecx, dword [esp + 0x3c]
jg 0x525d27
inc ecx
cmp dword [esp + 0x30], ecx
jg 0x525cb1
cmp dword [esp + 0x30], 0
je 0x525d27
mov dword [ebx + 0x64], 0x3e
mov eax, dword [ebx + 8]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x60], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [ebx + 0x20]
test eax, eax
je 0x52552a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x525d51
mov dword [esp + 0xc], 0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00532bd0
test eax, eax
jle 0x525e11
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x525d7b
mov dword [esp + 0xc], 0
mov edx, dword [ebp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00532cb0
test eax, eax
jle 0x525e42
mov eax, dword [ebx + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00524ed0
mov dword [esp], ebx
call dword [ebx + 0x2c]
mov edi, eax
test eax, eax
je 0x5250cc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebx + 0x60]
mov dword [esp], eax
call fcn.005223a0
test eax, eax
jne 0x525e82
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x525e73
mov dword [esp], ebx
call eax
mov edi, eax
test edi, edi
je 0x5250cc
cmp dword [esp + 0x48], 0
jne 0x5250df
mov eax, dword [ebx + 0x14]
test byte [eax + 0xc], 0x80
je 0x5250df
mov dword [esp], ebx
call dword [ebx + 0x3c]
mov edi, eax
test eax, eax
jne 0x5250df
jmp 0x5250cc
mov dword [ebx + 0x64], 0x3f
mov eax, dword [ebx + 8]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x60], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [ebx + 0x20]
test eax, eax
jne 0x525d51
xor edi, edi
jmp 0x5250cc
mov dword [ebx + 0x64], 0x40
mov eax, dword [ebx + 8]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x60], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call dword [ebx + 0x20]
test eax, eax
jne 0x525d7b
xor edi, edi
jmp 0x5250cc
mov dword [esp], ebx
call fcn.00523960
mov edi, eax
jmp 0x525ddc
mov dword [ebx + 0x64], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec570
mov dword [ebx + 0x68], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x34]
call eax
mov edi, eax
test eax, eax
je 0x5250cc
jmp 0x525dca
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0xc]
shr eax, 6
and eax, 1
mov dword [esp + 0x3c], eax
mov dword [esp], str.OPENSSL_ALLOW_PROXY_CERTS
call sub.msvcrt.dll_getenv
test eax, eax
je 0x525ee2
mov dword [esp + 0x3c], 1
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], eax
jmp 0x5255e9
mov ebp, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004ec210
mov edi, dword [esp + 0x30]
inc edi
mov dword [ebx + 0x50], edi
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x64], 0x13
mov dword [esp + 0x2c], 0
jmp 0x525801
mov eax, dword [esi + 0x54]
mov dword [esp], eax
call fcn.004ec550
lea edi, [eax - 1]
test edi, edi
jg 0x525c05
jmp 0x525c6a