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

Disassembly:
mov eax, 0x6c
call fcn.0062f130
mov eax, dword [0x6d3f68]
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 0x6214e0
cmp dword [ebp], 5
jae 0x6216ee
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.005ff2e0
add esp, 0x18
test eax, eax
jle 0x622253
mov ebx, dword [ebp]
mov edx, dword [esi + 0x12e0]
mov dword [esi + 0x9bc], 0xf1
cmp ebx, 0x7fffffff
ja 0x622225
cmp ebx, 2
jb 0x622214
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 0x622214
cmp dword [esi + 0x1c], 0
mov al, byte [edx + 2]
je 0x6215c6
cmp dword [esi + 0x1318], 0
je 0x6215c6
test ecx, 0x8000
je 0x6215c6
cmp al, 1
jne 0x6215c6
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 0x621835
cmp ecx, 9
jae 0x6216e5
call fcn.004dd410
push str.ssl3_get_record
push 0x116
push 0x6c00d0
call fcn.004dd510
push 0
push 0xa0
push 0x32
jmp 0x622247
lea ecx, [ebx - 1]
cmp ecx, 2
jb 0x6221ce
movzx eax, byte [esp + 0x17]
sub ecx, 2
movzx ebx, byte [edx + 2]
shl eax, 8
or ebx, eax
cmp ecx, 2
jb 0x6221ce
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 0x621626
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 0x62165e
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x62164b
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x62164b
cmp eax, 0x10000
jne 0x62165e
cmp dword [esi + 0x7a4], 1
je 0x62165e
mov eax, dword [esi]
cmp ebx, eax
jne 0x62185c
and ebx, 0xffffff00
cmp ebx, 0x300
jne 0x6220ea
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x6216d4
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x6216d4
cmp eax, 0x10000
je 0x6216d4
cmp dword [esi + 0x724], 0
je 0x6216d4
mov eax, dword [edi - 4]
cmp eax, 0x17
je 0x6216c7
cmp eax, 0x14
jne 0x6216b4
cmp dword [esi + 0x1fc], 0
je 0x6216c7
cmp dword [esi + 0x280], 0
jmp 0x6216c1
cmp eax, 0x15
jne 0x6218d1
cmp dword [esi + 0x64], 1
jne 0x6218d1
cmp dword [edi - 8], 0x303
jne 0x6218f8
mov eax, dword [esi + 0x9d0]
sub eax, 5
cmp dword [edi], eax
ja 0x6220d6
mov ebx, dword [esp + 0x1c]
mov edx, 0x4540
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x62173b
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x62173b
cmp eax, 0x10000
je 0x62173b
mov ecx, dword [edi]
cmp ecx, 0x4100
jbe 0x621754
call fcn.004dd410
push str.ssl3_get_record
push 0x18c
push 0x6c00d0
call fcn.004dd510
push 0
push 0x96
push 0x16
jmp 0x622247
cmp dword [esi + 0x740], 0
mov eax, 0x4140
mov ecx, dword [edi]
cmovne eax, edx
cmp ecx, eax
ja 0x6220c2
cmp dword [edi - 8], 2
lea eax, [ecx - 3]
cmovne eax, ecx
test eax, eax
je 0x62177e
lea ecx, [esp + 0x2c]
push ecx
push 0
push 1
push eax
push eax
push esi
call fcn.005ff2e0
add esp, 0x18
test eax, eax
jle 0x622253
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 0x621923
cmp dword [ebx - 4], 0x17
jne 0x621923
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x64]
test byte [eax + 0x30], 1
je 0x621923
mov eax, dword [esi + 0x724]
test eax, eax
je 0x621923
push eax
call fcn.004d7860
push eax
call fcn.004d67a0
add esp, 8
test eax, 0x800000
je 0x62191f
push esi
call fcn.00622270
add esp, 4
test eax, eax
je 0x62191f
mov ecx, dword [esp + 0x10]
jmp 0x6214b9
call fcn.004dd410
push str.ssl3_get_record
push 0x111
push 0x6c00d0
call fcn.004dd510
push 0
push 0xc6
push 0x16
jmp 0x622247
xor eax, ebx
test eax, 0xff00
jne 0x6218aa
cmp dword [esi + 0x744], 0
jne 0x6218aa
cmp dword [esi + 0x758], 0
jne 0x6218aa
mov eax, dword [esp + 0x1c]
cmp dword [eax - 4], 0x15
jne 0x6218a8
call fcn.004dd410
push str.ssl3_get_record
push 0x143
push 0x6c00d0
call fcn.004dd510
push 0
push 0x10b
push 0xffffffffffffffff
jmp 0x622247
mov dword [esi], ebx
call fcn.004dd410
push str.ssl3_get_record
push 0x14c
push 0x6c00d0
call fcn.004dd510
push 0
push 0x10b
push 0x46
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0x174
push 0x6c00d0
call fcn.004dd510
push 0
push 0x1bb
push 0xa
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0x179
push 0x6c00d0
call fcn.004dd510
push 0
push 0x10b
push 0x32
jmp 0x622247
mov edx, dword [esp + 0x10]
cmp edx, 1
jne 0x621a0f
cmp dword [ebx - 4], 0x14
jne 0x621a0f
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x621952
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x621952
cmp eax, 0x10000
jne 0x62195f
cmp dword [esi + 0x7a4], 0
je 0x621a0f
cmp dword [esi + 0x1fc], 0
je 0x621975
cmp dword [esi + 0x280], 0
jne 0x621a0f
cmp dword [ebx], 1
jne 0x6219e8
mov eax, dword [ebx + 0xc]
cmp byte [eax], 1
jne 0x6219e8
mov dword [ebx - 4], 0x16
inc dword [esi + 0x12f4]
cmp dword [esi + 0x12f4], 0x20
jbe 0x6219bf
call fcn.004dd410
push str.ssl3_get_record
push 0x1fc
push 0x6c00d0
call fcn.004dd510
push 0
push 0x106
push 0xa
jmp 0x622247
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.0062e5ad
add esp, 0x6c
ret
call fcn.004dd410
push str.ssl3_get_record
push 0x1f0
push 0x6c00d0
call fcn.004dd510
push 0
push 0x104
push 0x2f
jmp 0x622247
mov eax, dword [esi + 0x738]
test eax, eax
je 0x621a5f
push eax
call fcn.004d7860
add esp, 4
test eax, eax
je 0x621a63
push eax
call fcn.004dc8c0
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
cmp ebp, 0x40
jbe 0x621a65
call fcn.004dd410
push str.ssl3_get_record
push 0x212
push 0x6c00d0
call fcn.004dd510
push 0
push 0x80006
jmp 0x622245
xor ebp, ebp
jmp 0x621a69
xor ebp, ebp
mov edx, dword [esp + 0x10]
test dword [esi + 0x7c], 0x100
je 0x621bc6
cmp dword [esi + 0x738], 0
je 0x621bc6
xor ebx, ebx
test edx, edx
je 0x621aed
mov edi, dword [esp + 0x24]
nop dword [eax]
mov eax, dword [edi]
cmp eax, ebp
jb 0x621bb2
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 0x621b8b
push dword [esp + 0x18]
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.00401390
add esp, 0xc
test eax, eax
jne 0x621b8b
mov ebp, dword [esp + 0x18]
inc ebx
add edi, 0x30
cmp ebx, dword [esp + 0x10]
jb 0x621a90
xor ebp, ebp
mov dword [esp + 0x18], ebp
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 0x621c49
push esi
call fcn.005f7350
mov ebp, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x621d35
cmp ebp, 1
jne 0x621c19
push esi
call fcn.005f73f0
add esp, 4
test eax, eax
je 0x621c19
push 0
push 0x68
push dword [ebx + 8]
push esi
call fcn.00620cf0
add esp, 0x10
test eax, eax
je 0x621d35
mov dword [ebx + 8], 0
mov dword [ebx + 0x20], ebp
mov dword [esi + 0x9c0], ebp
add esi, 0x9b4
push esi
call fcn.005fdaa0
add esp, 4
mov ebx, ebp
jmp 0x621d38
call fcn.004dd410
push str.ssl3_get_record
push 0x22c
push 0x6c00d0
call fcn.004dd510
push 0
push 0x119
push 0x14
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0x224
jmp 0x6215ae
test ebp, ebp
je 0x621af3
push 0x238
lea eax, [edx*8]
push 0x6c00d0
push eax
call fcn.004d9330
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x621af3
call fcn.004dd410
push str.ssl3_get_record
push 0x23a
push 0x6c00d0
call fcn.004dd510
push 0
push 0xc0100
jmp 0x622245
call fcn.004dd410
push str.ssl3_get_record
push 0x262
push 0x6c00d0
call fcn.004dd510
push 0
push 0x119
push 0x14
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
cmp dword [esp + 0x34], 0
je 0x621d93
cmp dword [esi + 0x724], 0
je 0x621d93
test dword [esi + 0x7c], 0x100
jne 0x621d93
push dword [esi + 0x738]
call fcn.004d7860
add esp, 4
test eax, eax
je 0x621d93
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x621d93
mov dword [esp + 0x1c], ecx
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 0x621ccf
test edi, edi
je 0x621ccf
mov eax, dword [edi]
test eax, eax
je 0x621ccf
push dword [esp + 0x18]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00401390
add esp, 0xc
test eax, eax
je 0x621cd1
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 0x621c94
test ebp, ebp
jne 0x621d93
push esi
call fcn.005f7350
add esp, 4
test eax, eax
jne 0x621d31
call fcn.004dd410
push str.ssl3_get_record
push 0x28a
push 0x6c00d0
call fcn.004dd510
push ebp
push 0x119
push 0x14
push esi
call fcn.005f72f0
add esp, 0x1c
mov ebp, dword [esp + 0x10]
or ebx, 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x621d7e
xor esi, esi
test ebp, ebp
je 0x621d6b
cmp dword [eax + esi*8 + 4], 0
je 0x621d66
push 0x2fd
push 0x6c00d0
push dword [eax + esi*8]
call fcn.004d90c0
mov eax, dword [esp + 0x2c]
add esp, 0xc
inc esi
cmp esi, ebp
jb 0x621d46
push 0x2ff
push 0x6c00d0
push eax
call fcn.004d90c0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0062e5ad
add esp, 0x6c
ret
mov ebp, dword [esp + 0x10]
xor ebx, ebx
test ebp, ebp
je 0x621f3b
lea edi, [esi + 0xce0]
cmp dword [esi + 0x740], 0
je 0x621dcf
cmp dword [edi + 8], 0x4400
ja 0x621fa2
push edi
push esi
call fcn.00621170
add esp, 8
test eax, eax
je 0x621f75
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x64]
test byte [eax + 0x30], 8
jne 0x621e6c
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x621e6c
cmp eax, 0x10000
je 0x621e6c
cmp dword [esi + 0x724], 0
je 0x621e6c
mov eax, dword [edi + 4]
cmp eax, 0x15
je 0x621e6c
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x622002
cmp eax, 0x17
jne 0x622002
add ecx, 0xffffffff
je 0x621e2b
mov eax, dword [edi + 0x14]
cmp byte [eax + ecx], 0
jne 0x621e2b
sub ecx, 1
jne 0x621e20
mov dword [edi + 8], ecx
add ecx, dword [edi + 0x14]
movzx eax, byte [ecx]
mov dword [edi + 4], eax
cmp eax, 0x17
je 0x621e4a
cmp eax, 0x15
je 0x621e4a
cmp eax, 0x16
jne 0x621fd2
mov eax, dword [esi + 0x3dc]
test eax, eax
je 0x621e6c
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 0x621e9f
mov eax, dword [ecx]
cmp eax, 0x304
jl 0x621e9f
cmp eax, 0x10000
je 0x621e9f
mov eax, dword [edi + 4]
cmp eax, 0x16
je 0x621e95
cmp eax, 0x15
jne 0x621e9f
cmp dword [edi + 8], 0
je 0x622032
mov edx, dword [edi + 8]
cmp edx, 0x4000
ja 0x622092
mov eax, dword [esi + 0x7cc]
test eax, eax
je 0x621ed8
mov cl, byte [eax + 0x30c]
lea eax, [ecx - 1]
cmp al, 3
ja 0x621ed8
movzx ecx, cl
mov eax, 0x200
dec ecx
shl eax, cl
cmp edx, eax
ja 0x622062
mov dword [edi + 0x10], 0
test edx, edx
jne 0x621f25
mov eax, dword [esi + 0x12f4]
inc eax
mov dword [esi + 0x12f4], eax
cmp eax, 0x20
jbe 0x621f2f
call fcn.004dd410
push str.ssl3_get_record
push 0x2e6
push 0x6c00d0
call fcn.004dd510
push 0
push 0x12a
push 0xa
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
mov dword [esi + 0x12f4], 0
inc ebx
add edi, 0x30
cmp ebx, ebp
jb 0x621da7
cmp dword [esi + 0x68], 0xb
jne 0x621f65
cmp dword [esi + 0xce4], 0x17
jne 0x621f65
mov eax, dword [esp + 0x24]
push 0
push 0
push dword [eax]
push esi
call fcn.00620cf0
add esp, 0x10
test eax, eax
je 0x621d35
mov dword [esi + 0x9c0], ebp
mov ebx, 1
jmp 0x621d38
call fcn.004dd410
push str.ssl3_get_record
push 0x29c
push 0x6c00d0
call fcn.004dd510
push 0
push 0x6b
push 0x1e
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x297
push 0x6c00d0
call fcn.004dd510
push 0
push 0x8c
push 0x16
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x2b6
push 0x6c00d0
call fcn.004dd510
push 0
push 0x1bb
push 0xa
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x2a8
push 0x6c00d0
call fcn.004dd510
push 0
push 0x1bb
push 0xa
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x2c6
push 0x6c00d0
call fcn.004dd510
push 0
push 0x10f
push 0xa
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x2d4
push 0x6c00d0
call fcn.004dd510
push 0
push 0x92
push 0x16
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x2cc
push 0x6c00d0
call fcn.004dd510
push 0
push 0x92
push 0x16
push esi
call fcn.005f72f0
add esp, 0x1c
jmp 0x621d35
call fcn.004dd410
push str.ssl3_get_record
push 0x19d
jmp 0x621723
call fcn.004dd410
push str.ssl3_get_record
push 0x181
jmp 0x621844
cmp dword [esi + 0x1318], 0
je 0x6221ba
mov edi, dword [esi + 0x12e0]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
push 4
push str.GET
push edi
call ebx
add esp, 0xc
test eax, eax
je 0x622193
push 5
push 0x6c0118
push edi
call ebx
add esp, 0xc
test eax, eax
je 0x622193
push 5
push 0x6c0120
push edi
call ebx
add esp, 0xc
test eax, eax
je 0x622193
push 4
push str.PUT
push edi
call ebx
add esp, 0xc
test eax, eax
je 0x622193
push 5
push str.CONNE
push edi
call ebx
add esp, 0xc
test eax, eax
jne 0x62217f
call fcn.004dd410
push str.ssl3_get_record
push 0x15d
push 0x6c00d0
call fcn.004dd510
push 0
push 0x9b
push 0xffffffffffffffff
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0x163
jmp 0x621890
call fcn.004dd410
push str.ssl3_get_record
push 0x159
push 0x6c00d0
call fcn.004dd510
push 0
push 0x9c
push 0xffffffffffffffff
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0x167
jmp 0x6218b9
mov eax, dword [esi + 0x3dc]
test eax, eax
je 0x6221f0
push dword [esi + 0x3e0]
push esi
push 5
push edx
push 0x100
push 0
push 0
call eax
add esp, 0x1c
call fcn.004dd410
push str.ssl3_get_record
push 0x123
push 0x6c00d0
call fcn.004dd510
push 0
push 0xc0103
push 0x32
jmp 0x622247
call fcn.004dd410
push str.ssl3_get_record
push 0xf7
jmp 0x6221ff
call fcn.004dd410
push str.ssl3_get_record
push 0xf1
push 0x6c00d0
call fcn.004dd510
push 0
push 0xc0103
push 0x50
push esi
call fcn.005f72f0
add esp, 0x1c
or eax, 0xffffffff
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0062e5ad
add esp, 0x6c
ret