Function at 0x4a9880
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 0x4a9925
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x4a9925
mov edx, dword [esp + 0x78]
test edx, edx
je 0x4a9925
mov edi, str.SUITEB128ONLY
mov ecx, 0xd
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4a992f
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 0x4a997d
and edx, 8
je 0x4aa1b8
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.004f5490
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 0x4aa1a9
mov edi, str.SUITEB128
mov ecx, 9
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa1e9
mov edi, str.SUITEB192
mov ecx, 9
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa32a
xor esi, esi
mov ecx, 0x20000
jmp 0x4a98d3
cmp ecx, 0x20000
je 0x4aa1fd
cmp ecx, 0x30000
je 0x4aa1f5
cmp ecx, 0x10000
jne 0x4a99a5
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], 0x668399
lea ebp, [esp + 0x48]
mov dword [esp], ebp
call fcn.0051d720
test eax, eax
je 0x4a9a14
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.0051da60
test eax, eax
jle 0x4aa299
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4a9a24
mov dword [esp], eax
call fcn.004e8a70
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], 0x668364
mov dword [esp], ebp
call fcn.0051d720
test eax, eax
je 0x4a9ac0
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.0051da60
test eax, eax
jle 0x4aa2d0
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4a9ad0
mov dword [esp], eax
call fcn.004e8a70
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4aa20a
cmp edi, 0x300
jne 0x4aa20e
mov dword [esp + 0x3c], 0xfffffdef
mov edi, 0x210
xor eax, eax
mov ecx, dword [0x6ea6a0]
test ecx, ecx
sete al
cmp dword [0x6ea6a4], 1
sbb edx, edx
and edx, 2
or edx, eax
cmp dword [0x6ea6a8], 1
sbb eax, eax
and eax, 4
or edx, eax
cmp dword [0x6ea6ac], 1
sbb eax, eax
and eax, 8
or edx, eax
cmp dword [0x6ea6b0], 1
sbb eax, eax
and eax, 0x10
or edx, eax
cmp dword [0x6ea6b8], 1
sbb eax, eax
and eax, 0x40
or edx, eax
cmp dword [0x6ea6bc], 1
sbb eax, eax
and eax, 0x80
or edx, eax
cmp dword [0x6ea6d0], 1
sbb eax, eax
and eax, 0x1000
or edx, eax
cmp dword [0x6ea6d4], 1
sbb eax, eax
and eax, 0x2000
or edx, eax
cmp dword [0x6ea6c0], 1
sbb eax, eax
and eax, 0x100
or edx, eax
cmp dword [0x6ea6c4], 1
sbb eax, eax
and eax, 0x200
or edx, eax
cmp dword [0x6ea6c8], 1
sbb eax, eax
and eax, 0x400
or eax, edx
cmp dword [0x6ea6cc], 1
sbb edx, edx
and edx, 0x800
or eax, edx
mov dword [esp + 0x28], eax
xor eax, eax
mov esi, dword [0x6ea678]
test esi, esi
sete al
cmp dword [0x6ea67c], 1
sbb edx, edx
and edx, 2
or edx, eax
cmp dword [0x6ea688], 1
sbb eax, eax
and eax, 0x10
or edx, eax
cmp dword [0x6ea68c], 1
sbb eax, eax
and eax, 0x20
or edx, eax
cmp dword [0x6ea680], 1
sbb eax, eax
and eax, 4
or eax, edx
mov ebp, dword [0x6ea684]
test ebp, ebp
je 0x4aa320
cmp dword [0x6392f0], 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.004bc970
mov dword [esp + 0x30], eax
test eax, eax
je 0x4aa365
test esi, esi
jle 0x4a9d44
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 0x4a9cd0
mov edx, dword [eax]
test edx, edx
je 0x4a9cd0
test dword [eax + 0xc], ebp
jne 0x4a9cd0
mov ecx, dword [esp + 0x24]
test dword [eax + 0x10], ecx
jne 0x4a9cd0
mov ecx, dword [esp + 0x28]
test dword [eax + 0x14], ecx
jne 0x4a9cd0
mov ecx, dword [esp + 0x38]
test dword [eax + 0x18], ecx
jne 0x4a9cd0
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 0x4a9c70
mov esi, dword [esp + 0x34]
test esi, esi
je 0x4a9d44
mov edi, dword [esp + 0x30]
mov eax, edi
mov dword [edi + 0x10], 0
cmp esi, 1
je 0x4aa284
add eax, 0x14
mov dword [edi + 0xc], eax
cmp esi, 2
je 0x4a9d20
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 0x4a9d10
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.004a85e0
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.004a85e0
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.004a8e40
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4aa357
mov ebx, ecx
test edi, edi
je 0x4a9e70
mov eax, edi
jmp 0x4a9e1a
cmp ecx, eax
je 0x4a9e70
mov eax, edx
test edx, edx
je 0x4a9e70
mov edx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
test ebp, ebp
jne 0x4a9e10
cmp eax, ebx
je 0x4a9e57
cmp eax, edi
je 0x4aa27d
mov esi, dword [eax + 0x10]
test esi, esi
je 0x4aa276
mov dword [esi + 0xc], edx
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x4a9e48
mov dword [ebp + 0x10], esi
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 0x4a9e14
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0x40], edi
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.004a8e40
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.004a8e40
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.004a8e40
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 1
call fcn.004a8490
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 0x100
call fcn.004a8490
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, 0x10
call fcn.004a8490
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.004a8e40
lea edx, [esp + 0x44]
lea eax, [esp + 0x40]
call fcn.004a8280
test eax, eax
je 0x4aa260
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
test ecx, ecx
je 0x4aa35e
mov ebx, ecx
test esi, esi
je 0x4aa000
mov eax, esi
jmp 0x4a9faa
cmp ecx, eax
je 0x4aa000
mov eax, edx
test edx, edx
je 0x4aa000
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 4]
test edi, edi
je 0x4a9fa0
cmp eax, ebx
je 0x4a9fe7
cmp eax, esi
je 0x4aa292
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4aa28b
mov dword [edi + 0x10], edx
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x4a9fd8
mov dword [ebp + 0xc], edi
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 0x4a9fa4
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], esi
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.004bc970
mov dword [esp + 0x34], eax
test eax, eax
je 0x4aa396
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 0x4aa06e
lea esi, [esi]
mov edx, dword [eax]
mov dword [edi], edx
add edi, 4
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4aa060
mov eax, 0x6688c0
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 0x4aa094
test edx, ebp
je 0x4aa0b7
test ecx, ecx
je 0x4aa09e
test dword [esp + 0x24], ecx
je 0x4aa0b7
test ebx, ebx
je 0x4aa0a8
test dword [esp + 0x28], ebx
je 0x4aa0b7
test esi, esi
je 0x4aa0b2
test dword [esp + 0x2c], esi
je 0x4aa0b7
mov dword [edi], eax
add edi, 4
add eax, 0x30
cmp eax, 0x669880
jne 0x4aa080
mov dword [edi], 0
mov edi, str.DEFAULT
mov ecx, 7
mov esi, dword [esp + 0x7c]
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa220
mov eax, dword [esp + 0x7c]
cmp byte [eax], 0
jne 0x4aa2e9
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004bce80
call fcn.004f0c80
mov esi, eax
test eax, eax
je 0x4aa260
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x4aa117
jmp 0x4aa133
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x4aa133
mov eax, dword [ebx + 4]
test eax, eax
je 0x4aa110
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004f1150
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4aa117
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004bce80
mov dword [esp], esi
call fcn.004f09b0
mov ebx, eax
test eax, eax
je 0x4aa3ac
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
test eax, eax
je 0x4aa163
mov dword [esp], eax
call fcn.004f1450
mov eax, dword [esp + 0x74]
mov dword [eax], esi
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
test eax, eax
je 0x4aa17b
mov dword [esp], eax
call fcn.004f1450
mov eax, dword [esp + 0x78]
mov dword [eax], ebx
mov dword [esp + 4], 0x49ed50
mov dword [esp], ebx
call fcn.004f0990
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004f1510
mov eax, esi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 1
mov ecx, 0x30000
jmp 0x4a98d3
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.004f5490
jmp 0x4a9925
xor esi, esi
mov ecx, 0x30000
jmp 0x4a98d3
test esi, esi
je 0x4aa34a
mov dword [esp + 0x7c], str.ECDHE_ECDSA_AES256_GCM_SHA384
jmp 0x4a99a5
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0xffffffef
mov edi, 0x10
jmp 0x4a9af5
mov eax, dword [esp + 0x34]
mov dword [esp], eax
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, str.ALL:_EXPORT:_aNULL:_eNULL:_SSLv2
call fcn.004a8960
mov edi, dword [esp + 0x7c]
cmp byte [edi + 7], 0x3a
je 0x4aa340
add dword [esp + 0x7c], 7
test eax, eax
jne 0x4aa0dd
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004bce80
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004bce80
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, edx
jmp 0x4a9e41
mov edi, edx
jmp 0x4a9e30
mov eax, edi
jmp 0x4a9d35
mov ebp, edx
jmp 0x4a9fd1
mov esi, edx
jmp 0x4a9fc0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4a9a1c
mov edi, 0x300
mov dword [esp + 0x24], 0x320
mov esi, 0x120
jmp 0x4a9a5c
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4a9ac8
jmp 0x4a9adc
mov edi, dword [esp + 0x34]
mov dword [esp], edi
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
mov eax, dword [esp + 0x7c]
call fcn.004a8960
mov ebx, eax
mov dword [esp], edi
call fcn.004bce80
test ebx, ebx
jne 0x4aa0f6
jmp 0x4aa260
mov edx, 8
jmp 0x4a9c1c
mov ecx, dword [eax + 0x38]
and ecx, 0x30000
je 0x4a99ac
xor esi, esi
jmp 0x4a98e1
add dword [esp + 0x7c], 8
jmp 0x4aa24c
mov dword [esp + 0x7c], str.ECDHE_ECDSA_AES128_GCM_SHA256:ECDHE_ECDSA_AES256_GCM_SHA384
jmp 0x4a99a5
xor ebx, ebx
jmp 0x4a9e70
xor ebx, ebx
jmp 0x4aa000
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.004f5490
jmp 0x4a9925
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004bce80
mov dword [esp + 0x10], 0x638
jmp 0x4aa36d
mov dword [esp], esi
call fcn.004f1450
xor eax, eax
jmp 0x4a9927