Function at 0x5901b0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
push ebx
push esi
push edi
mov dword [esp + 0xc], ecx
call fcn.00589d80
mov cl, byte [eax + 0x48]
test cl, cl
je 0x59024b
call fcn.00589d80
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x5901e9
cmp dword [ecx + 8], 0x67736561
jne 0x5901e9
mov eax, dword [ecx + 0x20]
jmp 0x590246
lea ecx, [eax + 0x3c]
mov eax, dword [ecx]
cmp eax, ecx
je 0x590202
mov edx, 0x67736561
cmp dword [eax + 8], edx
je 0x590243
mov eax, dword [eax]
cmp eax, ecx
jne 0x5901f7
xor eax, eax
mov byte [esp + 0x10], 0
mov ecx, 0x7f
lea edi, [esp + 0x11]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x14]
mov ebx, 1
cmp al, bl
jne 0x590257
push ebx
push str.CANCEL
lea eax, [esp + 0x18]
push 0x200
push eax
call fcn.007413e0
add esp, 0x10
jmp 0x590456
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x590202
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi]
push ecx
push str.START
lea edx, [esp + 0x18]
push 0x200
push edx
call fcn.007413e0
mov eax, dword [edi + 4]
push eax
push str.COUNT
lea ecx, [esp + 0x28]
push 0x200
push ecx
call fcn.007413e0
mov cl, byte [edi + 0x11]
add esp, 0x20
xor eax, eax
cmp cl, bl
jne 0x590294
mov eax, ebx
cmp byte [edi + 0x12], bl
mov esi, 3
jne 0x5902a1
or eax, 2
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x5902b4
or eax, 0x4000000
mov esi, 0x4000003
jmp 0x59031c
cmp ecx, ebx
jne 0x5902c4
or eax, 0x8000000
mov esi, 0x8000003
jmp 0x59031c
cmp ecx, 8
jne 0x5902d5
or eax, 0x2000000
mov esi, 0x2000003
jmp 0x59031c
cmp ecx, 2
jne 0x5902e6
or eax, 0x10000000
mov esi, 0x10000003
jmp 0x59031c
cmp ecx, 3
jne 0x5902f7
or eax, 0x20000000
mov esi, 0x20000003
jmp 0x59031c
cmp ecx, 5
je 0x590312
cmp ecx, 0xa
je 0x590312
cmp ecx, 4
jne 0x59031c
or eax, 0x80000000
mov esi, reloc.WS2_32.dll_closesocket
jmp 0x59031c
or eax, 0x40000000
mov esi, 0x40000003
mov cl, byte [edi + 8]
or esi, 0xf0
cmp cl, bl
jne 0x590330
or eax, 0xf0
jmp 0x590359
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x59033c
or eax, 0x10
jmp 0x590359
cmp cl, bl
jne 0x590345
or eax, 0x20
jmp 0x590359
cmp cl, 2
jne 0x59034f
or eax, 0x40
jmp 0x590359
cmp cl, 3
jne 0x590359
or eax, 0x80
and eax, 0xfffffeff
push eax
push str.CUSTFLAGS
lea edx, [esp + 0x18]
push 0x200
push edx
call fcn.007413e0
or esi, 0x100
push esi
push str.CUSTMASK
lea eax, [esp + 0x28]
push 0x200
push eax
call fcn.007413e0
mov cl, byte [edi + 0x10]
add esp, 0x20
xor eax, eax
cmp cl, bl
jne 0x59039f
mov eax, 0x40000
push eax
push str.SYSFLAGS
lea ecx, [esp + 0x18]
push 0x200
push ecx
call fcn.007413e0
push 0xc0000
push str.SYSMASK
lea edx, [esp + 0x28]
push 0x200
push edx
call fcn.007413e0
call fcn.00589d80
mov eax, dword [eax + 0x98]
push eax
call fcn.0074b040
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 8]
add esp, 0x24
test eax, eax
je 0x590407
push eax
push 4
call fcn.00589d80
mov ecx, dword [eax + 0x44]
push ecx
call fcn.00744280
add esp, 0xc
mov dword [esi + 8], 0
push esi
push 0x58ac90
push 4
call fcn.00589d80
mov edx, dword [eax + 0x44]
push edx
call fcn.00744210
add esp, 0x10
mov ecx, esi
mov dword [esi + 8], eax
call fcn.00586ae0
mov eax, dword [esi + 0x4fc]
mov ecx, dword [esi + 8]
push 0x58f470
push eax
push 0
push ecx
call fcn.0073d660
mov edx, dword [esi + 8]
push 0x58f610
push 0
push 0
push edx
call fcn.0073d690
add esp, 0x20
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
push 0
push eax
push ecx
push edx
push 0x58af80
lea eax, [esp + 0x24]
push eax
push 0x67736561
call fcn.00589d80
mov ecx, eax
call fcn.00586640
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10