Function at 0x42ec20
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x24
mov eax, dword [0x698b9c]
xor eax, esp
mov dword [esp + 0x20], eax
xor eax, eax
push ebx
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov byte [esp + 0x14], bl
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov dword [esp + 0x1d], eax
mov word [esp + 0x21], ax
mov byte [esp + 0x23], al
call fcn.005aa0a0
test eax, eax
jne 0x42ec75
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret
push edi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.005aa0b0
mov eax, dword [esp + 0x1c]
add esp, 0x14
mov edi, eax
cmp eax, ebx
je 0x42ecc7
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
push 1
call fcn.005aa0b0
mov ebx, dword [esp + 0x24]
add esp, 0x14
test ebx, 0x800000
jne 0x42ecda
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret
push ebp
mov ebp, 1
test ebx, 0x2000000
je 0x42eced
mov ebp, 7
test ebx, 0x4000000
je 0x42ecf8
or ebp, 8
test bl, 1
je 0x42ed03
or ebp, 0x1000
test ebx, 0x8000
je 0x42ed11
or ebp, 0x4000
mov ecx, str.GenuineIntel
lea eax, [esp + 0x1c]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ed40
test dl, dl
je 0x42ed3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ed40
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ed20
xor eax, eax
jmp 0x42ed45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42ed7b
mov ecx, str.AuthenticAMD
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ed72
test dl, dl
je 0x42ed6e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ed72
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ed52
xor eax, eax
jmp 0x42ed77
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ed89
test ebx, 0x10000000
je 0x42ed89
or ebp, 0x2000
mov eax, dword [esp + 0x10]
test al, 1
je 0x42ed94
or ebp, 0x10
test eax, 0x200
je 0x42eda1
or ebp, 0x200
test eax, 0x80000
je 0x42edab
or ebp, 0x20
test eax, 0x100000
je 0x42edb8
or ebp, 0x400
mov edx, dword [esp + 0xc]
push eax
push edx
call fcn.005aa0e0
add esp, 8
test eax, eax
je 0x42edd0
or ebp, 0x800
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.005aa120
add esp, 8
test eax, eax
je 0x42edec
or ebp, 0x20000
mov eax, dword [esp + 0x10]
test eax, 0x2000000
je 0x42edfd
or ebp, 0x10000
test eax, 0x400000
je 0x42ee0a
or ebp, 0x8000
cmp edi, 7
jb 0x42ee35
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
push 7
mov dword [esp + 0x24], 0
call fcn.005aa0b0
add esp, 0x14
test esi, esi
je 0x42eec2
test ebp, 0x2000
je 0x42ee55
mov eax, dword [esp + 0x18]
shr eax, 0x10
and eax, 0xff
mov dword [esi], eax
jmp 0x42ee5b
mov dword [esi], 0
mov ecx, str.GenuineIntel
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ee84
test dl, dl
je 0x42ee80
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ee84
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ee64
xor eax, eax
jmp 0x42ee89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42eec2
cmp edi, 4
jb 0x42eec2
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
push 4
call fcn.005aa0b0
mov eax, dword [esp + 0x20]
add esp, 0x14
test eax, eax
je 0x42eec2
shr eax, 0x1a
inc eax
mov dword [esi], eax
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
push connect
call fcn.005aa0b0
add esp, 0x14
mov ecx, str.AuthenticAMD
lea eax, [esp + 0x1c]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ef10
test dl, dl
je 0x42ef0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ef10
add eax, 2
add ecx, 2
test dl, dl
jne 0x42eef0
xor eax, eax
jmp 0x42ef15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ef59
cmp dword [esp + 0xc], reloc.WS2_32.dll_accept
jb 0x42ef59
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
push reloc.WS2_32.dll_accept
call fcn.005aa0b0
mov eax, dword [esp + 0x28]
add esp, 0x14
test eax, 0x400000
je 0x42ef52
or ebp, 2
test eax, eax
jns 0x42ef59
or ebp, 0x40
mov ecx, str.GenuineIntel
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ef82
test dl, dl
je 0x42ef7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ef82
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ef62
xor eax, eax
jmp 0x42ef87
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42efec
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
push 1
call fcn.005aa0b0
mov eax, dword [esp + 0x20]
mov ecx, eax
mov edx, eax
shr edx, 4
and edx, 0xf
shr ecx, 0xc
and ecx, 0xf0
add ecx, edx
mov edx, eax
shr edx, 0x14
shr eax, 8
and edx, 0xff
and eax, 0xf
add edx, eax
add esp, 0x14
cmp edx, 6
jne 0x42efec
cmp ecx, 9
je 0x42efe9
cmp ecx, 0xd
je 0x42efe9
cmp ecx, 0xe
jne 0x42efec
and ebp, 0xffffffe7
mov ecx, str.GenuineIntel
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f015
test dl, dl
je 0x42f011
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f015
add eax, 2
add ecx, 2
test dl, dl
jne 0x42eff5
xor eax, eax
jmp 0x42f01a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42f054
mov ecx, str.CyrixInstead
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f047
test dl, dl
je 0x42f043
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f047
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f027
xor eax, eax
jmp 0x42f04c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42f0e8
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
push 1
call fcn.005aa0b0
mov eax, dword [esp + 0x2c]
shr eax, 5
and eax, 0x7f8
add esp, 0x14
cmp eax, 0x80
jne 0x42f09f
or ebp, 0x80000000
mov eax, ebp
pop ebp
pop edi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret
cmp eax, 0x40
jne 0x42f0be
or ebp, 0x40000000
mov eax, ebp
pop ebp
pop edi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret
cmp eax, 0x20
jne 0x42f0dd
or ebp, 0x20000000
mov eax, ebp
pop ebp
pop edi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret
cmp eax, 0x10
jne 0x42f0e8
or ebp, 0x10000000
mov ecx, dword [esp + 0x2c]
mov eax, ebp
pop ebp
pop edi
pop ebx
xor ecx, esp
call fcn.005bfcb8
add esp, 0x24
ret