Function at 0x63321345
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [esp + 0x10], 0x633f5420
mov dword [esp + 0xc], 0xaa2
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 2
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 2
jne 0x633215b1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
shr eax, 8
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
add eax, 4
mov byte [eax], dl
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
add eax, 5
mov byte [eax], dl
mov dword [ebp - 0x1c], 6
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edi, dword [eax + 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea ebx, [edx + eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x10
mov dword [esp], eax
call fcn.632f8330
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0xc
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.633007e0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321470
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.mbedtls_dhm_make_public
mov dword [esp + 0xc], 0xab6
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x28
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f5455
mov dword [esp + 0xc], 0xaba
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331bac1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x34
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f545d
mov dword [esp + 0xc], 0xabb
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331bac1
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
lea ecx, [eax + 0x418]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
lea edx, [eax + 0x45c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0xc
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x424
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.63300c31
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321574
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f5465
mov dword [esp + 0xc], 0xac3
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x4c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f547d
mov dword [esp + 0xc], 0xac7
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331bac1
jmp 0x63321c68
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 3
je 0x633215e1
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 4
je 0x633215e1
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 9
je 0x633215e1
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 0xa
jne 0x63321787
mov dword [ebp - 0x1c], 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x3c]
add edx, 0x88
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 8], eax
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.633016d3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321678
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.mbedtls_ecdh_make_public
mov dword [esp + 0xc], 0xadf
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x110
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f549e
mov dword [esp + 0xc], 0xae3
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b9d3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
lea ecx, [eax + 0x45c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
lea edx, [eax + 0x418]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x88
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.633017d7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321748
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f54a6
mov dword [esp + 0xc], 0xaeb
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x158
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f54bf
mov dword [esp + 0xc], 0xaef
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331bac1
jmp 0x63321c68
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 5
je 0x633217b7
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 7
je 0x633217b7
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 6
je 0x633217b7
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 8
jne 0x63321bef
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x633217d5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6332180a
mov dword [esp + 0x10], str.got_no_private_key_for_PSK
mov dword [esp + 0xc], 0xb01
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0xffff8a00
jmp 0x63321d1c
mov dword [ebp - 0x1c], 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add eax, edx
add eax, 2
cmp eax, 0x4000
jbe 0x63321866
mov dword [esp + 0x10], str.psk_identity_too_long_or_SSL_buffer_too_short
mov dword [esp + 0xc], 0xb0b
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0xffff9600
jmp 0x63321d1c
mov eax, dword [ebp - 0x28]
shr eax, 8
mov ebx, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov dword [ebp - 0x1c], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov dword [ebp - 0x1c], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0xa0]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
add eax, ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcr100.dll_memcpy
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0xa0]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 5
jne 0x633218fa
mov dword [ebp - 0x28], 0
jmp 0x63321b93
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 7
jne 0x6332193b
mov dword [esp + 0xc], 2
lea eax, [ebp - 0x28]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331fc2e
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321b93
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 6
jne 0x63321a7f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add eax, edx
add eax, 2
cmp eax, 0x4000
jbe 0x6332199d
mov dword [esp + 0x10], str.psk_identity_or_DHM_size_too_long_or_SSL_buffer_too_short
mov dword [esp + 0xc], 0xb2f
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0xffff9600
jmp 0x63321d1c
mov eax, dword [ebp - 0x28]
shr eax, 8
mov ebx, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov dword [ebp - 0x1c], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov dword [ebp - 0x1c], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edi, dword [eax + 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
lea ebx, [edx + eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x10
mov dword [esp], eax
call fcn.632f8330
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0xc
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.633007e0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321b93
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.mbedtls_dhm_make_public
mov dword [esp + 0xc], 0xb3c
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 8
jne 0x63321b5e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov eax, 0x4000
sub eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc0]
mov edx, dword [ebp - 0x1c]
add ecx, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x3c]
add edx, 0x88
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.633016d3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321b22
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.mbedtls_ecdh_make_public
mov dword [esp + 0xc], 0xb4d
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
add eax, 0x110
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f549e
mov dword [esp + 0xc], 0xb51
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b9d3
jmp 0x63321b93
mov dword [esp + 0x10], 0x633f4ff7
mov dword [esp + 0xc], 0xb56
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0xffff9400
jmp 0x63321d1c
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.632e50d2
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321c68
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f5550
mov dword [esp + 0xc], 0xb5d
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 1
jne 0x63321c33
mov dword [ebp - 0x1c], 4
mov dword [esp + 0xc], 0
lea eax, [ebp - 0x28]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331fc2e
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321c68
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov dword [esp + 0x10], 0x633f4ff7
mov dword [esp + 0xc], 0xb87
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0xffff9400
jmp 0x63321d1c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xc8], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0xc4], 0x16
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
mov byte [eax], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.632e84bf
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x63321cec
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x633f49d5
mov dword [esp + 0xc], 0xb93
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b645
mov eax, dword [ebp - 0x24]
jmp 0x63321d1c
mov dword [esp + 0x10], str.__write_client_key_exchange
mov dword [esp + 0xc], 0xb97
mov dword [esp + 8], str.ssl_cli.c
mov dword [esp + 4], 2
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6331b580
mov eax, 0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret