Function at 0x521730
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x28
call fcn.0053f970
mov eax, dword [0x600f80]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
xor ebp, ebp
push edi
xor edi, edi
cmp dword [esi + 0x34], 0x2210
jne 0x52180d
push esi
call fcn.0052c570
add esp, 4
test eax, eax
je 0x521def
push 0xb
push esi
call fcn.005366f0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 0xb
jne 0x521df2
mov edi, dword [esi + 0x4c]
movq xmm0, qword [edi]
movq qword [esp + 0x28], xmm0
mov ax, word [edi + 8]
mov word [esp + 0x30], ax
movzx eax, byte [edi + 0xa]
mov byte [esp + 0x32], al
mov al, byte [edi]
test al, al
jns 0x5218ba
cmp byte [edi + 2], 1
jne 0x5218ba
mov al, byte [edi + 3]
test al, al
jne 0x5217dd
cmp byte [edi + 4], 2
jne 0x5217dd
test dword [esi + 0x100], 0x1000000
mov edi, dword [esp + 0x10]
jne 0x52180d
mov ebp, 1
jmp 0x52180d
cmp al, 3
jne 0x521809
mov al, byte [edi + 4]
cmp al, 1
jb 0x521889
cmp al, 3
jb 0x521859
test dword [esi + 0x100], 0x8000000
jne 0x521859
mov dword [esi], 0x303
mov dword [esi + 0x34], 0x2211
mov edi, dword [esp + 0x10]
cmp dword [esi + 0x34], 0x2211
jne 0x521c0e
mov eax, dword [esi + 0x4c]
mov ebp, 2
movzx edi, byte [eax]
movzx ecx, byte [eax + 4]
and edi, 0x7f
movzx eax, byte [eax + 1]
shl edi, 8
or edi, eax
mov dword [esp + 0x14], ecx
cmp edi, 0x1000
jle 0x521a57
push 0x1c2
push str.._ssl_s23_srvr.c
push 0xd6
jmp 0x521de3
cmp al, 2
jb 0x521871
test dword [esi + 0x100], 0x10000000
jne 0x521871
mov dword [esi], 0x302
jmp 0x521802
mov eax, dword [esi + 0x100]
test eax, 0x4000000
jne 0x52188f
mov dword [esi], 0x301
jmp 0x521802
mov eax, dword [esi + 0x100]
test eax, 0x2000000
jne 0x5218a1
mov dword [esi], 0x300
jmp 0x521802
mov edi, dword [esp + 0x10]
test eax, 0x1000000
jne 0x52180d
mov ebp, 1
jmp 0x52180d
cmp al, 0x16
jne 0x5219c7
cmp byte [edi + 1], 3
jne 0x5219c7
cmp byte [edi + 5], 1
jne 0x5219c7
mov al, byte [edi + 3]
test al, al
jne 0x5218e3
cmp byte [edi + 4], 5
jb 0x5218ed
cmp byte [edi + 9], 3
jb 0x5219c7
test al, al
jne 0x5218f7
cmp byte [edi + 4], 6
jb 0x52194f
cmp byte [edi + 9], 3
jbe 0x521904
mov eax, 0xff
jmp 0x521912
movzx eax, byte [edi + 0xa]
cmp eax, 1
jl 0x52198b
cmp eax, 3
jl 0x52192e
test dword [esi + 0x100], 0x8000000
jne 0x52192e
mov dword [esi], 0x303
mov ebp, 3
jmp 0x521809
cmp eax, 2
jl 0x52194f
test dword [esi + 0x100], 0x10000000
jne 0x52194f
mov dword [esi], 0x302
mov ebp, 3
jmp 0x521809
mov eax, dword [esi + 0x100]
test eax, 0x4000000
jne 0x52196c
mov dword [esi], 0x301
mov ebp, 3
jmp 0x521809
mov edi, dword [esp + 0x10]
test eax, 0x2000000
jne 0x52180d
mov dword [esi], 0x300
mov ebp, 3
jmp 0x52180d
mov eax, dword [esi + 0x100]
test eax, 0x2000000
jne 0x5219a8
mov dword [esi], 0x300
mov ebp, 3
jmp 0x521809
mov edi, dword [esp + 0x10]
test eax, 0x4000000
jne 0x52180d
mov dword [esi], 0x301
mov ebp, 3
jmp 0x52180d
push 4
push edi
push str.GET
call fcn.00540090
add esp, 0xc
test eax, eax
je 0x521a43
push 5
push edi
push 0x5e2bd0
call fcn.00540090
add esp, 0xc
test eax, eax
je 0x521a43
push 5
push edi
push str.HEAD
call fcn.00540090
add esp, 0xc
test eax, eax
je 0x521a43
push 4
push edi
push str.PUT
call fcn.00540090
add esp, 0xc
test eax, eax
je 0x521a43
push 7
push edi
push str.CONNECT
call fcn.00540090
add esp, 0xc
test eax, eax
jne 0x521809
push 0x1a7
push str.._ssl_s23_srvr.c
push 0x9b
jmp 0x521de3
push 0x1a2
push str.._ssl_s23_srvr.c
push 0x9c
jmp 0x521de3
lea eax, [edi + 2]
push eax
push esi
call fcn.005366f0
add esp, 8
test eax, eax
jle 0x521df2
mov eax, dword [esi + 0x50]
sub eax, 2
push eax
mov eax, dword [esi + 0x4c]
add eax, 2
push eax
push esi
call fcn.00535940
mov ecx, dword [esi + 0x64]
add esp, 0xc
test ecx, ecx
je 0x521aa7
push dword [esi + 0x68]
mov eax, dword [esi + 0x50]
push esi
sub eax, 2
push eax
mov eax, dword [esi + 0x4c]
add eax, 2
push eax
push 0
push 2
push 0
call ecx
add esp, 0x1c
mov ecx, dword [esi + 0x4c]
movzx eax, byte [ecx + 5]
movzx edx, byte [ecx + 6]
movzx ebx, byte [ecx + 8]
shl eax, 8
or edx, eax
movzx eax, byte [ecx + 7]
shl eax, 8
or ebx, eax
mov dword [esp + 0x18], edx
movzx eax, byte [ecx + 9]
shl eax, 8
mov dword [esp + 0x1c], ebx
movzx ebx, byte [ecx + 0xa]
add ecx, 0xb
or ebx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x10], ebx
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x10]
add eax, 0xb
add eax, dword [esp + 0x1c]
add eax, edx
cmp eax, dword [esi + 0x50]
je 0x521b10
push 0x1d7
push str.._ssl_s23_srvr.c
push 0xd5
jmp 0x521de3
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
mov byte [ebx], 1
inc ebx
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x24], ebx
mov byte [ebx + 3], 3
mov byte [ebx + 4], al
mov eax, dword [esp + 0x10]
cmp eax, 0x20
movdqu xmmword [ebx + 5], xmm0
cmova eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, ecx
push eax
lea eax, [ebx + 5]
sub eax, dword [esp + 0x18]
add eax, 0x20
push eax
movdqu xmmword [ebx + 0x15], xmm0
call fcn.005406f0
xor eax, eax
mov byte [ebx + 0x25], 0
lea edx, [ebx + 0x26]
mov dword [esp + 0x1c], eax
add esp, 0xc
mov dword [esp + 0x14], edx
add ebx, 0x28
xor ecx, ecx
cmp dword [esp + 0x18], eax
jbe 0x521bb4
mov edx, dword [esp + 0x20]
cmp byte [ecx + edx], 0
jne 0x521ba7
movzx eax, byte [ecx + edx + 1]
mov byte [ebx], al
movzx eax, byte [ecx + edx + 2]
mov byte [ebx + 1], al
add ebx, ebp
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x10], eax
add ecx, 3
cmp ecx, dword [esp + 0x18]
jb 0x521b85
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
sar eax, 8
mov byte [edx], al
mov eax, dword [esp + 0x10]
mov byte [edx + 1], al
mov byte [ebx], 1
inc ebx
mov byte [ebx], 0
mov eax, dword [esi + 0x3c]
sub ebx, dword [eax + 4]
sub ebx, 3
mov eax, ebx
mov byte [ecx + 2], bl
sar eax, 0x10
mov byte [ecx], al
mov eax, ebx
sar eax, 8
mov byte [ecx + 1], al
mov eax, dword [esi + 0x58]
mov dword [eax + 0x354], 1
mov eax, dword [esi + 0x58]
mov dword [eax + 0x340], 1
mov eax, dword [esi + 0x58]
mov dword [eax + 0x33c], ebx
jmp 0x521ce3
cmp ebp, 1
jne 0x521cd5
cmp dword [esi + 0x54], 0
push esi
jne 0x521c30
call fcn.005364d0
add esp, 4
test eax, eax
je 0x521def
jmp 0x521c38
call fcn.005361d0
add esp, 4
cmp dword [esi + 0x58], 0
je 0x521c47
push esi
call fcn.0052f8b0
add esp, 4
push 0x3fff
push dword [esi + 0x3c]
call fcn.004b2f00
add esp, 8
test eax, eax
je 0x521def
mov eax, dword [esi + 0x100]
mov dword [esi + 0x34], 0x2010
test eax, 0x4000000
je 0x521c86
test eax, 0x2000000
je 0x521c86
mov eax, dword [esi + 0x54]
mov dword [eax + 0xc], 0
jmp 0x521c90
mov eax, dword [esi + 0x54]
mov dword [eax + 0xc], 1
mov eax, dword [esi + 0x54]
lea ecx, [esp + 0x28]
push edi
mov dword [esi + 0x38], 0xf0
mov dword [esi + 0x50], edi
mov eax, dword [eax + 0x30]
push ecx
push eax
mov dword [esi + 0x4c], eax
call fcn.005406f0
mov eax, dword [esi + 0x54]
add esp, 0xc
mov dword [eax + 0x28], edi
mov eax, dword [esi + 0x54]
mov dword [eax + 0x2c], 0
call fcn.00528c20
mov dword [esi + 8], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x20], eax
jmp 0x521db1
cmp ebp, 2
je 0x521ce3
cmp ebp, 3
jne 0x521da7
push 1
push esi
call fcn.0051cd30
add esp, 8
test eax, eax
je 0x521def
mov eax, dword [esi + 0x58]
mov dword [esi + 0x34], 0x2110
cmp ebp, 3
jne 0x521d4f
mov dword [esi + 0x38], 0xf0
mov dword [esi + 0x50], edi
cmp dword [eax + 0xec], 0
jne 0x521d29
push esi
call fcn.0052c5a0
add esp, 4
test eax, eax
je 0x521def
mov eax, dword [esi + 0x58]
lea ecx, [esp + 0x28]
push edi
push ecx
mov eax, dword [eax + 0xec]
push eax
mov dword [esi + 0x4c], eax
call fcn.005406f0
mov eax, dword [esi + 0x58]
add esp, 0xc
mov dword [eax + 0xf8], edi
jmp 0x521d60
mov dword [esi + 0x50], 0
mov dword [eax + 0xf8], 0
mov eax, dword [esi + 0x58]
mov dword [eax + 0xf4], 0
mov eax, dword [esi]
cmp eax, 0x303
jne 0x521d7d
call fcn.0051af60
jmp 0x521d9e
cmp eax, 0x302
jne 0x521d8b
call fcn.0051af50
jmp 0x521d9e
cmp eax, 0x301
jne 0x521d99
call fcn.0051af70
jmp 0x521d9e
call fcn.005251d0
mov dword [esi + 8], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x20], eax
cmp ebp, 1
jl 0x521dd4
cmp ebp, 3
jg 0x521dd4
push esi
mov dword [esi + 0x44], 0
call fcn.0051b800
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.0053cd12
add esp, 0x28
ret
push 0x274
push str.._ssl_s23_srvr.c
push 0xfc
push 0x76
push 0x14
call fcn.004a91e0
add esp, 0x14
or eax, 0xffffffff
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0053cd12
add esp, 0x28
ret