Function at 0x447aa3
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.00441976
lea ecx, [ebp - 0x1c]
call fcn.00428d6d
test dword [ebp + 0xc], 0x2000
je 0x447ad6
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042fefd
jmp 0x447b08
lea ecx, [ebp - 0x28]
call fcn.00428d6d
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042f9a7
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00446503
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.004266a4
mov edx, dword [ebp + 0xc]
push 2
pop esi
test edx, 0x20000000
jne 0x447b20
cmp dword [ebp - 0x18], 0
jle 0x447d1c
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 0x447b4f
mov eax, closesocket
mov dword [ebp - 0x10], eax
jmp 0x447b60
test edx, 0x200
je 0x447b60
or edx, 0x100
mov dword [ebp + 0xc], edx
test ebx, ebx
jne 0x447b6e
or eax, 0x40000000
mov dword [ebp - 0x10], eax
jmp 0x447b7f
test edx, 0x100
je 0x447b7f
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, 0x49cb74
cmp edx, 0x20000000
je 0x447cc9
cmp edx, 0x40000000
je 0x447cbb
cmp edx, 0x60000000
je 0x447c64
cmp edx, 0x80000000
je 0x447c1b
cmp edx, 0xa0000000
je 0x447bf4
lea eax, [edi + 0x10]
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.0042396f
jmp 0x447cf4
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.004439ef
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00408887
jmp 0x447cb1
cmp dword [ebp - 0x1c], 0
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004454c6
push 0
mov ecx, 0x49cb74
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.00443a09
add esp, 0x18
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x28]
call fcn.004266a4
jmp 0x447ce8
cmp dword [ebp - 0x18], 0
jle 0x447d1c
cmp dword [ebp - 0x1c], 0
mov esi, eax
lea eax, [ebp - 0x28]
cmovne esi, dword [ebp - 0x1c]
push eax
call fcn.0045927c
mov ecx, 0x49cb74
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.004451df
add esp, 0x10
lea ecx, [edi + 0x10]
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.004266a4
lea ecx, [ebp - 0x28]
call fcn.004266a4
jmp 0x447cf4
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x1c]
push 0
jmp 0x447ccd
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.00443a09
add esp, 0x10
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.004266a4
or dword [ebp + 0xc], 3
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428d6d
lea eax, [edi + 0x10]
mov ecx, esi
push eax
call fcn.0042f989
call fcn.00445c6f
add esp, 0x10
test al, al
jne 0x447d29
push 2
pop esi
push 0x7b
call fcn.00458df3
pop ecx
jmp 0x447f7a
mov eax, dword [ebp + 0xc]
push 4
and eax, 3
pop ecx
mov dword [ebp - 8], ecx
sub eax, 1
je 0x447d4c
sub eax, 1
je 0x447d48
sub eax, 1
jne 0x447d52
push 2
jmp 0x447d4e
mov ecx, ebx
jmp 0x447d4f
push 3
pop ecx
mov dword [ebp - 8], ecx
and dword [ebp - 0xc], 0
lea esi, [edi + 0x10]
cmp dword [esi], 0
mov eax, 0x49cb74
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 0x447f3a
test byte [ebp + 0xc], 0x40
je 0x447da8
mov ecx, dword [ebp - 0xc]
mov eax, ecx
inc ecx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x447da8
push 0x96
call fcn.00458e0a
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x447d59
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x20
jne 0x447dcd
test dword [ebp + 0xc], 0x1000
jne 0x447dcd
mov edx, dword [ebp - 0xc]
mov ecx, edx
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, 5
jge 0x447dcd
push 0x64
jmp 0x447d9d
and dword [edi + 0xc], 0
cmp eax, 0x33
ja 0x447ef9
je 0x447f2b
cmp eax, 5
ja 0x447edc
je 0x447e95
push 2
pop edi
sub eax, edi
je 0x447e67
sub eax, 1
je 0x447e0b
sub eax, 1
jne 0x447f36
push 8
jmp 0x447f35
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov edi, eax
mov eax, 0x49cb74
cmovne eax, dword [esi]
push eax
call fcn.004423e4
pop ecx
test al, al
je 0x447e2c
push 0x17
jmp 0x447e5a
push ebx
mov ecx, esi
call fcn.00425266
cmp ax, 0x3a
jne 0x447e58
push 0
mov ecx, esi
call fcn.00425266
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
call fcn.00442bd8
pop ecx
test al, al
jne 0x447e58
push 0x15
jmp 0x447e5a
push 4
pop ebx
push edi
call fcn.00458df3
pop ecx
jmp 0x447f36
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428d6d
push dword [ebp + 8]
mov ecx, esi
call fcn.0042f989
call fcn.00445c6f
xor ebx, ebx
add esp, 0x10
test al, al
setne bl
add ebx, edi
jmp 0x447f36
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov ebx, 0x49cb74
mov ecx, ebx
mov dword [ebp + 0xc], eax
cmovne ecx, dword [esi]
push ecx
call fcn.004423e4
pop ecx
test al, al
je 0x447eb9
push 0x17
jmp 0x447ed6
cmp byte [edi + 0x6c], 0
je 0x447ed4
cmp dword [esi], 0
cmovne ebx, dword [esi]
push ebx
call fcn.0044349e
pop ecx
test al, al
je 0x447ed4
push 0xd
jmp 0x447ed6
push 0xc
pop ebx
push dword [ebp + 0xc]
jmp 0x447e5c
cmp eax, 0xf
je 0x447ef5
cmp eax, 0x15
je 0x447ef1
add eax, 0xffffffe0
cmp eax, ebx
ja 0x447f36
push 5
jmp 0x447f35
push 0x14
jmp 0x447f35
push 0x15
jmp 0x447f35
cmp eax, 0x50
ja 0x447f1a
je 0x447f16
cmp eax, 0x35
je 0x447f2b
cmp eax, 0x3f
jbe 0x447f36
cmp eax, 0x41
jbe 0x447f2b
cmp eax, 0x43
je 0x447f2b
jmp 0x447f36
push 0xa
jmp 0x447f35
cmp eax, 0x57
je 0x447f33
cmp eax, 0x7b
je 0x447f2f
cmp eax, 0x4b3
jne 0x447f36
push 0x13
jmp 0x447f35
push 2
jmp 0x447f35
push 9
pop ebx
mov esi, ebx
jmp 0x447f7a
mov ebx, dword [ebp + 0xc]
test bl, bl
jns 0x447f58
mov ecx, edi
call fcn.004479d0
test eax, eax
jne 0x447f58
mov ecx, edi
call fcn.00441976
push 6
pop esi
jmp 0x447f7a
test ebx, 0x400
je 0x447f69
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3c]
test ebx, 0x800
je 0x447f78
mov ecx, edi
call fcn.00441976
xor esi, esi
lea ecx, [ebp - 0x1c]
call fcn.004266a4
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc