Function at 0x529fc0
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx + 0x14]
mov eax, dword [ebx + 8]
test eax, eax
je 0x52a843
mov eax, dword [ebx + 0x54]
test eax, eax
jne 0x52a330
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x38], eax
call fcn.004f0c80
mov dword [ebx + 0x54], eax
test eax, eax
je 0x52a011
mov edx, dword [ebx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004f1150
test eax, eax
jne 0x52a0a0
mov dword [esp + 0x10], 0xda
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f5490
xor edi, edi
xor esi, esi
mov dword [esp + 0x2c], 0
mov eax, dword [ebx + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00529e50
test edi, edi
je 0x52a068
mov dword [esp], edi
call fcn.004f1450
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x52a090
mov dword [esp], eax
call fcn.005103b0
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0xdd
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.004bc230
mov dword [ebx + 0x50], 1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x52a4c0
mov dword [esp], eax
call fcn.004f09b0
mov edi, eax
test eax, eax
je 0x52a79d
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
mov ebp, eax
mov dword [esp + 0x34], eax
dec eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x18]
mov ecx, eax
mov dword [esp + 0x30], eax
cmp ebp, ecx
jg 0x52a430
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov esi, dword [esp + 0x2c]
mov dword [esp], esi
call fcn.00540e60
test byte [esi + 0x29], 0x20
jne 0x52a430
mov eax, dword [ebx + 0x14]
test byte [eax + 0xd], 0x80
jne 0x52a440
xor esi, esi
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x52a199
jmp 0x52a1af
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004f14b0
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 0x52a370
inc esi
mov dword [esp], edi
call fcn.004f1490
cmp esi, eax
jl 0x52a170
mov dword [esp + 0x5c], 0
xor esi, esi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
lea edi, [eax - 1]
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov ebp, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call fcn.00540e60
test byte [ebp + 0x29], 0x20
je 0x52a52e
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
dec eax
je 0x52a4c7
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1350
mov dword [esp + 0x2c], eax
dec dword [ebx + 0x50]
mov eax, dword [esp + 0x34]
lea edi, [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.004f14b0
mov ebp, eax
mov dword [esp + 0x34], edi
mov eax, edi
cmp dword [esp + 0x30], eax
jl 0x52a2c2
mov edi, eax
jmp 0x52a2a0
mov dword [esp + 8], ebp
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
mov esi, eax
test eax, eax
js 0x52a539
je 0x52a2be
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1150
test eax, eax
je 0x52a7aa
inc edi
cmp dword [esp + 0x30], edi
jl 0x52a2be
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call fcn.00540e60
test byte [ebp + 0x29], 0x20
je 0x52a260
mov dword [esp + 0x34], edi
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x3c], eax
mov edi, dword [ebx + 0x50]
mov dword [esp + 0x4c], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
cmp edi, eax
jge 0x52a6ce
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov esi, eax
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00531360
cmp eax, 1
je 0x52a542
cmp eax, 2
je 0x52a480
inc edi
jmp 0x52a2d0
mov dword [esp + 0x10], 0xce
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x42
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f5490
mov eax, 0xffffffff
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x5c], ebp
test ebp, ebp
je 0x52a430
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1150
test eax, eax
jne 0x52a3d0
mov dword [esp + 0x10], 0x10c
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f5490
xor esi, esi
mov dword [esp + 0x2c], 0
jmp 0x52a049
mov dword [esp + 0x10], 0x10f
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.004bc230
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004f0ea0
inc dword [ebx + 0x50]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
inc dword [esp + 0x34]
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x30], eax
jge 0x52a128
lea esi, [esi]
xor esi, esi
jmp 0x52a1af
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 0x52a993
je 0x52a15b
mov esi, eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.005103b0
jmp 0x52a1af
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x68], esi
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 0x52a320
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
jmp 0x52a049
xor edi, edi
jmp 0x52a0f2
mov dword [esp + 8], ebp
mov dword [esp + 4], ebx
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [ebx + 0x24]
mov esi, eax
test eax, eax
jle 0x52a9a2
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00526d20
test eax, eax
je 0x52aa50
mov dword [ebx + 0x64], 0x12
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x60], edi
dec esi
je 0x52aa7f
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x38]
call eax
mov esi, eax
test eax, eax
je 0x52a539
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x34]
jmp 0x52a255
mov esi, eax
mov edi, dword [esp + 0x40]
jmp 0x52a049
mov edi, 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 0x52ae26
cmp dword [ebx + 0x50], 0
jle 0x52ab14
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 0xffffffff
xor esi, esi
mov dword [esp + 0x30], edi
jmp 0x52a5b6
mov eax, dword [edi + 0x24]
cmp eax, 0xffffffff
je 0x52a5a0
cmp eax, esi
jl 0x52aa20
inc dword [esp + 0x40]
mov dword [esp + 0x34], 0
inc esi
cmp esi, dword [ebx + 0x50]
jge 0x52ab10
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov edi, eax
mov eax, dword [ebx + 0x14]
test byte [eax + 0xc], 0x10
jne 0x52a5da
test byte [edi + 0x29], 2
jne 0x52a9f0
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x52a5ec
test byte [edi + 0x29], 4
jne 0x52a9b4
mov dword [esp], edi
call fcn.00540fb0
mov ecx, dword [esp + 0x34]
cmp ecx, 0xffffffff
je 0x52a8cf
test ecx, ecx
jne 0x52a8ab
test eax, eax
je 0x52a62f
mov dword [ebx + 0x64], 0x25
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x52a9d6
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jle 0x52a68a
xor eax, eax
mov edx, dword [esp + 0x34]
test edx, edx
setg al
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00540e60
test eax, eax
je 0x52a668
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x52a68a
dec eax
je 0x52a68a
mov dword [ebx + 0x64], 0x1a
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x52a9d6
cmp esi, 1
jle 0x52a89b
mov eax, dword [edi + 0x28]
test al, 0x20
jne 0x52a6b8
mov ecx, dword [edi + 0x20]
cmp ecx, 0xffffffff
je 0x52a6b4
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx + 1]
cmp ecx, dword [esp + 0x4c]
jl 0x52a879
inc dword [esp + 0x4c]
test ah, 4
jne 0x52a590
mov dword [esp + 0x34], 1
jmp 0x52a5ac
mov eax, dword [ebx + 0x14]
test byte [eax + 0xe], 8
jne 0x52a8e7
test dword [eax + 0xc], 0x108000
jne 0x52a72a
mov eax, dword [esp + 0x44]
lea edi, [eax - 1]
jmp 0x52a722
lea edi, [esi - 1]
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
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 0x52a537
jne 0x52a7ed
mov esi, edi
lea eax, [edi + 1]
dec eax
jg 0x52a6f0
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x52a790
cmp dword [esp + 0x2c], 0
je 0x52a75b
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 0x52ae5d
mov eax, 0x14
mov edx, dword [esp + 0x34]
cmp edx, dword [ebx + 0x50]
jle 0x52a76b
mov al, 2
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], ebp
dec esi
mov dword [ebx + 0x60], esi
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x38]
call eax
mov esi, eax
test eax, eax
je 0x52a049
mov dword [esp + 0x48], 1
jmp 0x52a546
mov dword [esp + 0x10], 0xe3
jmp 0x52a397
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.005103b0
mov dword [esp + 0x10], 0x164
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f5490
xor esi, esi
jmp 0x52a049
mov ebp, esi
mov dword [esp + 0x44], esi
mov esi, eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.005103b0
mov edx, dword [esp + 0x34]
cmp edx, ebp
jle 0x52a830
mov edi, edx
nop
lea esi, [esi]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1350
mov dword [esp + 0x5c], eax
mov dword [esp], eax
call fcn.005103b0
dec edi
cmp edi, ebp
jne 0x52a810
mov dword [esp + 0x34], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
mov dword [ebx + 0x50], eax
jmp 0x52a1cb
mov dword [esp + 0x10], 0xc6
mov dword [esp + 0xc], str.x509_vfy.c
mov dword [esp + 8], 0x69
mov dword [esp + 4], 0x7f
mov dword [esp], 0xb
call fcn.004f5490
mov eax, 0xffffffff
jmp 0x52a07a
mov dword [ebx + 0x64], 0x19
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
je 0x52a9d6
mov eax, dword [edi + 0x28]
test al, 0x20
je 0x52a6b4
jmp 0x52a6b8
test eax, eax
je 0x52a8c3
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x52a632
dec eax
je 0x52a632
mov dword [ebx + 0x64], 0x18
jmp 0x52a614
mov ecx, dword [ebx + 0x14]
test byte [ecx + 0xc], 0x20
je 0x52a632
cmp eax, 1
jbe 0x52a632
jmp 0x52a8c3
mov esi, dword [ebx + 0x50]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
cmp esi, eax
jl 0x52a542
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov dword [esp + 0x4c], eax
mov esi, dword [ebx + 0x40]
mov dword [esp], eax
call fcn.00526b80
mov dword [esp + 4], eax
mov dword [esp], ebx
call esi
mov esi, eax
test eax, eax
je 0x52a98b
xor edi, edi
mov dword [esp + 0x3c], 0
jmp 0x52a95f
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004f14b0
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00526d20
test eax, eax
je 0x52a96b
inc edi
mov dword [esp], esi
call fcn.004f1490
cmp edi, eax
jl 0x52a93a
mov dword [esp], esi
call fcn.004f1490
cmp edi, eax
jl 0x52aa90
mov dword [esp + 4], fcn.005103b0
mov dword [esp], esi
call fcn.004f13e0
mov eax, dword [ebx + 0x14]
jmp 0x52a6db
mov esi, eax
mov dword [esp + 0x2c], 0
jmp 0x52a049
mov dword [ebx + 0x64], 0x12
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x60], edi
jmp 0x52a50f
mov dword [ebx + 0x64], 0x28
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x52a5ec
mov edi, dword [esp + 0x30]
xor esi, esi
jmp 0x52a049
mov dword [ebx + 0x64], 0x22
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x52a5da
jmp 0x52a9d6
mov dword [ebx + 0x64], 0x26
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call ebp
test eax, eax
jne 0x52a5a0
jmp 0x52a9d6
mov dword [esp], ebp
call fcn.005103b0
mov ebp, dword [esp + 0x5c]
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f14e0
mov dword [ebx + 0x50], 0
mov eax, dword [esp + 0x34]
jmp 0x52a255
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.005103b0
jmp 0x52a50f
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.004bc230
mov dword [esp + 4], fcn.005103b0
mov dword [esp], esi
call fcn.004f13e0
test edi, edi
je 0x52a98b
mov edi, 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.004f14e0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.005103b0
mov dword [ebx + 0x50], 0
jmp 0x52a546
mov edi, dword [esp + 0x30]
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1490
dec eax
mov ebp, eax
js 0x52abe0
mov dword [esp + 0x30], edi
mov edi, ebx
mov dword [esp + 4], ebp
mov eax, dword [edi + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov ebx, eax
test ebp, ebp
je 0x52ae8f
test byte [eax + 0x28], 0x20
jne 0x52abd0
mov eax, dword [edi + 0x54]
mov dword [esp], eax
call fcn.004f1490
lea esi, [eax - 1]
cmp ebp, esi
jl 0x52ab75
jmp 0x52abd0
dec esi
cmp ebp, esi
jge 0x52abd0
mov dword [esp + 4], esi
mov eax, dword [edi + 0x54]
mov dword [esp], eax
call fcn.004f14b0
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x52ab70
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00542c40
test eax, eax
je 0x52ab70
mov dword [edi + 0x64], eax
mov dword [edi + 0x60], ebp
mov dword [edi + 0x68], ebx
mov dword [esp + 4], edi
mov dword [esp], 0
call dword [edi + 0x20]
test eax, eax
jne 0x52ab70
mov ebx, edi
mov edi, dword [esp + 0x30]
xor esi, esi
jmp 0x52a049
dec ebp
cmp ebp, 0xffffffff
jne 0x52ab2e
mov ebx, edi
mov edi, dword [esp + 0x30]
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax + 0x20]
mov esi, dword [ebx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x52ac97
mov dword [esp], eax
call fcn.004f1490
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x52ac16
mov dword [esp], eax
call fcn.004bce80
mov dword [ebp + 8], 0
xor ecx, ecx
lea eax, [ebp + 8]
mov dword [esp + 0x34], eax
jmp 0x52ac60
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], ecx
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.004f14b0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.005379b0
test eax, eax
mov ecx, dword [esp + 0x3c]
jg 0x52ac97
inc ecx
cmp dword [esp + 0x30], ecx
jg 0x52ac21
cmp dword [esp + 0x30], 0
je 0x52ac97
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 0x52a9da
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x52acc1
mov dword [esp + 0xc], 0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00537aa0
test eax, eax
jle 0x52ad81
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x52aceb
mov dword [esp + 0xc], 0
mov edx, dword [ebp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00537b80
test eax, eax
jle 0x52adb0
mov eax, dword [ebx + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00529e50
mov dword [esp], ebx
call dword [ebx + 0x2c]
mov esi, eax
test eax, eax
je 0x52a049
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.00527370
test eax, eax
jne 0x52adee
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x52addf
mov dword [esp], ebx
call eax
mov esi, eax
test esi, esi
je 0x52a049
cmp dword [esp + 0x48], 0
jne 0x52a05c
mov eax, dword [ebx + 0x14]
test byte [eax + 0xc], 0x80
je 0x52a05c
mov dword [esp], ebx
call dword [ebx + 0x3c]
mov esi, eax
test eax, eax
jne 0x52a05c
jmp 0x52a049
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 0x52acc1
jmp 0x52a9da
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 0x52aceb
jmp 0x52a9da
mov dword [esp], ebx
call fcn.005288e0
mov esi, eax
jmp 0x52ad4c
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.004f14b0
mov dword [ebx + 0x68], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
mov eax, dword [esp + 0x38]
call eax
mov esi, eax
test eax, eax
je 0x52a049
jmp 0x52ad3a
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 0x52ae4e
mov dword [esp + 0x3c], 1
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], eax
jmp 0x52a565
mov ebp, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.004f1150
mov esi, dword [esp + 0x34]
inc esi
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x64], 0x13
mov dword [esp + 0x2c], 0
jmp 0x52a771
mov eax, dword [edi + 0x54]
mov dword [esp], eax
call fcn.004f1490
lea esi, [eax - 1]
test esi, esi
jg 0x52ab75
jmp 0x52abda