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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x541a34]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
push 0x530b00
push 0xa7f
push str.....library_ssl_srv.c
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0xc0]
push 2
add ebx, 4
mov dword [esp + 0x34], esi
mov eax, dword [eax]
push esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
call fcn.00416cf0
mov ecx, dword [esp + 0x2c]
add esp, 0x14
mov eax, dword [ecx + 0x10]
cmp eax, 1
je 0x425971
cmp eax, 5
je 0x425971
cmp eax, 7
je 0x425971
cmp eax, 9
je 0x42595e
cmp eax, 0xa
je 0x42595e
cmp eax, 6
je 0x42520b
cmp eax, 8
jne 0x42521a
mov word [ebx], di
mov edi, 2
add ebx, 2
mov dword [esp + 0x10], edi
mov eax, dword [ecx + 0x10]
cmp eax, 2
je 0x42522b
cmp eax, 6
jne 0x425373
mov edx, dword [esi]
cmp dword [edx + 0x84], 0
je 0x42592a
cmp dword [edx + 0x90], 0
je 0x42592a
mov ecx, dword [esi + 0x3c]
add edx, 0x7c
add ecx, 0xc
call fcn.00412720
mov edi, eax
test edi, edi
jne 0x4258f4
mov edx, dword [esi]
mov ecx, dword [esi + 0x3c]
add edx, 0x88
add ecx, 0x18
call fcn.00412720
mov edi, eax
test edi, edi
jne 0x4258f4
mov edi, dword [esi + 0x3c]
lea ecx, [edi + 0xc]
call fcn.00412a80
lea ecx, [edi + 8]
lea edx, [eax + 7]
mov eax, dword [esi]
shr edx, 3
push dword [eax + 0x1c]
push dword [eax + 0x18]
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.00419780
mov edi, eax
add esp, 0x10
mov ecx, esi
test edi, edi
je 0x4252e2
push edi
push str.mbedtls_dhm_make_params
push 0xadc
push str.....library_ssl_srv.c
mov edx, 1
call fcn.00416d80
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
add ebx, eax
mov eax, dword [esi + 0x3c]
add eax, 0x24
mov dword [esp + 0x10], edi
push eax
push str.DHM:_X
push 0xae6
push str.....library_ssl_srv.c
call fcn.00417100
mov eax, dword [esi + 0x3c]
mov ecx, esi
add eax, 0xc
push eax
push str.DHM:_P
push 0xae7
push str.....library_ssl_srv.c
call fcn.00417100
mov eax, dword [esi + 0x3c]
mov ecx, esi
add eax, 0x18
push eax
push str.DHM:_G
push 0xae8
push str.....library_ssl_srv.c
call fcn.00417100
mov eax, dword [esi + 0x3c]
mov ecx, esi
add eax, 0x30
push eax
push str.DHM:_GX
push 0xae9
push str.....library_ssl_srv.c
call fcn.00417100
mov ecx, dword [esp + 0x58]
add esp, 0x40
mov eax, dword [ecx + 0x10]
cmp eax, 3
je 0x425389
cmp eax, 4
je 0x425389
cmp eax, 8
jne 0x4254df
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
mov ecx, dword [edx]
test ecx, ecx
je 0x4258c0
mov eax, dword [esi + 0x3c]
mov esi, dword [eax + 0x1b8]
mov edi, esi
mov eax, dword [edi]
test eax, eax
je 0x4253be
nop dword [eax]
cmp dword [eax], ecx
je 0x4253c8
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
jne 0x4253b0
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jne 0x4253a1
mov eax, dword [edi]
mov esi, dword [esp + 0x24]
test eax, eax
je 0x4258c0
push dword [eax + 8]
push str.ECDHE_curve:__s
push 0xb0b
push str.....library_ssl_srv.c
push 2
push esi
call fcn.00416cf0
mov edx, dword [edi]
add esp, 0x18
mov ecx, dword [esi + 0x3c]
add ecx, 0x84
mov edx, dword [edx]
call fcn.0042e2d0
mov edi, eax
test edi, edi
je 0x425441
push edi
push str.mbedtls_ecp_group_load
push 0xb10
push str.....library_ssl_srv.c
mov edx, 1
mov ecx, esi
call fcn.00416d80
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
lea edx, [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
add ecx, 0x84
push dword [eax + 0x1c]
push dword [eax + 0x18]
mov eax, 0x4000
sub eax, edi
push eax
push ebx
call fcn.00410ed0
add esp, 0x10
mov dword [esp + 0x24], eax
mov ecx, esi
test eax, eax
je 0x4254ab
push eax
push str.mbedtls_ecdh_make_params
push 0xb18
push str.....library_ssl_srv.c
mov edx, 1
call fcn.00416d80
mov eax, dword [esp + 0x34]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
add edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
add ebx, eax
mov eax, dword [esi + 0x3c]
add eax, 0x10c
push eax
push str.ECDH:_Q
push 0xb22
push str.....library_ssl_srv.c
call fcn.00417040
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [ecx + 0x10]
cmp eax, 2
je 0x4254f5
cmp eax, 3
je 0x4254f5
cmp eax, 4
jne 0x425842
cmp dword [esi + 0x14], 3
mov dword [esp + 0x14], 0
jne 0x425549
mov eax, dword [esi + 0x3c]
mov cl, byte [eax]
call fcn.0040c1f0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x425556
push str.should_never_happen
push 0xb3c
push str.....library_ssl_srv.c
push 1
push esi
call fcn.00416cf0
add esp, 0x14
mov eax, 0xffff9400
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x425634
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
mov ecx, eax
movq qword [esp + 0x2c], xmm0
mov dword [esp + 0x10], 0
call fcn.00410800
push 0
mov edx, eax
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x30]
call fcn.004108c0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4255ca
push eax
push str.mbedtls_md_setup
push 0xb90
push str.....library_ssl_srv.c
mov edx, 1
mov ecx, esi
call fcn.00416d80
mov eax, dword [esp + 0x34]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x2c]
call fcn.00410920
mov edx, dword [esi + 0x3c]
lea ecx, [esp + 0x2c]
push 0x40
add edx, 0x41c
call fcn.00410940
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
add esp, 4
push dword [esp + 0x1c]
call fcn.00410940
add esp, 4
lea edx, [esp + 0xf0]
lea ecx, [esp + 0x2c]
call fcn.00410970
lea ecx, [esp + 0x2c]
call fcn.00410860
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x425629
xor al, al
movzx eax, al
jmp 0x42570c
mov al, byte [eax + 8]
movzx eax, al
jmp 0x42570c
push 0x58
lea eax, [esp + 0x3c]
mov dword [esp + 0x1c], 0
push 0
push eax
call fcn.004d6720
add esp, 0xc
lea eax, [esp + 0x90]
push 0x5c
push 0
push eax
call fcn.004d6720
add esp, 0xc
lea ecx, [esp + 0x38]
call fcn.004152c0
mov edx, dword [esi + 0x3c]
push 0x40
add edx, 0x41c
call fcn.00415ba0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
add esp, 4
push dword [esp + 0x1c]
call fcn.00415ba0
add esp, 4
lea edx, [esp + 0xf0]
lea ecx, [esp + 0x38]
call fcn.00415c50
lea ecx, [esp + 0x90]
call fcn.00418100
mov edx, dword [esi + 0x3c]
push 0x40
add edx, 0x41c
call fcn.00419280
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x94]
add esp, 4
push dword [esp + 0x1c]
call fcn.00419280
add esp, 4
lea edx, [esp + 0x100]
lea ecx, [esp + 0x90]
call fcn.00419330
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], 0x24
call fcn.004152a0
lea ecx, [esp + 0x90]
call fcn.004180e0
mov eax, 0x24
push eax
lea eax, [esp + 0xf4]
mov edx, 3
push eax
push str.parameters_hash
push 0xba3
push str.....library_ssl_srv.c
mov ecx, esi
call fcn.00416e10
add esp, 0x14
mov ecx, esi
call fcn.0041e8e0
test eax, eax
jne 0x425772
push str.got_no_private_key
push 0xbaa
push str.....library_ssl_srv.c
push 1
push esi
call fcn.00416cf0
add esp, 0x14
mov eax, 0xffff8a00
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14], 3
jne 0x425796
mov eax, dword [esi + 0x3c]
mov ecx, esi
mov al, byte [eax]
mov byte [ebx], al
call fcn.0041e8e0
mov ecx, eax
call fcn.0040c190
mov byte [ebx + 1], al
add ebx, 2
add edi, 2
mov eax, dword [esi]
mov ecx, esi
push dword [eax + 0x1c]
push dword [eax + 0x18]
lea eax, [esp + 0x1c]
push eax
lea eax, [ebx + 2]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x104]
push eax
call fcn.0041e8e0
mov edx, dword [esp + 0x30]
mov ecx, eax
call fcn.0040e0b0
add esp, 0x18
mov dword [esp + 0x28], eax
test eax, eax
je 0x425808
push eax
push str.mbedtls_pk_sign
push 0xbbc
push str.....library_ssl_srv.c
mov edx, 1
mov ecx, esi
call fcn.00416d80
mov eax, dword [esp + 0x38]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov edx, 3
mov eax, ecx
shr eax, 8
push ecx
mov byte [ebx], al
lea eax, [ebx + 2]
push eax
push str.my_signature
mov byte [ebx + 1], cl
mov ecx, esi
push 0xbc4
push str.....library_ssl_srv.c
call fcn.00416e10
mov eax, dword [esp + 0x28]
add esp, 0x14
add eax, 2
add edi, eax
lea eax, [edi + 4]
mov dword [esi + 0xc4], 0x16
mov dword [esi + 0xc8], eax
mov ecx, esi
mov eax, dword [esi + 0xc0]
mov byte [eax], 0xc
inc dword [esi + 4]
call fcn.00407b30
mov edi, eax
test edi, edi
je 0x4258a4
push edi
push str.mbedtls_ssl_write_record
push 0xbd4
push str.....library_ssl_srv.c
mov edx, 1
mov ecx, esi
call fcn.00416d80
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
push str.__write_server_key_exchange
push 0xbd8
push str.....library_ssl_srv.c
push 2
push esi
call fcn.00416cf0
jmp 0x42598b
push str.no_matching_curve_for_ECDHE
push 0xb07
push str.....library_ssl_srv.c
push 1
push esi
call fcn.00416cf0
add esp, 0x14
mov eax, 0xffff8c80
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
push edi
push str.mbedtls_mpi_copy
push 0xad4
push str.....library_ssl_srv.c
mov edx, 1
mov ecx, esi
call fcn.00416d80
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
push str.no_DH_parameters_set
push 0xac4
push str.....library_ssl_srv.c
push 1
push esi
call fcn.00416cf0
add esp, 0x14
mov eax, 0xffff8f00
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00425090
push str.__skip_write_server_key_exchange
push 0xa95
jmp 0x42597b
push str.__skip_write_server_key_exchange
push 0xa88
push str.....library_ssl_srv.c
push 2
push esi
call fcn.00416cf0
inc dword [esi + 4]
mov ecx, dword [esp + 0x148]
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004d219c
mov esp, ebp
pop ebp
ret