Function at 0x577170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x74
call fcn.0058ee00
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax], 0x32
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x68]
xor esi, esi
lea eax, [edi + 0x164]
mov dword [edi + 0x160], esi
mov dword [eax], 0xffffffff
mov dword [ecx + 0x344], esi
mov edx, dword [edi + 0x68]
push 0x76f
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x348]
push str.....openssl_1.1.0f_ssl_t1_lib.c
push eax
mov dword [esp + 0x20], esi
call fcn.004c48d0
mov ecx, dword [edi + 0x68]
mov dword [ecx + 0x348], esi
mov edx, dword [edi + 0x68]
mov dword [edx + 0x34c], esi
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 0x350]
push 0x772
push str.....openssl_1.1.0f_ssl_t1_lib.c
push ecx
call fcn.004c48d0
mov edx, dword [edi + 0x68]
mov dword [edx + 0x350], esi
mov eax, dword [edi + 0x68]
mov dword [eax + 0x354], esi
mov esi, dword [ebp + 0xc]
add esp, 0x18
test byte [edi + 0x12c], 0x40
je 0x577222
mov ecx, esi
mov ebx, edi
call fcn.00573da0
mov ecx, dword [edi + 0x68]
mov edx, dword [ecx + 0x268]
push 0x780
push str.....openssl_1.1.0f_ssl_t1_lib.c
push edx
call fcn.004c48d0
mov ecx, dword [edi + 0x68]
xor eax, eax
mov dword [ecx + 0x268], eax
mov edx, dword [edi + 0x1fc]
lea ebx, [edi + 0x1fc]
push 0x785
push str.....openssl_1.1.0f_ssl_t1_lib.c
push edx
mov dword [edi + 0x1e4], eax
mov dword [esp + 0x30], ebx
call fcn.004c48d0
add esp, 0x18
mov dword [ebx], 0
mov dword [edi + 0x1cc], 0
cmp dword [esi + 4], 0
je 0x5778d5
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 2
jb 0x5772cb
movzx ebx, byte [eax]
movzx ecx, byte [eax + 1]
shl ebx, 8
or ecx, ebx
sub edx, 2
add eax, 2
cmp edx, ecx
jb 0x5772cb
mov ebx, eax
add eax, ecx
sub edx, ecx
jne 0x5772cb
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esp + 0x28], ebx
call fcn.005732e0
test eax, eax
jne 0x5772d7
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
cmp edx, 2
jb 0x5778c1
mov ecx, dword [esp + 0x28]
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 8
add ecx, 2
sub edx, 2
or esi, eax
mov dword [esp + 0x78], ecx
cmp edx, 2
jb 0x5772cb
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
shl eax, 8
or eax, ebx
sub edx, 2
add ecx, 2
cmp edx, eax
jb 0x5772cb
mov ebx, ecx
add ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x154]
sub edx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x57734b
mov edx, dword [edi + 0x158]
push edx
push eax
push ebx
push esi
push 0
push edi
call ecx
add esp, 0x18
cmp esi, 0xff01
jne 0x57737a
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.0058bd60
add esp, 0xc
test eax, eax
je 0x5772cb
mov dword [esp + 0x14], 1
jmp 0x5772d7
cmp dword [edi], 0x300
je 0x5772d7
test esi, esi
jne 0x577488
lea ebx, [esp + 0x30]
lea esi, [esp + 0x20]
call fcn.005726b0
test eax, eax
je 0x5772cb
cmp dword [esp + 0x34], 0
je 0x5772cb
mov eax, dword [esp + 0x30]
movzx ecx, byte [eax]
dec dword [esp + 0x34]
inc eax
mov dword [esp + 0x30], eax
test ecx, ecx
jne 0x5772cb
lea ebx, [esp + 0x38]
lea esi, [esp + 0x30]
call fcn.005726b0
test eax, eax
je 0x5772cb
cmp dword [edi + 0x78], 0
jne 0x577437
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x577871
mov edx, dword [esp + 0x38]
push eax
push 0
push edx
call sub.MSVCR90.dll_memchr
add esp, 0xc
test eax, eax
jne 0x577883
mov esi, dword [edi + 0xf0]
add esi, 0xc4
mov edi, ebx
call fcn.00585510
test eax, eax
je 0x5778af
mov eax, dword [ebp + 8]
mov dword [eax + 0x160], 1
mov edi, eax
jmp 0x5772d7
mov ecx, dword [edi + 0xf0]
mov edx, dword [ecx + 0xc4]
test edx, edx
je 0x57747b
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x577450
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.005725e0
add esp, 8
test eax, eax
je 0x57747b
mov eax, 1
mov dword [edi + 0x160], eax
jmp 0x5772d7
xor eax, eax
mov dword [edi + 0x160], eax
jmp 0x5772d7
cmp esi, 0xc
jne 0x5774e1
lea ebx, [esp + 0x40]
lea esi, [esp + 0x20]
call fcn.00572640
test eax, eax
je 0x5772cb
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push 0
push eax
call sub.MSVCR90.dll_memchr
add esp, 0xc
test eax, eax
jne 0x5772cb
mov esi, dword [esp + 0x18]
mov edi, ebx
call fcn.00585510
test eax, eax
jne 0x5772d4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xb
jne 0x577545
lea ebx, [esp + 0x58]
lea esi, [esp + 0x20]
call fcn.00572640
test eax, eax
je 0x5772cb
cmp dword [esp + 0x5c], 0
je 0x5772cb
cmp dword [edi + 0x78], 0
jne 0x5772d7
mov edi, dword [edi + 0xf0]
lea ecx, [edi + 0xc8]
push ecx
add edi, 0xcc
call fcn.005854b0
add esp, 4
test eax, eax
jne 0x5772d4
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xa
jne 0x5775a5
lea ebx, [esp + 0x60]
lea esi, [esp + 0x20]
call fcn.005726b0
test eax, eax
je 0x5772cb
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5772cb
test al, 1
jne 0x5772cb
cmp dword [edi + 0x78], 0
jne 0x5772d7
mov edi, dword [edi + 0xf0]
lea edx, [edi + 0xd0]
push edx
add edi, 0xd4
call fcn.005854b0
add esp, 4
test eax, eax
je 0x5778af
jmp 0x5772d4
cmp esi, 0x23
jne 0x5775e7
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x5772d7
mov ecx, dword [edi + 0x1b0]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push ecx
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x5772d7
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xd
jne 0x577633
lea ebx, [esp + 0x68]
lea esi, [esp + 0x20]
call fcn.005726b0
test eax, eax
je 0x5772cb
mov eax, dword [esp + 0x6c]
test al, 1
jne 0x5772cb
test eax, eax
je 0x5772cb
cmp dword [edi + 0x78], 0
jne 0x5772d7
mov edx, dword [esp + 0x68]
push eax
push edx
push edi
call fcn.00575340
add esp, 0xc
jmp 0x5772c7
cmp esi, 5
jne 0x57779d
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00572610
add esp, 8
test eax, eax
je 0x5772cb
cmp dword [esi], 1
jne 0x577792
lea ebx, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.00572670
test eax, eax
je 0x5772cb
mov ecx, dword [edi + 0x184]
push fcn.004c61e0
push ecx
call fcn.004be950
mov esi, dword [esp + 0x5c]
add esp, 8
test esi, esi
jbe 0x5776a5
call fcn.004be840
mov dword [edi + 0x184], eax
test eax, eax
je 0x577533
jmp 0x5776af
mov dword [edi + 0x184], 0
test esi, esi
jbe 0x577725
lea ebx, [esp + 0x48]
lea esi, [esp + 0x50]
call fcn.00572670
test eax, eax
je 0x5772cb
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x5772cb
mov edx, dword [esp + 0x48]
push ebx
lea eax, [esp + 0x10]
push eax
push 0
mov dword [esp + 0x18], edx
call fcn.004c61a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5772cb
mov ecx, dword [esp + 0x48]
add ebx, ecx
push esi
cmp dword [esp + 0x10], ebx
jne 0x577895
mov eax, dword [edi + 0x184]
push eax
call fcn.004be530
add esp, 8
test eax, eax
je 0x5778a6
cmp dword [esp + 0x54], 0
ja 0x5776b3
lea ebx, [esp + 0x70]
lea esi, [esp + 0x20]
call fcn.005726b0
test eax, eax
je 0x5772cb
mov esi, dword [esp + 0x74]
test esi, esi
jbe 0x5772d7
mov edx, dword [edi + 0x188]
mov ebx, dword [esp + 0x70]
push fcn.004e28e0
push edx
mov dword [esp + 0x18], ebx
call fcn.004be950
push esi
lea eax, [esp + 0x1c]
push eax
push 0
call fcn.004e2900
add esp, 0x14
mov dword [edi + 0x188], eax
test eax, eax
je 0x5772cb
add esi, ebx
cmp dword [esp + 0x10], esi
je 0x5772d7
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0xffffffff
jmp 0x5772d7
cmp esi, 0x3374
jne 0x5777c0
mov eax, dword [edi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x5777e7
mov dword [eax + 0x344], 1
jmp 0x5772d7
cmp esi, 0x10
jne 0x5777e7
mov ecx, dword [edi + 0x68]
cmp dword [ecx + 0x180], 0
jne 0x5777e7
mov edx, dword [ebp + 0x10]
push edx
push edi
lea ecx, [esp + 0x28]
call fcn.00573be0
add esp, 8
jmp 0x5772c7
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x64]
test byte [ecx + 0x34], 8
je 0x577828
push edi
call fcn.0058b7a0
add esp, 4
test eax, eax
je 0x577828
cmp esi, 0xe
jne 0x577828
mov edx, dword [ebp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
push edi
call fcn.0058b8c0
add esp, 0xc
test eax, eax
je 0x5772d7
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x16
jne 0x57783c
mov dword [edi + 0x1e4], 1
jmp 0x5772d7
cmp dword [edi + 0x78], 0
jne 0x5772d7
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
push esi
push 1
push edi
call fcn.005787c0
add esp, 0x18
test eax, eax
jg 0x5772d7
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004c61e0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.004c61e0
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
jne 0x577533
cmp dword [esp + 0x14], 0
jne 0x57791a
cmp dword [edi + 0x1e8], 0
je 0x57791a
test dword [edi + 0x12c], 0x40000
jne 0x57791a
mov eax, dword [ebp + 0x10]
push 0x902
push str.....openssl_1.1.0f_ssl_t1_lib.c
push 0x152
push 0x140
push 0x14
mov dword [eax], 0x28
call fcn.004bf2b0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret