Function at 0x447c74
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.00441ab8
lea ecx, [ebp - 0x1c]
call fcn.00428cde
test dword [ebp + 0xc], 0x2000
je 0x447ca7
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.0042fedc
jmp 0x447cd9
lea ecx, [ebp - 0x28]
call fcn.00428cde
push closesocket
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042f986
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004466d3
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00426615
mov edx, dword [ebp + 0xc]
push 2
pop esi
test edx, 0x20000000
jne 0x447cf1
cmp dword [ebp - 0x18], 0
jle 0x447eed
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 0x447d20
mov eax, closesocket
mov dword [ebp - 0x10], eax
jmp 0x447d31
test edx, 0x200
je 0x447d31
or edx, 0x100
mov dword [ebp + 0xc], edx
test ebx, ebx
jne 0x447d3f
or eax, 0x40000000
mov dword [ebp - 0x10], eax
jmp 0x447d50
test edx, 0x100
je 0x447d50
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 0x447e9a
cmp edx, 0x40000000
je 0x447e8c
cmp edx, 0x60000000
je 0x447e35
cmp edx, 0x80000000
je 0x447dec
cmp edx, 0xa0000000
je 0x447dc5
lea eax, [edi + 0x10]
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.004238e0
jmp 0x447ec5
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.00443b31
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.00408887
jmp 0x447e82
cmp dword [ebp - 0x1c], 0
cmovne eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00445696
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.00443b4b
add esp, 0x18
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x28]
call fcn.00426615
jmp 0x447eb9
cmp dword [ebp - 0x18], 0
jle 0x447eed
cmp dword [ebp - 0x1c], 0
mov esi, eax
lea eax, [ebp - 0x28]
cmovne esi, dword [ebp - 0x1c]
push eax
call fcn.00459505
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.004453af
add esp, 0x10
lea ecx, [edi + 0x10]
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426615
lea ecx, [ebp - 0x28]
call fcn.00426615
jmp 0x447ec5
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x1c]
push 0
jmp 0x447e9e
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.00443b4b
add esp, 0x10
mov ecx, esi
push eax
call fcn.00408887
lea ecx, [ebp - 0x34]
call fcn.00426615
or dword [ebp + 0xc], 3
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428cde
lea eax, [edi + 0x10]
mov ecx, esi
push eax
call fcn.0042f968
call fcn.00445e3f
add esp, 0x10
test al, al
jne 0x447efa
push 2
pop esi
push 0x7b
call fcn.0045907c
pop ecx
jmp 0x44814b
mov eax, dword [ebp + 0xc]
push 4
and eax, 3
pop ecx
mov dword [ebp - 8], ecx
sub eax, 1
je 0x447f1d
sub eax, 1
je 0x447f19
sub eax, 1
jne 0x447f23
push 2
jmp 0x447f1f
mov ecx, ebx
jmp 0x447f20
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 0x44810b
test byte [ebp + 0xc], 0x40
je 0x447f79
mov ecx, dword [ebp - 0xc]
mov eax, ecx
inc ecx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x447f79
push 0x96
call fcn.00459093
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x447f2a
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x20
jne 0x447f9e
test dword [ebp + 0xc], 0x1000
jne 0x447f9e
mov edx, dword [ebp - 0xc]
mov ecx, edx
inc edx
mov dword [ebp - 0xc], edx
cmp ecx, 5
jge 0x447f9e
push 0x64
jmp 0x447f6e
and dword [edi + 0xc], 0
cmp eax, 0x33
ja 0x4480ca
je 0x4480fc
cmp eax, 5
ja 0x4480ad
je 0x448066
push 2
pop edi
sub eax, edi
je 0x448038
sub eax, 1
je 0x447fdc
sub eax, 1
jne 0x448107
push 8
jmp 0x448106
call sub.KERNEL32.dll_GetLastError
cmp dword [esi], 0
mov edi, eax
mov eax, 0x49cb74
cmovne eax, dword [esi]
push eax
call fcn.00442526
pop ecx
test al, al
je 0x447ffd
push 0x17
jmp 0x44802b
push ebx
mov ecx, esi
call fcn.004251d7
cmp ax, 0x3a
jne 0x448029
push 0
mov ecx, esi
call fcn.004251d7
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
call fcn.00442d1a
pop ecx
test al, al
jne 0x448029
push 0x15
jmp 0x44802b
push 4
pop ebx
push edi
call fcn.0045907c
pop ecx
jmp 0x448107
push 0
sub esp, 0xc
mov esi, esp
mov ecx, esi
call fcn.00428cde
push dword [ebp + 8]
mov ecx, esi
call fcn.0042f968
call fcn.00445e3f
xor ebx, ebx
add esp, 0x10
test al, al
setne bl
add ebx, edi
jmp 0x448107
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.00442526
pop ecx
test al, al
je 0x44808a
push 0x17
jmp 0x4480a7
cmp byte [edi + 0x6c], 0
je 0x4480a5
cmp dword [esi], 0
cmovne ebx, dword [esi]
push ebx
call fcn.004435e0
pop ecx
test al, al
je 0x4480a5
push 0xd
jmp 0x4480a7
push 0xc
pop ebx
push dword [ebp + 0xc]
jmp 0x44802d
cmp eax, 0xf
je 0x4480c6
cmp eax, 0x15
je 0x4480c2
add eax, 0xffffffe0
cmp eax, ebx
ja 0x448107
push 5
jmp 0x448106
push 0x14
jmp 0x448106
push 0x15
jmp 0x448106
cmp eax, 0x50
ja 0x4480eb
je 0x4480e7
cmp eax, 0x35
je 0x4480fc
cmp eax, 0x3f
jbe 0x448107
cmp eax, 0x41
jbe 0x4480fc
cmp eax, 0x43
je 0x4480fc
jmp 0x448107
push 0xa
jmp 0x448106
cmp eax, 0x57
je 0x448104
cmp eax, 0x7b
je 0x448100
cmp eax, 0x4b3
jne 0x448107
push 0x13
jmp 0x448106
push 2
jmp 0x448106
push 9
pop ebx
mov esi, ebx
jmp 0x44814b
mov ebx, dword [ebp + 0xc]
test bl, bl
jns 0x448129
mov ecx, edi
call fcn.00447ba1
test eax, eax
jne 0x448129
mov ecx, edi
call fcn.00441ab8
push 6
pop esi
jmp 0x44814b
test ebx, 0x400
je 0x44813a
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3c]
test ebx, 0x800
je 0x448149
mov ecx, edi
call fcn.00441ab8
xor esi, esi
lea ecx, [ebp - 0x1c]
call fcn.00426615
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc