Function at 0x446d78
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.00440cd9
lea ecx, [ebp - 0x1c]
call fcn.004282a8
test dword [ebp + 0xc], 0x2000
je 0x446dab
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042f491
jmp 0x446ddd
lea ecx, [ebp - 0x28]
call fcn.004282a8
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042ef3b
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004457ea
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00425c1b
mov edx, dword [ebp + 0xc]
push 2
pop esi
test edx, 0x20000000
jne 0x446df5
cmp dword [ebp - 0x18], 0
jle 0x446ff1
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 0x446e24
mov eax, closesocket
mov dword [ebp - 0x10], eax
jmp 0x446e35
test edx, 0x200
je 0x446e35
or edx, 0x100
mov dword [ebp + 0xc], edx
test ebx, ebx
jne 0x446e43
or eax, 0x40000000
mov dword [ebp - 0x10], eax
jmp 0x446e54
test edx, 0x100
je 0x446e54
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, 0x49ab64
cmp edx, 0x20000000
je 0x446f9e
cmp edx, 0x40000000
je 0x446f90
cmp edx, 0x60000000
je 0x446f39
cmp edx, 0x80000000
je 0x446ef0
cmp edx, 0xa0000000
je 0x446ec9
lea eax, [edi + 0x10]
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.004230bc
jmp 0x446fc9
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.00442cd6
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.0040887d
jmp 0x446f86
cmp dword [ebp - 0x1c], 0
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004447ad
push 0
mov ecx, 0x49ab64
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.00442cf0
add esp, 0x18
mov ecx, esi
push eax
call fcn.0040887d
lea ecx, [ebp - 0x28]
call fcn.00425c1b
jmp 0x446fbd
cmp dword [ebp - 0x18], 0
jle 0x446ff1
cmp dword [ebp - 0x1c], 0
mov esi, eax
lea eax, [ebp - 0x28]
cmovne esi, dword [ebp - 0x1c]
push eax
call fcn.00457d47
mov ecx, 0x49ab64
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.004444c6
add esp, 0x10
lea ecx, [edi + 0x10]
push eax
call fcn.0040887d
lea ecx, [ebp - 0x34]
call fcn.00425c1b
lea ecx, [ebp - 0x28]
call fcn.00425c1b
jmp 0x446fc9
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x1c]
push 0
jmp 0x446fa2
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.00442cf0
add esp, 0x10
mov ecx, esi
push eax
call fcn.0040887d
lea ecx, [ebp - 0x34]
call fcn.00425c1b
or dword [ebp + 0xc], 3
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.004282a8
lea eax, [edi + 0x10]
mov ecx, esi
push eax
call fcn.0042ef1d
call fcn.00444f56
add esp, 0x10
test al, al
jne 0x446ffe
push 2
pop esi
push 0x7b
call fcn.00457a13
pop ecx
jmp 0x44724f
mov eax, dword [ebp + 0xc]
push 4
and eax, 3
pop ecx
mov dword [ebp - 8], ecx
sub eax, 1
je 0x447021
sub eax, 1
je 0x44701d
sub eax, 1
jne 0x447027
push 2
jmp 0x447023
mov ecx, ebx
jmp 0x447024
push 3
pop ecx
mov dword [ebp - 8], ecx
and dword [ebp - 0xc], 0
lea esi, [edi + 0x10]
cmp dword [esi], 0
mov eax, 0x49ab64
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 0x44720f
test byte [ebp + 0xc], 0x40
je 0x44707d
mov ecx, dword [ebp - 0xc]
mov eax, ecx
inc ecx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x44707d
push 0x96
call fcn.00457a2a
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x44702e
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x20
jne 0x4470a2
test dword [ebp + 0xc], 0x1000
jne 0x4470a2
mov edx, dword [ebp - 0xc]
mov ecx, edx
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, 5
jge 0x4470a2
push 0x64
jmp 0x447072
and dword [edi + 0xc], 0
cmp eax, 0x33
ja 0x4471ce
je 0x447200
cmp eax, 5
ja 0x4471b1
je 0x44716a
push 2
pop edi
sub eax, edi
je 0x44713c
sub eax, 1
je 0x4470e0
sub eax, 1
jne 0x44720b
push 8
jmp 0x44720a
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov edi, eax
mov eax, 0x49ab64
cmovne eax, dword [esi]
push eax
call fcn.00441721
pop ecx
test al, al
je 0x447101
push 0x17
jmp 0x44712f
push ebx
mov ecx, esi
call fcn.004248af
cmp ax, 0x3a
jne 0x44712d
push 0
mov ecx, esi
call fcn.004248af
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
call fcn.00441f15
pop ecx
test al, al
jne 0x44712d
push 0x15
jmp 0x44712f
push 4
pop ebx
push edi
call fcn.00457a13
pop ecx
jmp 0x44720b
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.004282a8
push dword [ebp + 8]
mov ecx, esi
call fcn.0042ef1d
call fcn.00444f56
xor ebx, ebx
add esp, 0x10
test al, al
setne bl
add ebx, edi
jmp 0x44720b
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov ebx, 0x49ab64
mov ecx, ebx
mov dword [ebp + 0xc], eax
cmovne ecx, dword [esi]
push ecx
call fcn.00441721
pop ecx
test al, al
je 0x44718e
push 0x17
jmp 0x4471ab
cmp byte [edi + 0x6c], 0
je 0x4471a9
cmp dword [esi], 0
cmovne ebx, dword [esi]
push ebx
call fcn.00442785
pop ecx
test al, al
je 0x4471a9
push 0xd
jmp 0x4471ab
push 0xc
pop ebx
push dword [ebp + 0xc]
jmp 0x447131
cmp eax, 0xf
je 0x4471ca
cmp eax, 0x15
je 0x4471c6
add eax, 0xffffffe0
cmp eax, ebx
ja 0x44720b
push 5
jmp 0x44720a
push 0x14
jmp 0x44720a
push 0x15
jmp 0x44720a
cmp eax, 0x50
ja 0x4471ef
je 0x4471eb
cmp eax, 0x35
je 0x447200
cmp eax, 0x3f
jbe 0x44720b
cmp eax, 0x41
jbe 0x447200
cmp eax, 0x43
je 0x447200
jmp 0x44720b
push 0xa
jmp 0x44720a
cmp eax, 0x57
je 0x447208
cmp eax, 0x7b
je 0x447204
cmp eax, 0x4b3
jne 0x44720b
push 0x13
jmp 0x44720a
push 2
jmp 0x44720a
push 9
pop ebx
mov esi, ebx
jmp 0x44724f
mov ebx, dword [ebp + 0xc]
test bl, bl
jns 0x44722d
mov ecx, edi
call fcn.00446ca5
test eax, eax
jne 0x44722d
mov ecx, edi
call fcn.00440cd9
push 6
pop esi
jmp 0x44724f
test ebx, 0x400
je 0x44723e
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3c]
test ebx, 0x800
je 0x44724d
mov ecx, edi
call fcn.00440cd9
xor esi, esi
lea ecx, [ebp - 0x1c]
call fcn.00425c1b
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc