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

Disassembly:
mov eax, 0x6c
call fcn.006df660
mov eax, dword [0x7f9c40]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
xor ecx, ecx
mov ebx, 1
mov dword [esp + 0x14], 0
push edi
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x870]
test eax, eax
mov dword [esp + 0x20], ecx
cmove eax, ebx
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x7cc]
mov dword [esp + 0x34], eax
lea eax, [esi + 0xce8]
mov dword [esp + 0x24], eax
mov edi, eax
cmp dword [esi + 0x9bc], 0xf1
lea ebp, [esi + 0x12e4]
mov ebx, edi
mov edx, 0x4540
mov dword [esp + 0x1c], ebx
jne 0x58e900
cmp dword [ebp], 5
jae 0x58eb0e
lea eax, [esp + 0x2c]
push eax
xor eax, eax
test ecx, ecx
sete al
push eax
push 0
push dword [esi + 0x9d0]
push 5
push esi
call fcn.0057ee30
add esp, 0x18
test eax, eax
jle 0x58f6a0
mov ebx, dword [ebp]
mov edx, dword [esi + 0x12e0]
mov dword [esi + 0x9bc], 0xf1
cmp ebx, 0x7fffffff
ja 0x58f672
cmp ebx, 2
jb 0x58f661
movzx ecx, byte [edx]
mov al, byte [edx + 1]
mov dword [esp + 0x28], ecx
mov byte [esp + 0x17], al
shl ecx, 8
movzx eax, al
or ecx, eax
lea eax, [ebx - 2]
test eax, eax
je 0x58f661
cmp dword [esi + 0x1c], 0
mov al, byte [edx + 2]
je 0x58e9e6
cmp dword [esi + 0x1318], 0
je 0x58e9e6
test ecx, 0x8000
je 0x58e9e6
cmp al, 1
jne 0x58e9e6
and ecx, 0x7fff
mov dword [edi - 4], 0x16
mov dword [edi - 8], 2
mov dword [edi], ecx
mov eax, dword [esi + 0x9d0]
sub eax, 2
cmp ecx, eax
ja 0x58ec55
cmp ecx, 9
jae 0x58eb05
call fcn.005cc9b0
push str.ssl3_get_record
push 0x116
push 0x7401c4
call fcn.005ccab0
push 0
push 0xa0
push 0x32
jmp 0x58f694
lea ecx, [ebx - 1]
cmp ecx, 2
jb 0x58f61b
movzx eax, byte [esp + 0x17]
sub ecx, 2
movzx ebx, byte [edx + 2]
shl eax, 8
or ebx, eax
cmp ecx, 2
jb 0x58f61b
movzx eax, byte [edx + 3]
movzx ecx, byte [edx + 4]
shl eax, 8
or ecx, eax
mov dword [edi - 8], ebx
mov eax, dword [esp + 0x28]
mov dword [edi], ecx
mov dword [edi - 4], eax
mov eax, dword [esi + 0x3dc]
test eax, eax
je 0x58ea46
push dword [esi + 0x3e0]
push esi
push 5
push edx
push 0x100
push ebx
push 0
call eax
add esp, 0x1c
cmp dword [esi + 0x860], 0
jne 0x58ea7e
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58ea6b
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58ea6b
cmp eax, 0x10000
jne 0x58ea7e
cmp dword [esi + 0x7a4], 1
je 0x58ea7e
mov eax, dword [esi]
cmp ebx, eax
jne 0x58ec7c
and ebx, 0xffffff00
cmp ebx, 0x300
jne 0x58f52a
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58eaf4
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58eaf4
cmp eax, 0x10000
je 0x58eaf4
cmp dword [esi + 0x724], 0
je 0x58eaf4
mov eax, dword [edi - 4]
cmp eax, 0x17
je 0x58eae7
cmp eax, 0x14
jne 0x58ead4
cmp dword [esi + 0x1fc], 0
je 0x58eae7
cmp dword [esi + 0x280], 0
jmp 0x58eae1
cmp eax, 0x15
jne 0x58ecf1
cmp dword [esi + 0x64], 1
jne 0x58ecf1
cmp dword [edi - 8], 0x303
jne 0x58ed18
mov eax, dword [esi + 0x9d0]
sub eax, 5
cmp dword [edi], eax
ja 0x58f516
mov ebx, dword [esp + 0x1c]
mov edx, 0x4540
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58eb5b
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58eb5b
cmp eax, 0x10000
je 0x58eb5b
mov ecx, dword [edi]
cmp ecx, 0x4100
jbe 0x58eb74
call fcn.005cc9b0
push str.ssl3_get_record
push 0x18c
push 0x7401c4
call fcn.005ccab0
push 0
push 0x96
push 0x16
jmp 0x58f694
cmp dword [esi + 0x740], 0
mov eax, 0x4140
mov ecx, dword [edi]
cmovne eax, edx
cmp ecx, eax
ja 0x58f502
cmp dword [edi - 8], 2
lea eax, [ecx - 3]
cmovne eax, ecx
test eax, eax
je 0x58eb9e
lea ecx, [esp + 0x2c]
push ecx
push 0
push 1
push eax
push eax
push esi
call fcn.0057ee30
add esp, 0x18
test eax, eax
jle 0x58f6a0
mov edx, dword [esp + 0x10]
mov ecx, 2
mov dword [esi + 0x9bc], 0xf0
mov eax, 5
cmp dword [edi - 8], ecx
cmovne ecx, eax
mov eax, dword [esi + 0x12e0]
add eax, ecx
inc edx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
mov dword [edi + 4], eax
mov dword [edi + 0x18], 0
add edi, 0x30
mov dword [esp + 0x10], edx
mov dword [ebp], 0
mov dword [esi + 0x1318], 0
cmp edx, dword [esp + 0x30]
jae 0x58ed43
cmp dword [ebx - 4], 0x17
jne 0x58ed43
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x64]
test byte [eax + 0x30], 1
je 0x58ed43
mov eax, dword [esi + 0x724]
test eax, eax
je 0x58ed43
push eax
call fcn.005be3b0
push eax
call fcn.005b98f0
add esp, 8
test eax, 0x800000
je 0x58ed3f
push esi
call fcn.0058f6c0
add esp, 4
test eax, eax
je 0x58ed3f
mov ecx, dword [esp + 0x10]
jmp 0x58e8d9
call fcn.005cc9b0
push str.ssl3_get_record
push 0x111
push 0x7401c4
call fcn.005ccab0
push 0
push 0xc6
push 0x16
jmp 0x58f694
xor eax, ebx
test eax, 0xff00
jne 0x58ecca
cmp dword [esi + 0x744], 0
jne 0x58ecca
cmp dword [esi + 0x758], 0
jne 0x58ecca
mov eax, dword [esp + 0x1c]
cmp dword [eax - 4], 0x15
jne 0x58ecc8
call fcn.005cc9b0
push str.ssl3_get_record
push 0x143
push 0x7401c4
call fcn.005ccab0
push 0
push 0x10b
push 0xffffffffffffffff
jmp 0x58f694
mov dword [esi], ebx
call fcn.005cc9b0
push str.ssl3_get_record
push 0x14c
push 0x7401c4
call fcn.005ccab0
push 0
push 0x10b
push 0x46
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0x174
push 0x7401c4
call fcn.005ccab0
push 0
push 0x1bb
push 0xa
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0x179
push 0x7401c4
call fcn.005ccab0
push 0
push 0x10b
push 0x32
jmp 0x58f694
mov edx, dword [esp + 0x10]
cmp edx, 1
jne 0x58ee2f
cmp dword [ebx - 4], 0x14
jne 0x58ee2f
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58ed72
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58ed72
cmp eax, 0x10000
jne 0x58ed7f
cmp dword [esi + 0x7a4], 0
je 0x58ee2f
cmp dword [esi + 0x1fc], 0
je 0x58ed95
cmp dword [esi + 0x280], 0
jne 0x58ee2f
cmp dword [ebx], 1
jne 0x58ee08
mov eax, dword [ebx + 0xc]
cmp byte [eax], 1
jne 0x58ee08
mov dword [ebx - 4], 0x16
inc dword [esi + 0x12f4]
cmp dword [esi + 0x12f4], 0x20
jbe 0x58eddf
call fcn.005cc9b0
push str.ssl3_get_record
push 0x200
push 0x7401c4
call fcn.005ccab0
push 0
push 0x106
push 0xa
jmp 0x58f694
pop edi
mov dword [ebx + 0x18], 1
mov eax, 1
mov dword [esi + 0x9c0], 1
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.006def69
add esp, 0x6c
ret
call fcn.005cc9b0
push str.ssl3_get_record
push 0x1f4
push 0x7401c4
call fcn.005ccab0
push 0
push 0x104
push 0x2f
jmp 0x58f694
mov eax, dword [esi + 0x738]
test eax, eax
je 0x58ee7f
push eax
call fcn.005be3b0
add esp, 4
test eax, eax
je 0x58ee83
push eax
call fcn.005cd640
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
cmp ebp, 0x40
jbe 0x58ee85
call fcn.005cc9b0
push str.ssl3_get_record
push 0x216
push 0x7401c4
call fcn.005ccab0
push 0
push 0x80006
jmp 0x58f692
xor ebp, ebp
jmp 0x58ee89
xor ebp, ebp
mov edx, dword [esp + 0x10]
test dword [esi + 0x7c], 0x100
je 0x58eff8
cmp dword [esi + 0x738], 0
je 0x58eff8
xor ebx, ebx
test edx, edx
je 0x58ef0d
mov edi, dword [esp + 0x24]
nop dword [eax]
mov eax, dword [edi]
cmp eax, ebp
jb 0x58efe4
sub eax, ebp
mov ebp, dword [edi + 0xc]
mov dword [edi], eax
add ebp, eax
mov eax, dword [esi + 4]
push 0
mov ecx, dword [eax + 0x64]
lea eax, [esp + 0x3c]
push eax
lea eax, [edi - 8]
push eax
mov eax, dword [ecx + 4]
push esi
call eax
add esp, 0x10
test eax, eax
je 0x58efbd
push dword [esp + 0x18]
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.00401390
add esp, 0xc
test eax, eax
jne 0x58efbd
mov ebp, dword [esp + 0x18]
inc ebx
add edi, 0x30
cmp ebx, dword [esp + 0x10]
jb 0x58eeb0
xor ebp, ebp
mov dword [esp + 0x18], ebp
call fcn.005c27b0
mov eax, dword [esi + 4]
lea ebx, [esi + 0xce0]
mov edi, dword [esp + 0x20]
push ebp
push edi
mov eax, dword [eax + 0x64]
push 0
push dword [esp + 0x1c]
mov eax, dword [eax]
push ebx
push esi
call eax
mov ebp, eax
add esp, 0x18
test ebp, ebp
jne 0x58f0d9
push esi
call fcn.0057c6d0
add esp, 4
test eax, eax
je 0x58f04b
call fcn.005c21f0
mov ebp, dword [esp + 0x10]
or ebx, 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x58efa8
xor esi, esi
test ebp, ebp
je 0x58ef95
nop
cmp dword [eax + esi*8 + 4], 0
je 0x58ef90
push 0x317
push 0x7401c4
push dword [eax + esi*8]
call fcn.005a9ba0
mov eax, dword [esp + 0x2c]
add esp, 0xc
inc esi
cmp esi, ebp
jb 0x58ef70
push 0x319
push 0x7401c4
push eax
call fcn.005a9ba0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.006def69
add esp, 0x6c
ret
call fcn.005cc9b0
push str.ssl3_get_record
push 0x230
push 0x7401c4
call fcn.005ccab0
push 0
push 0x119
push 0x14
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0x228
jmp 0x58e9ce
test ebp, ebp
je 0x58ef13
push 0x23c
lea eax, [edx*8]
push 0x7401c4
push eax
call fcn.005a9e00
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x58ef13
call fcn.005cc9b0
push str.ssl3_get_record
push 0x23e
push 0x7401c4
call fcn.005ccab0
push 0
push 0xc0100
jmp 0x58f692
mov ebp, dword [esp + 0x10]
cmp ebp, 1
jne 0x58f0a4
push esi
call fcn.0057c770
add esp, 4
test eax, eax
je 0x58f0a4
call fcn.005c25d0
push 0
push 0x68
push dword [ebx + 8]
push esi
call fcn.0058e100
add esp, 0x10
test eax, eax
je 0x58ef5d
mov dword [ebx + 8], 0
mov dword [ebx + 0x20], ebp
mov dword [esi + 0x9c0], ebp
add esi, 0x9b4
push esi
call fcn.0057d530
add esp, 4
mov ebx, ebp
jmp 0x58ef60
call fcn.005c21f0
call fcn.005cc9b0
push str.ssl3_get_record
push 0x26f
push 0x7401c4
call fcn.005ccab0
push 0
push 0x119
push 0x14
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005c21f0
cmp dword [esp + 0x34], 0
je 0x58f1d2
cmp dword [esi + 0x724], 0
je 0x58f1d2
test dword [esi + 0x7c], 0x100
jne 0x58f1d2
push dword [esi + 0x738]
call fcn.005be3b0
add esp, 4
test eax, eax
je 0x58f1d2
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x58f1d2
mov dword [esp + 0x1c], ecx
nop dword [eax]
mov eax, dword [esi + 4]
lea ecx, [esp + 0x38]
push 0
push ecx
push ebx
mov eax, dword [eax + 0x64]
push esi
mov eax, dword [eax + 4]
call eax
add esp, 0x10
test eax, eax
je 0x58f16b
test edi, edi
je 0x58f16b
mov eax, dword [edi]
test eax, eax
je 0x58f16b
push dword [esp + 0x18]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00401390
add esp, 0xc
test eax, eax
je 0x58f16d
xor ebp, ebp
mov ecx, dword [esp + 0x18]
xor eax, eax
add ecx, 0x4400
cmp dword [ebx + 8], ecx
cmovbe eax, ebp
add edi, 8
add ebx, 0x30
mov ebp, eax
sub dword [esp + 0x1c], 1
jne 0x58f130
test ebp, ebp
jne 0x58f1d2
push esi
call fcn.0057c6d0
add esp, 4
test eax, eax
jne 0x58ef59
call fcn.005cc9b0
push str.ssl3_get_record
push 0x299
push 0x7401c4
call fcn.005ccab0
push ebp
push 0x119
push 0x14
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef59
mov ebp, dword [esp + 0x10]
xor ebx, ebx
test ebp, ebp
je 0x58f37b
lea edi, [esi + 0xce0]
cmp dword [esi + 0x740], 0
je 0x58f20e
cmp dword [edi + 8], 0x4400
ja 0x58f3e2
push edi
push esi
call fcn.0058e580
add esp, 8
test eax, eax
je 0x58f3b5
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58f2ac
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58f2ac
cmp eax, 0x10000
je 0x58f2ac
cmp dword [esi + 0x724], 0
je 0x58f2ac
mov eax, dword [edi + 4]
cmp eax, 0x15
je 0x58f2ac
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x58f442
cmp eax, 0x17
jne 0x58f442
add ecx, 0xffffffff
je 0x58f26b
mov eax, dword [edi + 0x14]
nop
cmp byte [eax + ecx], 0
jne 0x58f26b
sub ecx, 1
jne 0x58f260
mov dword [edi + 8], ecx
add ecx, dword [edi + 0x14]
movzx eax, byte [ecx]
mov dword [edi + 4], eax
cmp eax, 0x17
je 0x58f28a
cmp eax, 0x15
je 0x58f28a
cmp eax, 0x16
jne 0x58f412
mov eax, dword [esi + 0x3dc]
test eax, eax
je 0x58f2ac
push dword [esi + 0x3e0]
push esi
push 1
push ecx
push 0x101
push dword [esi]
push 0
call eax
add esp, 0x1c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x58f2df
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x58f2df
cmp eax, 0x10000
je 0x58f2df
mov eax, dword [edi + 4]
cmp eax, 0x16
je 0x58f2d5
cmp eax, 0x15
jne 0x58f2df
cmp dword [edi + 8], 0
je 0x58f472
mov edx, dword [edi + 8]
cmp edx, 0x4000
ja 0x58f4d2
mov eax, dword [esi + 0x7cc]
test eax, eax
je 0x58f318
mov cl, byte [eax + 0x2fc]
lea eax, [ecx - 1]
cmp al, 3
ja 0x58f318
movzx ecx, cl
mov eax, 0x200
dec ecx
shl eax, cl
cmp edx, eax
ja 0x58f4a2
mov dword [edi + 0x10], 0
test edx, edx
jne 0x58f365
mov eax, dword [esi + 0x12f4]
inc eax
mov dword [esi + 0x12f4], eax
cmp eax, 0x20
jbe 0x58f36f
call fcn.005cc9b0
push str.ssl3_get_record
push 0x300
push 0x7401c4
call fcn.005ccab0
push 0
push 0x12a
push 0xa
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
mov dword [esi + 0x12f4], 0
inc ebx
add edi, 0x30
cmp ebx, ebp
jb 0x58f1e6
cmp dword [esi + 0x68], 0xb
jne 0x58f3a5
cmp dword [esi + 0xce4], 0x17
jne 0x58f3a5
mov eax, dword [esp + 0x24]
push 0
push 0
push dword [eax]
push esi
call fcn.0058e100
add esp, 0x10
test eax, eax
je 0x58ef5d
mov dword [esi + 0x9c0], ebp
mov ebx, 1
jmp 0x58ef60
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2ab
push 0x7401c4
call fcn.005ccab0
push 0
push 0x6b
push 0x1e
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2a6
push 0x7401c4
call fcn.005ccab0
push 0
push 0x8c
push 0x16
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2c5
push 0x7401c4
call fcn.005ccab0
push 0
push 0x1bb
push 0xa
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2b7
push 0x7401c4
call fcn.005ccab0
push 0
push 0x1bb
push 0xa
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2d5
push 0x7401c4
call fcn.005ccab0
push 0
push 0x10f
push 0xa
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2ee
push 0x7401c4
call fcn.005ccab0
push 0
push 0x92
push 0x16
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x2e3
push 0x7401c4
call fcn.005ccab0
push 0
push 0x92
push 0x16
push esi
call fcn.0057c660
add esp, 0x1c
jmp 0x58ef5d
call fcn.005cc9b0
push str.ssl3_get_record
push 0x1a1
jmp 0x58eb43
call fcn.005cc9b0
push str.ssl3_get_record
push 0x181
jmp 0x58ec64
cmp dword [esi + 0x1318], 0
je 0x58f607
mov edi, dword [esi + 0x12e0]
push 4
push str.GET
push edi
call fcn.006f65d0
add esp, 0xc
test eax, eax
je 0x58f5e0
push 5
push str.POST
push edi
call fcn.006f65d0
add esp, 0xc
test eax, eax
je 0x58f5e0
push 5
push str.HEAD
push edi
call fcn.006f65d0
add esp, 0xc
test eax, eax
je 0x58f5e0
push 4
push str.PUT
push edi
call fcn.006f65d0
add esp, 0xc
test eax, eax
je 0x58f5e0
push 5
push str.CONNE
push edi
call fcn.006f65d0
add esp, 0xc
test eax, eax
jne 0x58f5cc
call fcn.005cc9b0
push str.ssl3_get_record
push 0x15d
push 0x7401c4
call fcn.005ccab0
push 0
push 0x9b
push 0xffffffffffffffff
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0x163
jmp 0x58ecb0
call fcn.005cc9b0
push str.ssl3_get_record
push 0x159
push 0x7401c4
call fcn.005ccab0
push 0
push 0x9c
push 0xffffffffffffffff
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0x167
jmp 0x58ecd9
mov eax, dword [esi + 0x3dc]
test eax, eax
je 0x58f63d
push dword [esi + 0x3e0]
push esi
push 5
push edx
push 0x100
push 0
push 0
call eax
add esp, 0x1c
call fcn.005cc9b0
push str.ssl3_get_record
push 0x123
push 0x7401c4
call fcn.005ccab0
push 0
push 0xc0103
push 0x32
jmp 0x58f694
call fcn.005cc9b0
push str.ssl3_get_record
push 0xf7
jmp 0x58f64c
call fcn.005cc9b0
push str.ssl3_get_record
push 0xf1
push 0x7401c4
call fcn.005ccab0
push 0
push 0xc0103
push 0x50
push esi
call fcn.0057c660
add esp, 0x1c
or eax, 0xffffffff
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006def69
add esp, 0x6c
ret