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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
push 0x58bc8c
push 0x110a
mov eax, dword [esi + 0x4c]
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 2
push esi
mov edi, dword [eax]
mov eax, dword [esi]
mov dword [esp + 0x30], edi
mov ebx, dword [eax + 0xcc]
shr ebx, 2
and ebx, 3
call fcn.00475430
mov ecx, dword [edi + 0x10]
add esp, 0x14
cmp ecx, 5
je 0x46ad1f
cmp ecx, 6
je 0x46ad1f
cmp ecx, 8
je 0x46ad1f
cmp ecx, 0xb
je 0x46ad1f
mov eax, dword [esi]
mov edx, dword [eax + 0xcc]
and edx, 1
je 0x46a5f7
cmp ecx, 7
jne 0x46a5f7
push str.__skip_parse_certificate
push 0x111a
jmp 0x46ad29
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x1c8]
cmp eax, 3
cmovne ebx, eax
test edx, edx
je 0x46a627
test ebx, ebx
jne 0x46a627
mov eax, dword [esi + 0x38]
push str.__skip_parse_certificate
push 0x1128
mov dword [eax + 0x68], 0x80
jmp 0x46ad29
mov ecx, esi
call fcn.00469c00
mov edi, eax
test edi, edi
je 0x46a65c
push edi
push str.mbedtls_ssl_read_record
push 0x1132
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
mov edx, 1
mov ecx, esi
call fcn.004754f0
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
inc dword [esi + 4]
mov edx, dword [eax + 0xcc]
test dl, 1
je 0x46a6e5
cmp dword [esi + 0x14], 0
je 0x46a6e5
mov ecx, edx
and ecx, 2
lea eax, [ecx*4]
or eax, 7
cmp dword [esi + 0xa0], eax
jne 0x46a6e5
cmp dword [esi + 0x78], 0x16
jne 0x46a6eb
mov eax, dword [esi + 0x70]
cmp byte [eax], 0xb
jne 0x46a6e5
or ecx, 1
lea ecx, [eax + ecx*4]
movzx eax, word [ecx]
test ax, ax
jne 0x46a6e5
movzx eax, byte [ecx + 2]
test al, al
jne 0x46a6e5
push str.TLSv1_client_has_no_certificate
push 0x115d
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
mov ecx, dword [esi + 0x38]
dec ebx
add esp, 0x14
neg ebx
sbb ebx, ebx
and ebx, 0xffff8b80
mov dword [ecx + 0x68], 0x40
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x78], 0x16
je 0x46a71f
push str.bad_certificate_message
push 0x116f
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov dl, 2
mov ecx, esi
push 0xa
call fcn.0046a220
add esp, 4
mov eax, 0xffff8900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x70]
cmp byte [ecx], 0xb
jne 0x46aceb
and edx, 2
mov eax, 0
setne al
lea eax, [eax*8 + 0xa]
cmp dword [esi + 0xa0], eax
jb 0x46aceb
mov eax, edx
or eax, 1
shl eax, 2
mov dword [esp + 0xc], eax
add eax, ecx
cmp byte [eax], 0
jne 0x46acb7
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
lea eax, [edx*4]
or eax, 7
add ecx, eax
cmp dword [esi + 0xa0], ecx
jne 0x46acb7
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x46a7a2
call fcn.00464e40
mov eax, dword [esi + 0x38]
push dword [eax + 0x64]
call fcn.00529d29
add esp, 4
push 0x138
push 1
call fcn.0052fab7
mov ecx, dword [esi + 0x38]
add esp, 8
mov dword [ecx + 0x64], eax
push 0x138
test eax, eax
jne 0x46a7f1
push str.alloc__d_bytes__failed
push 0x1199
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
push 0x50
mov dl, 2
mov ecx, esi
call fcn.0046a220
add esp, 0x1c
mov eax, 0xffff8100
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
push 0
push dword [eax + 0x64]
call fcn.00525340
mov ecx, dword [esp + 0x18]
add esp, 0xc
add ecx, 3
cmp ecx, dword [esi + 0xa0]
jae 0x46a8ac
nop dword [eax]
nop dword [eax + eax]
mov edi, dword [esi + 0x70]
cmp byte [edi + ecx], 0
jne 0x46a992
movzx edx, byte [edi + ecx + 1]
movzx eax, byte [edi + ecx + 2]
add ecx, 3
shl edx, 8
or edx, eax
cmp edx, 0x80
jb 0x46a95e
lea eax, [edx + ecx]
mov dword [esp + 0xc], eax
cmp eax, dword [esi + 0xa0]
ja 0x46a95e
push edx
lea edx, [edi + ecx]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + 0x64]
call fcn.00462eb0
mov edi, eax
add esp, 4
cmp edi, 0xffffda80
jg 0x46a894
je 0x46a91a
cmp edi, 0xffffd780
je 0x46a913
cmp edi, 0xffffd9d2
jmp 0x46a896
test edi, edi
jne 0x46a921
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esi + 0xa0]
jb 0x46a820
mov eax, dword [esi + 0x38]
mov ecx, esi
push dword [eax + 0x64]
push str.peer_certificate
push 0x11d6
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
call fcn.00475af0
mov ecx, dword [esi]
add esp, 0x10
test byte [ecx + 0xcc], 1
jne 0x46aa3a
cmp dword [esi + 8], 1
jne 0x46aa3a
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jne 0x46a9c6
push str.new_server_cert_during_renegotiation
push 0x11e2
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
push 0x31
jmp 0x46ad07
mov byte [esp + 0xc], 0x50
jmp 0x46a926
mov byte [esp + 0xc], 0x2b
jmp 0x46a926
mov byte [esp + 0xc], 0x2a
push dword [esp + 0xc]
mov dl, 2
mov ecx, esi
call fcn.0046a220
add esp, 4
mov edx, 1
mov ecx, esi
push edi
push str._mbedtls_x509_crt_parse_der
push 0x11cf
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
call fcn.004754f0
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.bad_certificate_message
push 0x11b3
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov dl, 2
mov ecx, esi
push 0x32
call fcn.0046a220
add esp, 4
mov eax, 0xffff8600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.bad_certificate_message
push 0x11a7
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov dl, 2
mov ecx, esi
push 0x32
call fcn.0046a220
add esp, 4
mov eax, 0xffff8600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
mov edx, dword [eax + 0x64]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x46aa5b
mov ecx, dword [ecx + 8]
sub eax, 4
mov edx, dword [edx + 8]
mov dword [esp + 0xc], eax
jb 0x46aa00
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46aa05
mov eax, dword [esp + 0xc]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [esp + 0xc], eax
jae 0x46a9e7
cmp eax, 0xfffffffc
je 0x46aa38
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46aa5b
cmp dword [esp + 0xc], 0xfffffffd
je 0x46aa38
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46aa5b
cmp dword [esp + 0xc], 0xfffffffe
je 0x46aa38
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46aa5b
cmp dword [esp + 0xc], 0xffffffff
je 0x46aa38
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x46aa5b
mov ecx, dword [esi]
test ebx, ebx
je 0x46ac94
mov eax, dword [esi + 0x3c]
mov edx, dword [eax + 0x1d0]
mov dword [esp + 0xc], edx
test edx, edx
je 0x46aa6a
mov edi, dword [eax + 0x1d4]
jmp 0x46aa74
push str.server_cert_changed_during_renegotiation
push 0x11ee
jmp 0x46a8fc
mov edx, dword [ecx + 0x6c]
mov edi, dword [ecx + 0x70]
mov dword [esp + 0xc], edx
mov eax, dword [esi]
mov ecx, dword [esi + 0x38]
push dword [eax + 0x38]
push dword [eax + 0x34]
lea eax, [ecx + 0x68]
mov ecx, dword [ecx + 0x64]
push eax
mov eax, dword [esi]
push dword [esi + 0xd8]
push dword [eax + 0x64]
push edi
call fcn.00464af0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x46aabf
push edi
push str.x509_verify_cert
push 0x1215
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
mov edx, 1
mov ecx, esi
call fcn.004754f0
add esp, 0x10
mov eax, dword [esi + 0x38]
mov edx, 2
mov eax, dword [eax + 0x64]
add eax, 0xbc
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.00470390
test eax, eax
je 0x46ab20
mov edx, dword [esp + 0x10]
mov ecx, esi
mov edx, dword [edx + 4]
mov edx, dword [edx]
call fcn.0046cf90
test eax, eax
je 0x46ab20
mov eax, dword [esi + 0x38]
push str.bad_certificate__EC_key_curve_
push 0x1226
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
or dword [eax + 0x68], 0x10000
push 1
push esi
call fcn.00475430
add esp, 0x14
mov eax, 0xffff8600
test edi, edi
cmove edi, eax
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 0x68]
mov ecx, dword [ecx + 0x64]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xcc]
not eax
and eax, 1
push eax
call fcn.0046cfc0
add esp, 8
test eax, eax
je 0x46ab6c
push str.bad_certificate__usage_extensions_
push 0x1232
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov eax, 0xffff8600
test edi, edi
cmove edi, eax
cmp ebx, 1
jne 0x46ab83
cmp edi, 0xffffd900
je 0x46ab81
cmp edi, 0xffff8600
jne 0x46ab83
xor edi, edi
cmp dword [esp + 0xc], 0
jne 0x46abb0
cmp ebx, 2
jne 0x46abb0
push str.got_no_CA_chain
push 0x1246
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov edi, 0xffff8980
jmp 0x46abb8
test edi, edi
je 0x46ac53
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0x68]
test eax, 0x100
je 0x46abcc
mov byte [esp + 0xc], 0x31
jmp 0x46ac43
test al, 4
je 0x46abd7
mov byte [esp + 0xc], 0x2a
jmp 0x46ac43
test eax, 0x800
je 0x46abe5
mov byte [esp + 0xc], 0x2b
jmp 0x46ac43
test eax, 0x1000
je 0x46abf3
mov byte [esp + 0xc], 0x2b
jmp 0x46ac43
test eax, 0x2000
je 0x46ac01
mov byte [esp + 0xc], 0x2b
jmp 0x46ac43
test eax, 0x8000
je 0x46ac0f
mov byte [esp + 0xc], 0x2b
jmp 0x46ac43
test eax, 0x10000
je 0x46ac1d
mov byte [esp + 0xc], 0x2b
jmp 0x46ac43
test al, 1
je 0x46ac28
mov byte [esp + 0xc], 0x2d
jmp 0x46ac43
test al, 2
je 0x46ac33
mov byte [esp + 0xc], 0x2c
jmp 0x46ac43
test al, 8
setne al
lea eax, [eax*2 + 0x2e]
mov byte [esp + 0xc], al
push dword [esp + 0xc]
mov dl, 2
mov ecx, esi
call fcn.0046a220
add esp, 4
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x46ac7a
push eax
push str.__Certificate_verification_flags__x
push 0x126d
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 3
push esi
call fcn.00475430
add esp, 0x18
jmp 0x46ac94
push str.Certificate_verification_flags_clear
push 0x1271
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 3
push esi
call fcn.00475430
add esp, 0x14
push str.__parse_certificate
push 0x1276
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 2
push esi
call fcn.00475430
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.bad_certificate_message
push 0x1188
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
mov dl, 2
mov ecx, esi
push 0x32
call fcn.0046a220
add esp, 4
mov eax, 0xffff8600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.bad_certificate_message
push 0x1178
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 1
push esi
call fcn.00475430
add esp, 0x14
push 0x32
mov dl, 2
mov ecx, esi
call fcn.0046a220
add esp, 4
mov eax, 0xffff8600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.__skip_parse_certificate
push 0x1111
push str.c:projectswiperinstallerlibsmbedtls_2.7.0library_ssl_tls.c
push 2
push esi
call fcn.00475430
inc dword [esi + 4]
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret