Function at 0x44778f
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push edi
mov edi, ecx
call fcn.00441674
lea ecx, [ebp - 0x1c]
call fcn.00428af1
test dword [ebp + 0xc], 0x2000
je 0x4477c2
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042fc81
jmp 0x4477f4
lea ecx, [ebp - 0x28]
call fcn.00428af1
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042f72b
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00446201
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00426428
mov edx, dword [ebp + 0xc]
push 2
pop esi
test edx, 0x20000000
jne 0x44780c
cmp dword [ebp - 0x18], 0
jle 0x447a08
mov ecx, edx
mov ebx, edx
and ecx, 8
sete al
and ebx, 0x10
mov byte [edi + 0x6b], al
mov byte [edi + 0x6d], al
sete al
mov byte [edi + 0x6c], al
mov byte [edi + 0x6e], al
xor eax, eax
mov dword [ebp - 0x10], eax
test ecx, ecx
jne 0x44783b
mov eax, closesocket
mov dword [ebp - 0x10], eax
jmp 0x44784c
test edx, 0x200
je 0x44784c
or edx, 0x100
mov dword [ebp + 0xc], edx
test ebx, ebx
jne 0x44785a
or eax, 0x40000000
mov dword [ebp - 0x10], eax
jmp 0x44786b
test edx, 0x100
je 0x44786b
or edx, 0x200
mov dword [ebp + 0xc], edx
xor ebx, ebx
mov ecx, edx
shr ecx, 8
inc ebx
and ecx, ebx
mov eax, edx
mov dword [ebp - 4], ecx
or dword [ebp - 4], esi
and eax, 0x200
mov eax, dword [ebp - 4]
cmove eax, ecx
and edx, 0xe0000000
mov dword [ebp - 4], eax
mov eax, 0x49bb64
cmp edx, 0x20000000
je 0x4479b5
cmp edx, 0x40000000
je 0x4479a7
cmp edx, 0x60000000
je 0x447950
cmp edx, 0x80000000
je 0x447907
cmp edx, 0xa0000000
je 0x4478e0
lea eax, [edi + 0x10]
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.004236f3
jmp 0x4479e0
cmp dword [ebp - 0x1c], 0
lea esi, [edi + 0x10]
mov dword [ebp + 8], esi
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004436ed
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00408887
jmp 0x44799d
cmp dword [ebp - 0x1c], 0
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004451c4
push 0
mov ecx, 0x49bb64
lea esi, [edi + 0x10]
push 0
cmp dword [eax], 0
mov dword [ebp + 8], esi
cmovne ecx, dword [eax]
lea eax, [ebp - 0x28]
push ecx
push eax
call fcn.00443707
add esp, 0x18
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x28]
call fcn.00426428
jmp 0x4479d4
cmp dword [ebp - 0x18], 0
jle 0x447a08
cmp dword [ebp - 0x1c], 0
mov esi, eax
lea eax, [ebp - 0x28]
cmovne esi, dword [ebp - 0x1c]
push eax
call fcn.00458bb4
mov ecx, 0x49bb64
push esi
cmp dword [eax], 0
cmovne ecx, dword [eax]
lea eax, [edi + 0x10]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x34]
push ecx
push eax
call fcn.00444edd
add esp, 0x10
lea ecx, [edi + 0x10]
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426428
lea ecx, [ebp - 0x28]
call fcn.00426428
jmp 0x4479e0
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x1c]
push 0
jmp 0x4479b9
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x34]
lea esi, [edi + 0x10]
push eax
mov dword [ebp + 8], esi
call fcn.00443707
add esp, 0x10
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426428
or dword [ebp + 0xc], 3
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428af1
lea eax, [edi + 0x10]
mov ecx, esi
push eax
call fcn.0042f70d
call fcn.0044596d
add esp, 0x10
test al, al
jne 0x447a15
push 2
pop esi
push 0x7b
call fcn.00458880
pop ecx
jmp 0x447c66
mov eax, dword [ebp + 0xc]
push 4
and eax, 3
pop ecx
mov dword [ebp - 8], ecx
sub eax, 1
je 0x447a38
sub eax, 1
je 0x447a34
sub eax, 1
jne 0x447a3e
push 2
jmp 0x447a3a
mov ecx, ebx
jmp 0x447a3b
push 3
pop ecx
mov dword [ebp - 8], ecx
and dword [ebp - 0xc], 0
lea esi, [edi + 0x10]
cmp dword [esi], 0
mov eax, 0x49bb64
push 0
push dword [ebp + 0x10]
cmovne eax, dword [esi]
push ecx
push 0
push dword [ebp - 4]
push dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [edi + 0xc], eax
cmp eax, 0xffffffff
jne 0x447c26
test byte [ebp + 0xc], 0x40
je 0x447a94
mov ecx, dword [ebp - 0xc]
mov eax, ecx
inc ecx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x447a94
push 0x96
call fcn.00458897
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x447a45
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x20
jne 0x447ab9
test dword [ebp + 0xc], 0x1000
jne 0x447ab9
mov edx, dword [ebp - 0xc]
mov ecx, edx
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, 5
jge 0x447ab9
push 0x64
jmp 0x447a89
and dword [edi + 0xc], 0
cmp eax, 0x33
ja 0x447be5
je 0x447c17
cmp eax, 5
ja 0x447bc8
je 0x447b81
push 2
pop edi
sub eax, edi
je 0x447b53
sub eax, 1
je 0x447af7
sub eax, 1
jne 0x447c22
push 8
jmp 0x447c21
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov edi, eax
mov eax, 0x49bb64
cmovne eax, dword [esi]
push eax
call fcn.004420e2
pop ecx
test al, al
je 0x447b18
push 0x17
jmp 0x447b46
push ebx
mov ecx, esi
call fcn.00424fea
cmp ax, 0x3a
jne 0x447b44
push 0
mov ecx, esi
call fcn.00424fea
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
call fcn.004428d6
pop ecx
test al, al
jne 0x447b44
push 0x15
jmp 0x447b46
push 4
pop ebx
push edi
call fcn.00458880
pop ecx
jmp 0x447c22
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428af1
push dword [ebp + 8]
mov ecx, esi
call fcn.0042f70d
call fcn.0044596d
xor ebx, ebx
add esp, 0x10
test al, al
setne bl
add ebx, edi
jmp 0x447c22
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov ebx, 0x49bb64
mov ecx, ebx
mov dword [ebp + 0xc], eax
cmovne ecx, dword [esi]
push ecx
call fcn.004420e2
pop ecx
test al, al
je 0x447ba5
push 0x17
jmp 0x447bc2
cmp byte [edi + 0x6c], 0
je 0x447bc0
cmp dword [esi], 0
cmovne ebx, dword [esi]
push ebx
call fcn.0044319c
pop ecx
test al, al
je 0x447bc0
push 0xd
jmp 0x447bc2
push 0xc
pop ebx
push dword [ebp + 0xc]
jmp 0x447b48
cmp eax, 0xf
je 0x447be1
cmp eax, 0x15
je 0x447bdd
add eax, 0xffffffe0
cmp eax, ebx
ja 0x447c22
push 5
jmp 0x447c21
push 0x14
jmp 0x447c21
push 0x15
jmp 0x447c21
cmp eax, 0x50
ja 0x447c06
je 0x447c02
cmp eax, 0x35
je 0x447c17
cmp eax, 0x3f
jbe 0x447c22
cmp eax, 0x41
jbe 0x447c17
cmp eax, 0x43
je 0x447c17
jmp 0x447c22
push 0xa
jmp 0x447c21
cmp eax, 0x57
je 0x447c1f
cmp eax, 0x7b
je 0x447c1b
cmp eax, 0x4b3
jne 0x447c22
push 0x13
jmp 0x447c21
push 2
jmp 0x447c21
push 9
pop ebx
mov esi, ebx
jmp 0x447c66
mov ebx, dword [ebp + 0xc]
test bl, bl
jns 0x447c44
mov ecx, edi
call fcn.004476bc
test eax, eax
jne 0x447c44
mov ecx, edi
call fcn.00441674
push 6
pop esi
jmp 0x447c66
test ebx, 0x400
je 0x447c55
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3c]
test ebx, 0x800
je 0x447c64
mov ecx, edi
call fcn.00441674
xor esi, esi
lea ecx, [ebp - 0x1c]
call fcn.00426428
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc