Function at 0x447891
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.00441776
lea ecx, [ebp - 0x1c]
call fcn.00428bf1
test dword [ebp + 0xc], 0x2000
je 0x4478c4
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042fd81
jmp 0x4478f6
lea ecx, [ebp - 0x28]
call fcn.00428bf1
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042f82b
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00446303
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00426528
mov edx, dword [ebp + 0xc]
push 2
pop esi
test edx, 0x20000000
jne 0x44790e
cmp dword [ebp - 0x18], 0
jle 0x447b0a
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 0x44793d
mov eax, closesocket
mov dword [ebp - 0x10], eax
jmp 0x44794e
test edx, 0x200
je 0x44794e
or edx, 0x100
mov dword [ebp + 0xc], edx
test ebx, ebx
jne 0x44795c
or eax, 0x40000000
mov dword [ebp - 0x10], eax
jmp 0x44796d
test edx, 0x100
je 0x44796d
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 0x447ab7
cmp edx, 0x40000000
je 0x447aa9
cmp edx, 0x60000000
je 0x447a52
cmp edx, 0x80000000
je 0x447a09
cmp edx, 0xa0000000
je 0x4479e2
lea eax, [edi + 0x10]
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.004237f3
jmp 0x447ae2
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.004437ef
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00408887
jmp 0x447a9f
cmp dword [ebp - 0x1c], 0
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004452c6
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.00443809
add esp, 0x18
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x28]
call fcn.00426528
jmp 0x447ad6
cmp dword [ebp - 0x18], 0
jle 0x447b0a
cmp dword [ebp - 0x1c], 0
mov esi, eax
lea eax, [ebp - 0x28]
cmovne esi, dword [ebp - 0x1c]
push eax
call fcn.00459039
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.00444fdf
add esp, 0x10
lea ecx, [edi + 0x10]
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426528
lea ecx, [ebp - 0x28]
call fcn.00426528
jmp 0x447ae2
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x1c]
push 0
jmp 0x447abb
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.00443809
add esp, 0x10
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426528
or dword [ebp + 0xc], 3
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428bf1
lea eax, [edi + 0x10]
mov ecx, esi
push eax
call fcn.0042f80d
call fcn.00445a6f
add esp, 0x10
test al, al
jne 0x447b17
push 2
pop esi
push 0x7b
call fcn.00458bb0
pop ecx
jmp 0x447d68
mov eax, dword [ebp + 0xc]
push 4
and eax, 3
pop ecx
mov dword [ebp - 8], ecx
sub eax, 1
je 0x447b3a
sub eax, 1
je 0x447b36
sub eax, 1
jne 0x447b40
push 2
jmp 0x447b3c
mov ecx, ebx
jmp 0x447b3d
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 0x447d28
test byte [ebp + 0xc], 0x40
je 0x447b96
mov ecx, dword [ebp - 0xc]
mov eax, ecx
inc ecx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x447b96
push 0x96
call fcn.00458bc7
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x447b47
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x20
jne 0x447bbb
test dword [ebp + 0xc], 0x1000
jne 0x447bbb
mov edx, dword [ebp - 0xc]
mov ecx, edx
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, 5
jge 0x447bbb
push 0x64
jmp 0x447b8b
and dword [edi + 0xc], 0
cmp eax, 0x33
ja 0x447ce7
je 0x447d19
cmp eax, 5
ja 0x447cca
je 0x447c83
push 2
pop edi
sub eax, edi
je 0x447c55
sub eax, 1
je 0x447bf9
sub eax, 1
jne 0x447d24
push 8
jmp 0x447d23
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov edi, eax
mov eax, 0x49bb64
cmovne eax, dword [esi]
push eax
call fcn.004421e4
pop ecx
test al, al
je 0x447c1a
push 0x17
jmp 0x447c48
push ebx
mov ecx, esi
call fcn.004250ea
cmp ax, 0x3a
jne 0x447c46
push 0
mov ecx, esi
call fcn.004250ea
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
call fcn.004429d8
pop ecx
test al, al
jne 0x447c46
push 0x15
jmp 0x447c48
push 4
pop ebx
push edi
call fcn.00458bb0
pop ecx
jmp 0x447d24
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428bf1
push dword [ebp + 8]
mov ecx, esi
call fcn.0042f80d
call fcn.00445a6f
xor ebx, ebx
add esp, 0x10
test al, al
setne bl
add ebx, edi
jmp 0x447d24
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.004421e4
pop ecx
test al, al
je 0x447ca7
push 0x17
jmp 0x447cc4
cmp byte [edi + 0x6c], 0
je 0x447cc2
cmp dword [esi], 0
cmovne ebx, dword [esi]
push ebx
call fcn.0044329e
pop ecx
test al, al
je 0x447cc2
push 0xd
jmp 0x447cc4
push 0xc
pop ebx
push dword [ebp + 0xc]
jmp 0x447c4a
cmp eax, 0xf
je 0x447ce3
cmp eax, 0x15
je 0x447cdf
add eax, 0xffffffe0
cmp eax, ebx
ja 0x447d24
push 5
jmp 0x447d23
push 0x14
jmp 0x447d23
push 0x15
jmp 0x447d23
cmp eax, 0x50
ja 0x447d08
je 0x447d04
cmp eax, 0x35
je 0x447d19
cmp eax, 0x3f
jbe 0x447d24
cmp eax, 0x41
jbe 0x447d19
cmp eax, 0x43
je 0x447d19
jmp 0x447d24
push 0xa
jmp 0x447d23
cmp eax, 0x57
je 0x447d21
cmp eax, 0x7b
je 0x447d1d
cmp eax, 0x4b3
jne 0x447d24
push 0x13
jmp 0x447d23
push 2
jmp 0x447d23
push 9
pop ebx
mov esi, ebx
jmp 0x447d68
mov ebx, dword [ebp + 0xc]
test bl, bl
jns 0x447d46
mov ecx, edi
call fcn.004477be
test eax, eax
jne 0x447d46
mov ecx, edi
call fcn.00441776
push 6
pop esi
jmp 0x447d68
test ebx, 0x400
je 0x447d57
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3c]
test ebx, 0x800
je 0x447d66
mov ecx, edi
call fcn.00441776
xor esi, esi
lea ecx, [ebp - 0x1c]
call fcn.00426528
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc