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

Disassembly:
mov eax, 0x2ec
call fcn.0049d300
mov eax, dword [0x61e810]
xor eax, esp
mov dword [esp + 0x2e8], eax
push esi
push edi
mov edi, dword [esp + 0x2f8]
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x2c]
push ecx
push 0x800
push 0x10
xor esi, esi
push 0x2191
push 0x2190
push edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], esi
call edx
add esp, 0x18
cmp dword [esp + 0x2c], esi
mov edx, eax
mov dword [esp + 0xc], edx
je 0x590ece
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x58]
push ebx
mov dword [esp + 0xc], eax
mov ebx, dword [ecx + 0x344]
mov ebx, dword [ebx + 0xc]
test bl, 1
push ebp
je 0x59037e
cmp dword [ecx + 0x370], esi
mov ecx, dword [edi + 0x98]
je 0x590114
cmp ecx, esi
je 0x590100
mov ecx, dword [ecx + 0x1c]
cmp ecx, esi
jne 0x590133
push 0x8a9
push str.._ssl_s3_srvr.c
push 0xad
jmp 0x590e6d
mov ecx, dword [ecx + 0x40]
cmp ecx, esi
je 0x59036a
cmp dword [ecx], 6
jne 0x59036a
mov ecx, dword [ecx + 0x14]
cmp ecx, esi
je 0x59036a
mov esi, ecx
mov ecx, dword [edi]
cmp ecx, 0x300
jle 0x590190
cmp ecx, 0x100
je 0x590190
xor ecx, ecx
mov ch, byte [eax]
add eax, 2
mov cl, byte [eax - 1]
mov dword [esp + 0x10], eax
lea ebx, [ecx + 2]
cmp edx, ebx
je 0x59018a
test dword [edi + 0x100], 0x100
jne 0x590181
push 0x8c0
push str.._ssl_s3_srvr.c
mov ebp, 0x32
push 0xea
jmp 0x590e72
sub eax, 2
mov dword [esp + 0x10], eax
jmp 0x590190
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp edx, 0x30
jge 0x5901ae
push 0x8d2
push str.._ssl_s3_srvr.c
mov ebp, 0x33
push 0xea
jmp 0x590e72
lea edx, [esp + 0x40]
push 0x30
push edx
call fcn.004e6210
add esp, 8
test eax, eax
jle 0x590e8d
mov eax, dword [esp + 0x10]
push 1
push esi
push eax
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.005356b0
add esp, 0x14
mov esi, eax
call fcn.004e83c0
mov eax, dword [edi + 0x110]
xor esi, 0x30
mov edx, esi
not edx
shr edx, 0x1f
lea ecx, [esi - 1]
shr ecx, 0x1f
and cl, dl
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx]
movzx edx, byte [edx + 1]
movzx ebp, al
xor ebp, edx
mov esi, eax
sar esi, 8
xor esi, ebx
mov edx, ebp
not edx
shr edx, 0x1f
lea eax, [ebp - 1]
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
neg cl
and al, dl
test dword [edi + 0x100], 0x800000
mov byte [esp + 0x1f], cl
je 0x59028a
mov ecx, dword [edi]
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx]
mov esi, ecx
movzx ebp, cl
movzx ecx, byte [edx + 1]
xor ebp, ecx
sar esi, 8
xor esi, ebx
mov edx, ebp
not edx
shr edx, 0x1f
lea ecx, [ebp - 1]
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 cl
neg dl
and cl, dl
or al, cl
mov cl, byte [esp + 0x1f]
and cl, al
movzx eax, cl
mov cl, al
xor esi, esi
not cl
movzx edx, byte [esp + esi + 0x40]
mov ebp, dword [esp + 0x10]
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]
mov dl, cl
and dl, byte [esp + esi + 0x3b]
mov bl, al
and bl, byte [esi + ebp - 5]
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
movzx edx, byte [esp + esi + 0x3f]
mov ebp, dword [esp + 0x10]
mov bl, al
and bl, byte [esi + ebp - 1]
and dl, cl
or dl, bl
cmp esi, 0x30
mov byte [esi + ebp - 1], dl
jb 0x590295
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.004f71a0
add esp, 0x18
mov eax, 1
jmp 0x590ecc
push 0x8b3
push str.._ssl_s3_srvr.c
push 0xa8
jmp 0x590e6d
test bl, 0xe
je 0x5905d0
xor ebp, ebp
cmp edx, 1
jle 0x5903a4
xor edx, edx
mov dh, byte [eax]
add eax, 2
mov dl, byte [eax - 1]
mov dword [esp + 0x10], eax
mov esi, edx
mov edx, dword [esp + 0x14]
jmp 0x5903bf
test bl, 8
je 0x5903bd
push 0x930
push str.._ssl_s3_srvr.c
push 0x94
jmp 0x590e6d
xor esi, esi
test edx, edx
je 0x59040d
lea edx, [esi + 2]
cmp dword [esp + 0x14], edx
je 0x590409
test byte [edi + 0x100], 0x80
jne 0x5903fa
push 0x938
push str.._ssl_s3_srvr.c
push 0x94
push 0x8b
push 0x14
call fcn.004e82c0
mov ebp, 0x28
jmp 0x590e7e
mov edx, dword [esp + 0x14]
sub eax, 2
mov dword [esp + 0x10], eax
mov esi, edx
jmp 0x59040d
mov edx, dword [esp + 0x14]
test bl, 2
je 0x590419
mov ecx, 3
jmp 0x590423
test bl, 4
je 0x59045b
mov ecx, 4
lea ebx, [ecx*8]
sub ebx, ecx
mov ecx, dword [edi + 0x98]
mov ebp, dword [ecx + ebx*4 + 0x40]
test ebp, ebp
je 0x590447
cmp dword [ebp], 0x1c
jne 0x590447
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x590479
push 0x94a
push str.._ssl_s3_srvr.c
push 0xa8
jmp 0x590e6d
mov ecx, dword [ecx + 0x348]
test ecx, ecx
jne 0x590479
push 0x951
push str.._ssl_s3_srvr.c
push 0xab
jmp 0x590e6d
test edx, edx
mov ebx, ecx
jne 0x5904de
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x9c]
push eax
call fcn.004e6ee0
mov esi, eax
add esp, 4
test esi, esi
je 0x5904bc
push ebp
push esi
call fcn.004e65d0
add esp, 8
cmp eax, 1
jne 0x5904bc
push esi
call fcn.004e66b0
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x5904d0
push 0x960
push str.._ssl_s3_srvr.c
push 0xab
jmp 0x590e6d
push esi
call fcn.004e6a70
mov esi, dword [ebp + 0x14]
add esp, 4
jmp 0x5904ec
push 0
push esi
push eax
call fcn.004f0200
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x590513
push 0x968
push str.._ssl_s3_srvr.c
push 0x82
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
mov ecx, dword [esp + 0x10]
push ebx
push esi
push ecx
call fcn.00515be0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jg 0x590553
push 0x970
push str.._ssl_s3_srvr.c
push 5
push 0x8b
push 0x14
mov ebp, 0x28
call fcn.004e82c0
push esi
call fcn.004efea0
add esp, 0x18
jmp 0x590e81
mov edx, dword [edi + 0x58]
mov eax, dword [edx + 0x348]
push eax
call fcn.004f8130
mov ebp, dword [esp + 0x1c]
mov ecx, dword [edi + 0x58]
add esp, 4
test ebp, ebp
mov dword [ecx + 0x348], 0
je 0x590582
push ebp
call fcn.004f8130
jmp 0x590588
push esi
call fcn.004efea0
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.004f71a0
add esp, 0x18
test ebp, ebp
je 0x590360
mov eax, 2
jmp 0x590ecc
test bl, 0xe0
je 0x5908b8
mov dword [esp + 0x18], 1
call fcn.004f7a00
cmp eax, esi
mov dword [esp + 0x20], eax
jne 0x59060e
push 0xa4e
push str.._ssl_s3_srvr.c
push 0x41
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
test bl, 0x60
je 0x590624
mov eax, dword [edi + 0x98]
mov ecx, dword [eax + 0xcc]
mov esi, dword [ecx + 0x14]
jmp 0x59062d
mov edx, dword [edi + 0x58]
mov esi, dword [edx + 0x34c]
push esi
call fcn.004eaef0
push esi
mov ebp, eax
call fcn.0056aa60
mov esi, eax
mov eax, dword [esp + 0x28]
push ebp
push eax
call fcn.004f7dd0
add esp, 0x10
test eax, eax
je 0x590898
mov ecx, dword [esp + 0x20]
push esi
push ecx
call fcn.004f7e00
add esp, 8
test eax, eax
je 0x590898
push ebp
call fcn.004fba10
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x24], esi
jne 0x590686
push 0xa69
jmp 0x5905f3
cmp dword [esp + 0x14], 0
jne 0x590726
test bl, bl
jns 0x5906a9
push 0xa73
push str.._ssl_s3_srvr.c
push 0x137
jmp 0x590e6d
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x9c]
push eax
call fcn.004e6ee0
add esp, 4
test eax, eax
mov dword [esp + 0x28], eax
je 0x590712
cmp dword [eax], 0x198
jne 0x590712
mov ecx, dword [eax + 0x14]
push ecx
call fcn.004fb060
push eax
push esi
call fcn.004fbb30
add esp, 0xc
test eax, eax
jne 0x590705
push 0xa89
push str.._ssl_s3_srvr.c
push 0x10
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
mov dword [esp + 0x18], 2
jmp 0x5907a7
push 0xa82
push str.._ssl_s3_srvr.c
push 0x139
jmp 0x590e6d
call fcn.00515250
mov edx, eax
test edx, edx
mov dword [esp + 0x2c], edx
jne 0x59073f
push 0xa94
jmp 0x5905f3
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax]
add eax, 1
lea ebx, [ecx + 1]
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
je 0x59077b
push 0xa9c
push str.._ssl_s3_srvr.c
push 0x9f
push 0x8b
push 0x14
call fcn.004e82c0
mov ebp, 0x32
jmp 0x590e7e
push edx
push ecx
push eax
push esi
push ebp
call fcn.00554a30
add esp, 0x14
test eax, eax
jne 0x59079d
push 0xaa1
push str.._ssl_s3_srvr.c
push 0x10
jmp 0x5903e4
mov edx, dword [edi + 0x3c]
mov eax, dword [edx + 4]
mov dword [esp + 0x10], eax
push ebp
call fcn.004fb810
add esp, 4
test eax, eax
jg 0x5907d4
push 0xaaf
push str.._ssl_s3_srvr.c
push 0x2b
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
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.0055ad30
mov esi, eax
add esp, 0x14
test esi, esi
jg 0x590820
push 0xab5
push str.._ssl_s3_srvr.c
push 0x2b
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
mov edx, dword [esp + 0x28]
push edx
call fcn.004e6a70
push ebx
call fcn.004fbac0
push ebp
call fcn.004f7a60
mov eax, dword [esp + 0x38]
push eax
call fcn.005152b0
mov ecx, dword [edi + 0x58]
mov edx, dword [ecx + 0x34c]
push edx
call fcn.004f7a60
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.004f71a0
mov eax, dword [esp + 0x44]
add esp, 0x2c
jmp 0x590ecc
push 0xa63
push str.._ssl_s3_srvr.c
push 0x10
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
test ebx, 0x100
je 0x590b7d
xor ecx, ecx
mov ch, byte [eax]
add eax, 2
mov dword [esp + 0x18], 1
mov ebp, 0x28
mov cl, byte [eax - 1]
mov dword [esp + 0x10], eax
mov esi, ecx
lea edx, [esi + 2]
cmp dword [esp + 0x14], edx
je 0x59090d
push 0xad7
push str.._ssl_s3_srvr.c
push 0x9f
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590b53
cmp esi, 0x80
jle 0x590938
push 0xadc
push str.._ssl_s3_srvr.c
push 0x92
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590b53
mov ebx, dword [edi + 0xe0]
test ebx, ebx
jne 0x590965
push 0xae1
push str.._ssl_s3_srvr.c
push 0xe1
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590b53
push esi
push eax
lea eax, [esp + 0x78]
push eax
call fcn.00489dd0
mov ecx, 0x81
sub ecx, esi
push ecx
lea edx, [esp + esi + 0x80]
push 0
push edx
call fcn.0048b3f0
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.004f71a0
add esp, 0x30
cmp ebx, 0x100
jbe 0x5909df
push 0xaf0
push str.._ssl_s3_srvr.c
push 0x44
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590b53
test ebx, ebx
jne 0x590a09
push 0xaf7
push str.._ssl_s3_srvr.c
push 0xdf
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
lea ebp, [ebx + 0x73]
jmp 0x590b53
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.0048a400
mov eax, ebx
shr eax, 8
push ebx
mov dword [esp + 0x24], eax
mov byte [esp + 0x104], al
lea eax, [esp + 0x106]
push 0
push eax
mov byte [esp + 0x10d], bl
call fcn.0048b3f0
mov cl, byte [esp + 0x2c]
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 0x590a7a
push eax
call fcn.004eaa00
add esp, 4
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.004f71c0
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x90], eax
mov eax, dword [edi + 0xc0]
add esp, 8
cmp dword [eax + 0x90], 0
jne 0x590ac3
push 0xb09
push str.._ssl_s3_srvr.c
push 0x41
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590b53
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x590ad6
push eax
call fcn.004eaa00
add esp, 4
mov edx, dword [edi + 0xe4]
mov eax, dword [edx + 0x14c]
push eax
call fcn.004f7370
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x8c], eax
mov edx, dword [edi + 0xe4]
add esp, 4
cmp dword [edx + 0x14c], 0
je 0x590b1c
mov eax, dword [edi + 0xc0]
cmp dword [eax + 0x8c], 0
jne 0x590b1c
push 0xb12
jmp 0x590aa8
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 + 0x18], 0
lea eax, [esp + 0xf4]
push 0x204
push eax
call fcn.004f71a0
add esp, 8
cmp dword [esp + 0x18], 0
jne 0x590e81
mov eax, 1
jmp 0x590ecc
test ebx, 0x400
je 0x590cbd
xor ecx, ecx
mov ch, byte [eax]
add eax, 2
mov cl, byte [eax - 1]
mov dword [esp + 0x10], eax
lea ebx, [ecx + 2]
cmp ebx, edx
jle 0x590bb7
push 0xb2c
push str.._ssl_s3_srvr.c
mov ebp, 0x32
push 0x15b
jmp 0x590e72
push esi
push ecx
push eax
call fcn.004f0200
add esp, 0xc
cmp eax, esi
mov dword [edi + 0x1b8], eax
jne 0x590bec
push 0xb30
push str.._ssl_s3_srvr.c
push 3
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
mov ecx, dword [edi + 0x1a8]
push ecx
push eax
call fcn.004f0380
add esp, 8
test eax, eax
jge 0x590ca4
mov edx, dword [edi + 0x1b8]
cmp dword [edx + 4], esi
je 0x590ca4
mov eax, dword [edi + 0xc0]
mov eax, dword [eax + 0xf0]
cmp eax, esi
je 0x590c2c
push eax
call fcn.004eaa00
add esp, 4
mov ecx, dword [edi + 0x1a4]
push ecx
call fcn.004f7370
mov edx, dword [edi + 0xc0]
mov dword [edx + 0xf0], eax
mov eax, dword [edi + 0xc0]
add esp, 4
cmp dword [eax + 0xf0], esi
jne 0x590c5f
push 0xb3e
jmp 0x5905f3
add eax, 0x14
push eax
push edi
call fcn.0057e6e0
mov ecx, dword [edi + 0xc0]
mov dword [ecx + 0x10], eax
mov edx, dword [edi + 0xc0]
add esp, 8
cmp dword [edx + 0x10], esi
jge 0x590360
push 0xb45
push str.._ssl_s3_srvr.c
push 0x44
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
jmp 0x590e8d
push 0xb37
push str.._ssl_s3_srvr.c
mov ebp, 0x2f
push 0x173
jmp 0x590e72
test ebx, 0x200
je 0x590e5e
mov dword [esp + 0x3c], 0x20
mov eax, dword [ecx + 0x344]
mov eax, dword [eax + 0x10]
xor ebx, ebx
xor ebp, ebp
xor edx, edx
test eax, 0x100
je 0x590cf5
mov ecx, dword [edi + 0x98]
mov edx, dword [ecx + 0xe8]
jmp 0x590d08
test eax, 0x200
je 0x590d08
mov edx, dword [edi + 0x98]
mov edx, dword [edx + 0x104]
push 0
push edx
call fcn.0051bcb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x590d2d
push 0xb60
push str.._ssl_s3_srvr.c
lea ebp, [eax + 0x50]
push 0x41
jmp 0x590e72
push esi
call fcn.00538da0
add esp, 4
test eax, eax
jg 0x590d4b
push 0xb64
push str.._ssl_s3_srvr.c
push 0x44
jmp 0x590e38
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x9c]
push ecx
call fcn.004e6ee0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x590d79
push ebp
push esi
call fcn.00538f10
add esp, 8
test eax, eax
jg 0x590d79
call fcn.004e83c0
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.004eaf10
add esp, 0x14
cmp eax, 0x20
jne 0x590e29
cmp dword [esp + 0x30], 0x10
jne 0x590e29
cmp dword [esp + 0x18], ebx
jne 0x590e29
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.00538e10
add esp, 0x14
test eax, eax
jg 0x590dd8
push 0xb80
jmp 0x590e2e
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.004f71a0
push 0
push 2
push 2
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.0051ba70
xor ebx, ebx
add esp, 0x30
test eax, eax
setg bl
add ebx, 1
jmp 0x590e47
push 0xb78
push str.._ssl_s3_srvr.c
push 0x93
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
push ebp
call fcn.004e6a70
push esi
call fcn.0051ba10
add esp, 8
test ebx, ebx
je 0x590e8d
mov eax, ebx
jmp 0x590ecc
push 0xb99
push str.._ssl_s3_srvr.c
push 0xf9
mov ebp, 0x28
push 0x8b
push 0x14
call fcn.004e82c0
add esp, 0x14
push ebp
push 2
push edi
call fcn.0057c910
add esp, 0xc
mov eax, dword [esp + 0x28]
push eax
call fcn.004e6a70
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004fbac0
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x590eb5
push eax
call fcn.004f7a60
add esp, 4
mov edx, dword [esp + 0x2c]
push edx
call fcn.005152b0
add esp, 4
mov dword [edi + 0x34], 5
or eax, 0xffffffff
pop ebp
pop ebx
mov ecx, dword [esp + 0x2f0]
pop edi
pop esi
xor ecx, esp
call fcn.00489dc1
add esp, 0x2ec
ret