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

Disassembly:
mov eax, 0x2ec
call fcn.0042ed50
mov eax, dword [0x630160]
xor eax, esp
mov dword [esp + 0x2e8], eax
push ebp
push esi
push edi
mov edi, dword [esp + 0x2fc]
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x30]
push ecx
push 0x800
push 0x10
xor ebp, ebp
push 0x2191
push 0x2190
push edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], ebp
call edx
add esp, 0x18
mov esi, eax
mov dword [esp + 0x14], esi
cmp dword [esp + 0x30], ebp
je 0x51faec
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x58]
mov dword [esp + 0xc], eax
mov ecx, dword [edx + 0x344]
push ebx
mov ebx, dword [ecx + 0xc]
test bl, 1
je 0x51ef9b
cmp dword [edx + 0x370], ebp
je 0x51ec94
mov ecx, dword [edi + 0x98]
cmp ecx, ebp
je 0x51ec80
mov ecx, dword [ecx + 0x1c]
cmp ecx, ebp
jne 0x51ecb9
push 0x8b9
push str.._ssl_s3_srvr.c
push 0xad
jmp 0x51fa8c
mov edx, dword [edi + 0x98]
mov ecx, dword [edx + 0x40]
cmp ecx, ebp
je 0x51ef87
cmp dword [ecx], 6
jne 0x51ef87
mov ecx, dword [ecx + 0x14]
cmp ecx, ebp
je 0x51ef87
mov ebx, ecx
mov ecx, dword [edi]
cmp ecx, 0x300
jle 0x51ed1b
cmp ecx, 0x100
je 0x51ed1b
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
add eax, 2
lea edx, [ecx + 2]
mov dword [esp + 0x10], eax
cmp esi, edx
je 0x51ed15
test dword [edi + 0x100], 0x100
jne 0x51ed0c
push 0x8d0
push str.._ssl_s3_srvr.c
mov ebp, 0x32
push 0xea
jmp 0x51fa91
sub eax, 2
mov dword [esp + 0x10], eax
jmp 0x51ed1b
mov esi, ecx
mov dword [esp + 0x18], ecx
cmp esi, 0x30
jge 0x51ed39
push 0x8e2
push str.._ssl_s3_srvr.c
mov ebp, 0x33
push 0xea
jmp 0x51fa91
lea eax, [esp + 0x40]
push 0x30
push eax
call fcn.00523ba0
add esp, 8
test eax, eax
jle 0x51faac
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 3
push ebx
push eax
push eax
push ecx
call fcn.00533cc0
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jl 0x51faac
cmp eax, 0x3b
jge 0x51ed90
push 0x905
push str.._ssl_s3_srvr.c
mov ebp, 0x33
push 0x93
jmp 0x51fa91
mov ebp, dword [esp + 0x10]
movzx edx, byte [ebp + 1]
movzx esi, byte [ebp]
xor edx, 2
lea ecx, [edx - 1]
not edx
shr edx, 0x1f
shr ecx, 0x1f
and cl, dl
mov ebx, esi
lea edx, [esi - 1]
shr edx, 0x1f
not ebx
shr ebx, 0x1f
and dl, bl
neg dl
neg cl
and cl, dl
mov esi, 2
lea edx, [eax - 0x31]
cmp edx, esi
jbe 0x51edf1
lea ecx, [ecx]
movzx edx, byte [esi + ebp]
lea eax, [edx - 1]
shr eax, 0x1f
not edx
shr edx, 0x1f
and al, dl
dec al
and cl, al
mov eax, dword [esp + 0x14]
inc esi
lea edx, [eax - 0x31]
cmp esi, edx
jb 0x51edd0
movzx esi, byte [eax + ebp - 0x31]
lea ebp, [eax + ebp - 0x30]
mov eax, esi
not eax
shr eax, 0x1f
lea edx, [esi - 1]
shr edx, 0x1f
and dl, al
mov eax, dword [edi + 0x110]
neg dl
and cl, dl
mov esi, eax
mov dword [esp + 0x10], ebp
movzx edx, byte [ebp]
movzx ebx, byte [ebp + 1]
sar esi, 8
xor esi, edx
movzx edx, al
xor edx, ebx
lea eax, [edx - 1]
not edx
shr edx, 0x1f
shr eax, 0x1f
and al, dl
mov ebx, esi
lea edx, [esi - 1]
shr edx, 0x1f
not ebx
shr ebx, 0x1f
and dl, bl
neg al
neg dl
and al, dl
test dword [edi + 0x100], 0x800000
mov byte [esp + 0x1f], cl
je 0x51ee9b
mov ecx, dword [edi]
movzx edx, byte [ebp]
mov esi, ecx
movzx ecx, cl
sar esi, 8
xor esi, edx
movzx edx, byte [ebp + 1]
xor ecx, edx
lea edx, [ecx - 1]
not ecx
shr ecx, 0x1f
shr edx, 0x1f
and dl, cl
mov ebx, esi
lea ecx, [esi - 1]
shr ecx, 0x1f
not ebx
shr ebx, 0x1f
and cl, bl
neg cl
neg dl
and dl, cl
mov cl, byte [esp + 0x1f]
or al, dl
and cl, al
movzx eax, cl
mov cl, al
xor esi, esi
not cl
jmp 0x51eeb4
mov ebp, dword [esp + 0x10]
movzx edx, byte [esp + esi + 0x40]
and dl, cl
mov bl, al
and bl, byte [esi + ebp]
add esi, 6
or dl, bl
mov byte [esi + ebp - 6], dl
mov ebp, dword [esp + 0x10]
movzx edx, byte [esi + ebp - 5]
and dl, al
mov bl, cl
and bl, byte [esp + esi + 0x3b]
or dl, bl
mov byte [esi + ebp - 5], dl
mov ebp, dword [esp + 0x10]
movzx ebx, byte [esi + ebp - 4]
movzx edx, byte [esp + esi + 0x3c]
and dl, cl
and bl, al
or dl, bl
mov byte [esi + ebp - 4], dl
mov ebp, dword [esp + 0x10]
movzx ebx, byte [esi + ebp - 3]
movzx edx, byte [esp + esi + 0x3d]
and dl, cl
and bl, al
or dl, bl
mov byte [esi + ebp - 3], dl
movzx edx, byte [esp + esi + 0x3e]
mov ebp, dword [esp + 0x10]
and dl, cl
mov bl, al
and bl, byte [esi + ebp - 2]
or dl, bl
mov byte [esi + ebp - 2], dl
mov ebp, dword [esp + 0x10]
movzx edx, byte [esp + esi + 0x3f]
movzx ebx, byte [esi + ebp - 1]
and dl, cl
and bl, al
or dl, bl
mov byte [esi + ebp - 1], dl
cmp esi, 0x30
jb 0x51eeb0
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0xc0]
mov ecx, dword [ecx + 0xc]
push 0x30
push edx
add eax, 0x14
push eax
push edi
call ecx
mov edx, dword [edi + 0xc0]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x20]
push 0x30
push eax
call fcn.00538410
add esp, 0x18
mov eax, 1
jmp 0x51faeb
push 0x8c3
push str.._ssl_s3_srvr.c
push 0xa8
jmp 0x51fa8c
test bl, 0xe
je 0x51f1eb
cmp esi, 1
jle 0x51efbe
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
shl esi, 8
or esi, ecx
add eax, 2
mov dword [esp + 0x10], eax
jmp 0x51efd9
test bl, 8
je 0x51efd7
push 0x956
push str.._ssl_s3_srvr.c
push 0x94
jmp 0x51fa8c
xor esi, esi
cmp dword [esp + 0x18], ebp
je 0x51f021
lea ecx, [esi + 2]
cmp dword [esp + 0x18], ecx
je 0x51f021
test byte [edi + 0x100], 0x80
jne 0x51f016
push 0x95e
push str.._ssl_s3_srvr.c
push 0x94
push 0x8b
push 0x14
call fcn.005235f0
mov ebp, 0x28
jmp 0x51fa9d
mov esi, dword [esp + 0x18]
sub eax, 2
mov dword [esp + 0x10], eax
test bl, 2
je 0x51f02d
mov ecx, 3
jmp 0x51f037
test bl, 4
je 0x51f073
mov ecx, 4
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [edi + 0x98]
mov ebp, dword [ecx + edx*4 + 0x40]
test ebp, ebp
je 0x51f05f
cmp dword [ebp], 0x1c
jne 0x51f05f
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x51f05f
mov ebx, ecx
jmp 0x51f093
push 0x970
push str.._ssl_s3_srvr.c
push 0xa8
jmp 0x51fa8c
mov edx, dword [edx + 0x348]
test edx, edx
jne 0x51f091
push 0x977
push str.._ssl_s3_srvr.c
push 0xab
jmp 0x51fa8c
mov ebx, edx
cmp dword [esp + 0x18], 0
jne 0x51f0f9
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x9c]
push eax
call fcn.0052a380
mov esi, eax
add esp, 4
test esi, esi
je 0x51f0d7
push ebp
push esi
call fcn.00526150
add esp, 8
cmp eax, 1
jne 0x51f0d7
push esi
call fcn.00526270
mov ebp, eax
add esp, 4
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x51f0eb
push 0x986
push str.._ssl_s3_srvr.c
push 0xab
jmp 0x51fa8c
push esi
call fcn.005266e0
mov esi, dword [ebp + 0x14]
add esp, 4
jmp 0x51f107
push 0
push esi
push eax
call fcn.00530910
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x51f12e
push 0x98e
push str.._ssl_s3_srvr.c
push 0x82
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
mov ecx, dword [esp + 0x10]
push ebx
push esi
push ecx
call fcn.0054bdf0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jg 0x51f16e
push 0x996
push str.._ssl_s3_srvr.c
push 5
push 0x8b
push 0x14
mov ebp, 0x28
call fcn.005235f0
push esi
call fcn.005305b0
add esp, 0x18
jmp 0x51faa0
mov edx, dword [edi + 0x58]
mov eax, dword [edx + 0x348]
push eax
call fcn.0053ca70
mov ebp, dword [esp + 0x18]
mov ecx, dword [edi + 0x58]
add esp, 4
mov dword [ecx + 0x348], 0
test ebp, ebp
je 0x51f19d
push ebp
call fcn.0053ca70
jmp 0x51f1a3
push esi
call fcn.005305b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x64]
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0xc0]
mov eax, dword [eax + 0xc]
add esp, 4
push ebx
push ecx
add edx, 0x14
push edx
push edi
call eax
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x20]
push ebx
push edx
call fcn.00538410
add esp, 0x18
test ebp, ebp
je 0x51ef7d
mov eax, 2
jmp 0x51faeb
test bl, 0xe0
je 0x51f4d1
mov dword [esp + 0x14], 1
call fcn.00545760
mov dword [esp + 0x20], eax
cmp eax, ebp
jne 0x51f229
push 0xa74
push str.._ssl_s3_srvr.c
push 0x41
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
test bl, 0x60
je 0x51f23f
mov eax, dword [edi + 0x98]
mov ecx, dword [eax + 0xcc]
mov esi, dword [ecx + 0x14]
jmp 0x51f248
mov edx, dword [edi + 0x58]
mov esi, dword [edx + 0x34c]
push esi
call fcn.00545b30
push esi
mov ebp, eax
call fcn.00545b70
mov esi, eax
mov eax, dword [esp + 0x28]
push ebp
push eax
call fcn.00545b40
add esp, 0x10
test eax, eax
je 0x51f4b1
mov ecx, dword [esp + 0x20]
push esi
push ecx
call fcn.00545b80
add esp, 8
test eax, eax
je 0x51f4b1
push ebp
call fcn.00548ac0
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
test esi, esi
jne 0x51f2a1
push 0xa8f
jmp 0x51f20e
cmp dword [esp + 0x18], 0
jne 0x51f341
test bl, bl
jns 0x51f2c4
push 0xa99
push str.._ssl_s3_srvr.c
push 0x137
jmp 0x51fa8c
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x9c]
push eax
call fcn.0052a380
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x51f32d
cmp dword [eax], 0x198
jne 0x51f32d
mov ecx, dword [eax + 0x14]
push ecx
call fcn.0054ab20
push eax
push esi
call fcn.00548be0
add esp, 0xc
test eax, eax
jne 0x51f320
push 0xaaf
push str.._ssl_s3_srvr.c
push 0x10
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
mov dword [esp + 0x14], 2
jmp 0x51f3c0
push 0xaa8
push str.._ssl_s3_srvr.c
push 0x139
jmp 0x51fa8c
call fcn.0054b960
mov edx, eax
mov dword [esp + 0x2c], edx
test edx, edx
jne 0x51f35a
push 0xaba
jmp 0x51f20e
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax]
inc eax
lea ebx, [ecx + 1]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], ebx
je 0x51f394
push 0xac2
push str.._ssl_s3_srvr.c
push 0x9f
push 0x8b
push 0x14
call fcn.005235f0
mov ebp, 0x32
jmp 0x51fa9d
push edx
push ecx
push eax
push esi
push ebp
call fcn.0054bcf0
add esp, 0x14
test eax, eax
jne 0x51f3b6
push 0xac7
push str.._ssl_s3_srvr.c
push 0x10
jmp 0x51f000
mov edx, dword [edi + 0x3c]
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
push ebp
call fcn.005488c0
add esp, 4
test eax, eax
jg 0x51f3ed
push 0xad5
push str.._ssl_s3_srvr.c
push 0x2b
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
add eax, 7
cdq
push 0
and edx, 7
push ebp
add eax, edx
push ebx
sar eax, 3
push eax
push ecx
call fcn.0054bda0
mov esi, eax
add esp, 0x14
test esi, esi
jg 0x51f439
push 0xadb
push str.._ssl_s3_srvr.c
push 0x2b
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
mov edx, dword [esp + 0x28]
push edx
call fcn.005266e0
push ebx
call fcn.00548b70
push ebp
call fcn.005457c0
mov eax, dword [esp + 0x38]
push eax
call fcn.0054b9c0
mov ecx, dword [edi + 0x58]
mov edx, dword [ecx + 0x34c]
push edx
call fcn.005457c0
mov eax, dword [edi + 0x58]
mov dword [eax + 0x34c], 0
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x64]
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0xc0]
mov edx, dword [edx + 0xc]
push esi
push eax
add ecx, 0x14
push ecx
push edi
call edx
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x34]
push esi
push edx
call fcn.00538410
mov eax, dword [esp + 0x40]
add esp, 0x2c
jmp 0x51faeb
push 0xa89
push str.._ssl_s3_srvr.c
push 0x10
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
test ebx, 0x100
je 0x51f799
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
shl esi, 8
or esi, ecx
add eax, 2
lea edx, [esi + 2]
mov dword [esp + 0x14], 1
mov ebp, 0x28
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], edx
je 0x51f529
push 0xafd
push str.._ssl_s3_srvr.c
push 0x9f
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51f76f
cmp esi, 0x80
jle 0x51f554
push 0xb02
push str.._ssl_s3_srvr.c
push 0x92
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51f76f
mov ebx, dword [edi + 0xe0]
test ebx, ebx
jne 0x51f581
push 0xb07
push str.._ssl_s3_srvr.c
push 0xe1
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51f76f
push esi
push eax
lea eax, [esp + 0x78]
push eax
call fcn.00422ff0
mov ecx, 0x81
sub ecx, esi
push ecx
lea edx, [esp + esi + 0x80]
push 0
push edx
call fcn.00422f70
push 0x204
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x90]
push ecx
push edi
call ebx
lea edx, [esp + 0x98]
push 0x81
push edx
mov ebx, eax
call fcn.00538410
add esp, 0x30
cmp ebx, 0x100
jbe 0x51f5fb
push 0xb16
push str.._ssl_s3_srvr.c
push 0x44
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51f76f
test ebx, ebx
jne 0x51f625
push 0xb1d
push str.._ssl_s3_srvr.c
push 0xdf
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
lea ebp, [ebx + 0x73]
jmp 0x51f76f
push ebx
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + ebx + 0x100]
lea eax, [ebx + ebx + 4]
push edx
mov dword [esp + 0x3c], eax
call fcn.0041bda0
mov eax, ebx
shr eax, 8
push ebx
mov dword [esp + 0x28], eax
mov byte [esp + 0x104], al
lea eax, [esp + 0x106]
push 0
push eax
mov byte [esp + 0x10d], bl
call fcn.00422f70
mov cl, byte [esp + 0x30]
lea eax, [esp + ebx + 0x10e]
mov byte [eax], cl
mov byte [eax + 1], bl
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x90]
add esp, 0x18
test eax, eax
je 0x51f696
push eax
call fcn.005292e0
add esp, 4
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.00539ea0
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x90], eax
mov eax, dword [edi + 0xc0]
add esp, 8
cmp dword [eax + 0x90], 0
jne 0x51f6df
push 0xb2f
push str.._ssl_s3_srvr.c
push 0x41
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51f76f
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x51f6f2
push eax
call fcn.005292e0
add esp, 4
mov edx, dword [edi + 0xe4]
mov eax, dword [edx + 0x14c]
push eax
call fcn.0053a020
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x8c], eax
mov edx, dword [edi + 0xe4]
add esp, 4
cmp dword [edx + 0x14c], 0
je 0x51f738
mov eax, dword [edi + 0xc0]
cmp dword [eax + 0x8c], 0
jne 0x51f738
push 0xb38
jmp 0x51f6c4
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 0x64]
push eax
mov eax, dword [edi + 0xc0]
lea ecx, [esp + 0xf8]
push ecx
mov ecx, dword [edx + 0xc]
add eax, 0x14
push eax
push edi
call ecx
mov edx, dword [edi + 0xc0]
add esp, 0x10
mov dword [edx + 0x10], eax
mov dword [esp + 0x14], 0
lea eax, [esp + 0xf4]
push 0x204
push eax
call fcn.00538410
add esp, 8
cmp dword [esp + 0x14], 0
jne 0x51faa0
mov eax, 1
jmp 0x51faeb
test ebx, 0x400
je 0x51f8de
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
add eax, 2
lea edx, [ecx + 2]
cmp edx, esi
mov dword [esp + 0x10], eax
jle 0x51f7d8
push 0xb52
push str.._ssl_s3_srvr.c
mov ebp, 0x32
push 0x15b
jmp 0x51fa91
push ebp
push ecx
push eax
call fcn.00530910
add esp, 0xc
mov dword [edi + 0x1b8], eax
cmp eax, ebp
jne 0x51f80d
push 0xb56
push str.._ssl_s3_srvr.c
push 3
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
mov ecx, dword [edi + 0x1a8]
push ecx
push eax
call fcn.00530bf0
add esp, 8
test eax, eax
jge 0x51f8c5
mov edx, dword [edi + 0x1b8]
cmp dword [edx + 4], ebp
je 0x51f8c5
mov eax, dword [edi + 0xc0]
mov eax, dword [eax + 0xf0]
cmp eax, ebp
je 0x51f84d
push eax
call fcn.005292e0
add esp, 4
mov ecx, dword [edi + 0x1a4]
push ecx
call fcn.0053a020
mov edx, dword [edi + 0xc0]
mov dword [edx + 0xf0], eax
mov eax, dword [edi + 0xc0]
add esp, 4
cmp dword [eax + 0xf0], ebp
jne 0x51f880
push 0xb64
jmp 0x51f20e
add eax, 0x14
push eax
push edi
call fcn.0050a2c0
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x10], eax
mov edx, dword [edi + 0xc0]
add esp, 8
cmp dword [edx + 0x10], ebp
jge 0x51ef7d
push 0xb6b
push str.._ssl_s3_srvr.c
push 0x44
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
jmp 0x51faac
push 0xb5d
push str.._ssl_s3_srvr.c
mov ebp, 0x2f
push 0x173
jmp 0x51fa91
test ebx, 0x200
je 0x51fa7d
mov dword [esp + 0x3c], 0x20
mov eax, dword [edx + 0x344]
mov eax, dword [eax + 0x10]
xor ebx, ebx
xor ecx, ecx
test eax, 0x100
je 0x51f914
mov ecx, dword [edi + 0x98]
mov ecx, dword [ecx + 0xe8]
jmp 0x51f927
test eax, 0x200
je 0x51f927
mov edx, dword [edi + 0x98]
mov ecx, dword [edx + 0x104]
push 0
push ecx
call fcn.0054adc0
mov esi, eax
add esp, 8
test esi, esi
jne 0x51f94c
push 0xb86
push str.._ssl_s3_srvr.c
lea ebp, [eax + 0x50]
push 0x41
jmp 0x51fa91
push esi
call fcn.0054b3b0
add esp, 4
test eax, eax
jg 0x51f96a
push 0xb8a
push str.._ssl_s3_srvr.c
push 0x44
jmp 0x51fa57
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x9c]
push ecx
call fcn.0052a380
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x51f998
push ebx
push esi
call fcn.0054b520
add esp, 8
test eax, eax
jg 0x51f998
call fcn.005236e0
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00529790
add esp, 0x14
cmp eax, 0x20
jne 0x51fa48
cmp dword [esp + 0x30], 0x10
jne 0x51fa48
cmp dword [esp + 0x14], ebp
jne 0x51fa48
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push ecx
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4c]
push ecx
push esi
call fcn.0054b420
add esp, 0x14
test eax, eax
jg 0x51f9f7
push 0xba6
jmp 0x51fa4d
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x64]
mov edx, dword [edi + 0xc0]
mov eax, dword [eax + 0xc]
push 0x20
lea ecx, [esp + 0x44]
push ecx
add edx, 0x14
push edx
push edi
call eax
mov ecx, dword [edi + 0xc0]
lea edx, [esp + 0x50]
push 0x20
push edx
mov dword [ecx + 0x10], eax
call fcn.00538410
push 0
push 2
push 2
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.0054aa10
xor ecx, ecx
add esp, 0x30
test eax, eax
setg cl
inc ecx
mov ebp, ecx
jmp 0x51fa66
push 0xb9e
push str.._ssl_s3_srvr.c
push 0x93
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
push ebx
call fcn.005266e0
push esi
call fcn.0054a9b0
add esp, 8
test ebp, ebp
je 0x51faac
mov eax, ebp
jmp 0x51faeb
push 0xbbf
push str.._ssl_s3_srvr.c
push 0xf9
mov ebp, 0x28
push 0x8b
push 0x14
call fcn.005235f0
add esp, 0x14
push ebp
push 2
push edi
call fcn.00508180
add esp, 0xc
mov edx, dword [esp + 0x28]
push edx
call fcn.005266e0
mov eax, dword [esp + 0x28]
push eax
call fcn.00548b70
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x51fad4
push eax
call fcn.005457c0
add esp, 4
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0054b9c0
add esp, 4
mov dword [edi + 0x34], 0x3005
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2f4]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00418878
add esp, 0x2ec
ret