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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x4a6c85
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x4a6c85
mov edx, dword [esp + 0x78]
test edx, edx
je 0x4a6c85
mov edi, str.SUITEB128ONLY
mov ecx, 0xd
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4a6c8f
xor esi, esi
mov ecx, 0x10000
mov edx, dword [eax + 0x38]
and edx, 0xfffcffff
or edx, ecx
mov dword [eax + 0x38], edx
mov edx, dword [ebx + 0x64]
mov edx, dword [edx + 0x38]
test dl, 0x10
jne 0x4a6cdd
and edx, 8
je 0x4a7518
mov dword [esp + 0x10], 0x59a
mov dword [esp + 0xc], str.ssl_ciph.c
mov dword [esp + 8], 0x183
mov dword [esp + 4], 0x14b
mov dword [esp], 0x14
call fcn.004f0560
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, str.SUITEB128C2
mov ecx, 0xb
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
je 0x4a7509
mov edi, str.SUITEB128
mov ecx, 9
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
je 0x4a7549
mov edi, str.SUITEB192
mov ecx, 9
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4a768a
xor esi, esi
mov ecx, 0x20000
jmp 0x4a6c33
cmp ecx, 0x20000
je 0x4a755d
cmp ecx, 0x30000
je 0x4a7555
cmp ecx, 0x10000
jne 0x4a6d05
mov dword [esp + 0x7c], str.ECDHE_ECDSA_AES128_GCM_SHA256
mov dword [eax + 0x34], 1
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x66417e
lea ebp, [esp + 0x48]
mov dword [esp], ebp
call fcn.005187d0
test eax, eax
je 0x4a6d74
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00518b10
test eax, eax
jle 0x4a75dd
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4a6d84
mov dword [esp], eax
call fcn.004e3d60
mov eax, dword [esp + 0x4c]
cmp eax, 1
sbb edi, edi
and edi, 0x100
add edi, 0x200
cmp eax, 1
sbb esi, esi
and esi, 0x100
add esi, 0x220
mov dword [esp + 0x24], esi
cmp eax, 1
sbb esi, esi
and esi, 0x100
add esi, 0x20
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x664144
mov dword [esp], ebp
call fcn.005187d0
test eax, eax
je 0x4a6e20
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00518b10
test eax, eax
jle 0x4a7610
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4a6e30
mov dword [esp], eax
call fcn.004e3d60
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4a756a
cmp edi, 0x300
jne 0x4a756e
mov dword [esp + 0x3c], 0xfffffdef
mov edi, 0x210
xor eax, eax
mov ecx, dword [0x6e56e0]
test ecx, ecx
sete al
cmp dword [0x6e56e4], 1
sbb edx, edx
and edx, 2
or edx, eax
cmp dword [0x6e56e8], 1
sbb eax, eax
and eax, 4
or edx, eax
cmp dword [0x6e56ec], 1
sbb eax, eax
and eax, 8
or edx, eax
cmp dword [0x6e56f0], 1
sbb eax, eax
and eax, 0x10
or edx, eax
cmp dword [0x6e56f8], 1
sbb eax, eax
and eax, 0x40
or edx, eax
cmp dword [0x6e56fc], 1
sbb eax, eax
and eax, 0x80
or edx, eax
cmp dword [0x6e5710], 1
sbb eax, eax
and eax, 0x1000
or edx, eax
cmp dword [0x6e5714], 1
sbb eax, eax
and eax, 0x2000
or edx, eax
cmp dword [0x6e5700], 1
sbb eax, eax
and eax, 0x100
or edx, eax
cmp dword [0x6e5704], 1
sbb eax, eax
and eax, 0x200
or edx, eax
cmp dword [0x6e5708], 1
sbb eax, eax
and eax, 0x400
or eax, edx
cmp dword [0x6e570c], 1
sbb edx, edx
and edx, 0x800
or eax, edx
mov dword [esp + 0x28], eax
xor eax, eax
mov esi, dword [0x6e56b8]
test esi, esi
sete al
cmp dword [0x6e56bc], 1
sbb edx, edx
and edx, 2
or edx, eax
cmp dword [0x6e56c8], 1
sbb eax, eax
and eax, 0x10
or edx, eax
cmp dword [0x6e56cc], 1
sbb eax, eax
and eax, 0x20
or edx, eax
cmp dword [0x6e56c0], 1
sbb eax, eax
and eax, 4
or eax, edx
mov ebp, dword [0x6e56c4]
test ebp, ebp
je 0x4a7680
cmp dword [0x635070], 1
sbb edx, edx
and edx, 8
or eax, edx
mov dword [esp + 0x38], eax
call dword [ebx + 0x54]
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 8], 0x5e4
mov dword [esp + 4], str.ssl_ciph.c
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp], eax
call fcn.004b7b20
mov dword [esp + 0x30], eax
test eax, eax
je 0x4a76c5
test esi, esi
jle 0x4a70a4
xor esi, esi
mov dword [esp + 0x34], esi
mov ebp, edi
mov edi, ebx
mov ebx, dword [esp + 0x2c]
nop
lea esi, [esi]
mov dword [esp], esi
call dword [edi + 0x58]
test eax, eax
je 0x4a7030
mov edx, dword [eax]
test edx, edx
je 0x4a7030
test dword [eax + 0xc], ebp
jne 0x4a7030
mov ecx, dword [esp + 0x24]
test dword [eax + 0x10], ecx
jne 0x4a7030
mov ecx, dword [esp + 0x28]
test dword [eax + 0x14], ecx
jne 0x4a7030
mov ecx, dword [esp + 0x38]
test dword [eax + 0x18], ecx
jne 0x4a7030
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x30]
lea ecx, [edx + ecx*4]
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], 0
inc dword [esp + 0x34]
lea esi, [esi]
inc esi
cmp esi, ebx
jne 0x4a6fd0
mov esi, dword [esp + 0x34]
test esi, esi
je 0x4a70a4
mov edi, dword [esp + 0x30]
mov eax, edi
mov dword [edi + 0x10], 0
cmp esi, 1
je 0x4a75d6
add eax, 0x14
mov dword [edi + 0xc], eax
cmp esi, 2
je 0x4a7080
mov edi, dword [esp + 0x30]
mov eax, edi
lea edx, [esi + esi*4]
lea ecx, [edi + edx*4 - 0x28]
nop
lea esi, [esi]
mov dword [eax + 0x24], eax
lea edx, [eax + 0x28]
mov dword [eax + 0x20], edx
add eax, 0x14
cmp eax, ecx
jne 0x4a7070
lea edx, [esi + esi*4]
shl edx, 2
mov edi, dword [esp + 0x30]
lea eax, [edi + edx - 0x14]
lea edx, [edi + edx - 0x28]
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
mov eax, pe_nt_image_headers32
call fcn.004a5a10
lea eax, [esp + 0x44]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
mov eax, pe_nt_image_headers32
call fcn.004a5a10
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 1
xor ecx, ecx
mov edx, 0x30c0
xor eax, eax
call fcn.004a5740
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4a76b7
mov ebx, ecx
test esi, esi
je 0x4a71d0
mov eax, esi
jmp 0x4a717a
cmp ecx, eax
je 0x4a71d0
mov eax, edx
test edx, edx
je 0x4a71d0
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 4]
test edi, edi
jne 0x4a7170
cmp eax, ebx
je 0x4a71b7
cmp eax, esi
je 0x4a7630
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4a7629
mov dword [edi + 0xc], edx
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x4a71a8
mov dword [ebp + 0x10], edi
mov dword [ebx + 0xc], eax
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], 0
mov ebx, eax
mov dword [eax + 4], 1
cmp ecx, eax
jne 0x4a7174
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 4
mov ecx, 1
xor edx, edx
xor eax, eax
call fcn.004a5740
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 4
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.004a5740
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 4
xor ecx, ecx
xor edx, edx
mov eax, 0x10
call fcn.004a5740
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 1
call fcn.004a55c0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 0x100
call fcn.004a55c0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 0x10
call fcn.004a55c0
lea eax, [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 4
xor ecx, ecx
mov edx, 4
xor eax, eax
call fcn.004a5740
lea edx, [esp + 0x44]
lea eax, [esp + 0x40]
call fcn.004a5d70
test eax, eax
je 0x4a75c0
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
test ecx, ecx
je 0x4a76be
mov ebx, ecx
test ebp, ebp
je 0x4a7360
mov eax, ebp
jmp 0x4a730a
cmp ecx, eax
je 0x4a7360
mov eax, edx
test edx, edx
je 0x4a7360
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 4]
test esi, esi
je 0x4a7300
cmp eax, ebx
je 0x4a7347
cmp eax, ebp
je 0x4a763e
mov esi, dword [eax + 0xc]
test esi, esi
je 0x4a7637
mov dword [esi + 0x10], edx
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4a7338
mov dword [edi + 0xc], esi
mov dword [ebx + 0x10], eax
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0
mov ebx, eax
mov dword [eax + 4], 0
cmp ecx, eax
jne 0x4a7304
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 8], 0x635
mov dword [esp + 4], str.ssl_ciph.c
mov eax, dword [esp + 0x2c]
lea eax, [eax*4 + 0x154]
mov dword [esp], eax
call fcn.004b7b20
mov dword [esp + 0x34], eax
test eax, eax
je 0x4a76f6
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
not ebp
mov edi, dword [esp + 0x28]
not edi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x38]
not edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
test eax, eax
je 0x4a73ce
lea esi, [esi]
mov edx, dword [eax]
mov dword [edi], edx
add edi, 4
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4a73c0
mov eax, 0x6646a0
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x3c]
nop
lea esi, [esi]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
test edx, edx
je 0x4a73f4
test edx, ebp
je 0x4a7417
test ecx, ecx
je 0x4a73fe
test dword [esp + 0x24], ecx
je 0x4a7417
test ebx, ebx
je 0x4a7408
test dword [esp + 0x28], ebx
je 0x4a7417
test esi, esi
je 0x4a7412
test dword [esp + 0x2c], esi
je 0x4a7417
mov dword [edi], eax
add edi, 4
add eax, 0x30
cmp eax, 0x665660
jne 0x4a73e0
mov dword [edi], 0
mov edi, str.DEFAULT
mov ecx, 7
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
je 0x4a7580
mov eax, dword [esp + 0x7c]
cmp byte [eax], 0
jne 0x4a7645
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004b8030
call fcn.004ebd40
mov esi, eax
test eax, eax
je 0x4a75c0
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x4a7477
jmp 0x4a7493
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x4a7493
mov eax, dword [ebx + 4]
test eax, eax
je 0x4a7470
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004ec210
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4a7477
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004b8030
mov dword [esp], esi
call fcn.004eba70
mov ebx, eax
test eax, eax
je 0x4a770c
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
test eax, eax
je 0x4a74c3
mov dword [esp], eax
call fcn.004ec510
mov eax, dword [esp + 0x74]
mov dword [eax], esi
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
test eax, eax
je 0x4a74db
mov dword [esp], eax
call fcn.004ec510
mov eax, dword [esp + 0x78]
mov dword [eax], ebx
mov dword [esp + 4], 0x49bf50
mov dword [esp], ebx
call fcn.004eba50
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004ec5d0
mov eax, esi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 1
mov ecx, 0x30000
jmp 0x4a6c33
mov dword [esp + 0x10], 0x59d
mov dword [esp + 0xc], str.ssl_ciph.c
mov dword [esp + 8], 0x17b
mov dword [esp + 4], 0x14b
mov dword [esp], 0x14
call fcn.004f0560
jmp 0x4a6c85
xor esi, esi
mov ecx, 0x30000
jmp 0x4a6c33
test esi, esi
je 0x4a76aa
mov dword [esp + 0x7c], str.ECDHE_ECDSA_AES256_GCM_SHA384
jmp 0x4a6d05
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0xffffffef
mov edi, 0x10
jmp 0x4a6e55
mov eax, dword [esp + 0x34]
mov dword [esp], eax
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, str.ALL:_EXPORT:_LOW:_aNULL:_eNULL:_SSLv2
call fcn.004a5f80
mov edi, dword [esp + 0x7c]
cmp byte [edi + 7], 0x3a
je 0x4a76a0
add dword [esp + 0x7c], 7
test eax, eax
jne 0x4a743d
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004b8030
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004b8030
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
jmp 0x4a7095
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4a6d7c
mov edi, 0x300
mov dword [esp + 0x24], 0x320
mov esi, 0x120
jmp 0x4a6dbc
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4a6e28
jmp 0x4a6e3c
mov ebp, edx
jmp 0x4a71a1
mov esi, edx
jmp 0x4a7190
mov edi, edx
jmp 0x4a7331
mov ebp, edx
jmp 0x4a7320
mov edi, dword [esp + 0x34]
mov dword [esp], edi
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, dword [esp + 0x7c]
call fcn.004a5f80
mov ebx, eax
mov dword [esp], edi
call fcn.004b8030
test ebx, ebx
jne 0x4a7456
jmp 0x4a75c0
mov edx, 8
jmp 0x4a6f7c
mov ecx, dword [eax + 0x38]
and ecx, 0x30000
je 0x4a6d0c
xor esi, esi
jmp 0x4a6c41
add dword [esp + 0x7c], 8
jmp 0x4a75ac
mov dword [esp + 0x7c], str.ECDHE_ECDSA_AES128_GCM_SHA256:ECDHE_ECDSA_AES256_GCM_SHA384
jmp 0x4a6d05
xor ebx, ebx
jmp 0x4a71d0
xor ebx, ebx
jmp 0x4a7360
mov dword [esp + 0x10], 0x5e6
mov dword [esp + 0xc], str.ssl_ciph.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0xa6
mov dword [esp], 0x14
call fcn.004f0560
jmp 0x4a6c85
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004b8030
mov dword [esp + 0x10], 0x638
jmp 0x4a76cd
mov dword [esp], esi
call fcn.004ec510
xor eax, eax
jmp 0x4a6c87