Function at 0x4217a0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Encode data using xor

Disassembly:
inc esp
and esp, 0x42400403
mov eax, dword [0x40403800]
add byte [ecx], ah
add byte [eax], al
add byte [eax + 0x24], dl
add dword [eax], esp
add byte [eax], al
add byte [eax], al
add byte [eax + 0x20], cl
add byte [eax], al
add byte [edx], cl
inc ebp
adc byte [ebx + 0x10], dl
push ebp
mov byte [eax + 0x1004], al
add byte [0x8d0061c0], al
inc eax
and al, 0x30
or edx, dword [eax + eax*4]
push edx
inc eax
add byte [ecx], cl
nop
add dh, al
add byte [esp + 0x50], 4
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x400450], cl
push eax
and byte [eax], dh
test dword [ecx + 0xc], eax
add byte [ecx + 2], al
add byte [eax], al
or ecx, dword [eax + 0x20]
xor byte [eax], cl
push ss
or byte [ecx], 0x14
add al, 0x4a
add byte [eax], al
xor dword fs:[ebx], eax
and al, 4
sub byte [eax], cl
add byte [eax + eax + 1], dl
shr byte [edx], 0x40
add byte [eax], dl
or eax, 0x40928401
add ch, al
add al, 0
or byte [edx], cl
add byte [eax], al
add byte [eax], al
or al, 0x11
inc esp
aad 0x40
add byte [ecx], al
shl byte [ebx], 0x10
sub byte [eax], cl
or eax, 0xe00020b
adc byte [eax + eax*2 + 0x5090000], al
rol bl, 9
add byte [ecx], cl
mov byte [edx], ah
or al, 4
add dword [edx], eax
or cl, byte [eax + 0x30]
push esi
and dword [eax], ecx
add byte [edx], cl
add byte [edx], ah
add byte [edx], cl
add byte [ecx + 0x540404], cl
add byte [eax], al
push eax
rcl byte [0x81190], 5
shl byte [eax], 8
add dword [edx - 0x53], eax
add ch, 0xa8
cmp dword [ebp + 0x24084080], 0x8408010
add byte [ebx], ah
add al, 0x10
or byte [eax], al
add byte [ecx + 0xc0], dl
add byte [eax + eax], al
adc byte [esi], al
add byte [eax], al
add byte [eax], al
adc byte [0x3010158a], dl
or al, byte [eax]
add byte [edx + 0x43], ch
insb byte es:[edi], dx
adc byte [ecx + 0x401b0840], cl
sub byte [ecx], al
push es
add byte [eax + 0x1000000], 0xc8
add byte [ecx - 0x80], al
dec edx
or byte [ebx + 0x130a0409], cl
add eax, dword [ecx]
jb 0x4218c1
add dword [eax], esp
add dword [eax], eax
xor dl, byte [edx + 0x16]
adc byte [eax], ch
add dword [eax + eax + 0x4640040], esi
push 0xc0050900
and byte [edx], al
add byte [ecx + 0x10], al
add dword [edx], eax
add al, 1
test al, 0x98
jl 0x4218e5
and dword [0x20000], eax
add byte [eax], al
add al, byte [eax]
or dword [ecx + 0xa0410], eax
pushal
add cl, al
dec edx
sal byte [esi + ebx*2 - 0x7d], cl
inc eax
or byte [eax + 0x8a3], al
add byte [eax], al
add al, 0x18
and al, byte [eax]
push 0xf
mov byte [eax], al
push 0x20
das
add byte [eax + ecx], al
adc byte [ebx + 6], 0
adc al, ch
or dword [0x20474], eax
add byte [ecx + 0xcb], dh
add byte [eax + 0x20], dh
add byte [eax], cl
add byte [edx], ah
add byte [eax], al
mov dword [esp + ecx*4], eax
add byte [ecx], al
inc edx
add byte [ecx + 4], dl
and al, 0x42
inc eax
add byte [eax], cl
add al, 0
and cl, byte [eax]
add byte [eax], 1
add byte [eax], al
inc edx
add byte [eax], al
mov dword [eax], ecx
inc eax
add ecx, dword [edx]
add byte [ecx + 0x9031], al
add byte [eax + ecx + 5], ch
add dword [eax + 0x20], ecx
dec eax
add byte [eax], al
add byte [eax], al
add byte [eax + 0x10010002], cl
sbb al, 0x2c
push 0x4890864
add al, 0x20
add byte [edx], ch
add byte [edx], dl
inc eax
or byte [eax], dh
add byte [eax], al
add eax, dword [eax - 0x7f]
lock add byte [ecx + eax], al
adc dl, byte [ebx]
add byte [eax], al
add byte [eax], 4
add byte [edx], al
and byte [eax], 0
add byte [eax], al
sub byte [eax], al
push cs
or byte [eax], 0
add byte [eax], al
add al, byte [eax]
mov al, 0
add byte [eax], al
add dword [eax + 2], eax
add al, 0xb0
xor byte [edx], al
add byte [eax + 0x241], ch
cmp byte [eax - 0x7ffbfffe], 0
add byte [eax], al
or dword [edx + 0x10], eax
and byte [eax], 0x62
add dword [ecx], eax
add byte [eax + eax - 0x80], 0x89
add dword [eax], edx
mov word [eax], es
and al, 0x44
add byte [edx], al
add ah, byte [eax]
adc byte [eax], bl
pop ss
dec edx
mov al, byte [esi]
add al, 2
cwde
add al, byte [eax + 0x20]
inc esp
sub eax, dword [eax]
and al, 3
dec ecx
add al, 9
add dword [eax], eax
lea edx, [esp + eax]
add byte [eax], al
push 0
and byte [eax], dl
cdq
std
stosb byte es:[edi], al
cmp dword [eax + 0x4044000], 0x3c201
xor byte [eax], cl
add byte [eax], al
add edi, dword [eax + ecx]
or al, 0
add byte [edx], bl
add byte [eax], al
add bh, byte [edx + 0x1040301]
adc dword [eax], eax
add byte [eax + eax], al
je 0x421a18
add byte [eax], 0x10
adc dword [esp + ecx], ecx
or al, 0xc
or dword [edx + eax - 0x7fffffed], eax
add byte [eax + esi], al
loopne 0x421a26
or byte [eax], al
add byte [ecx + 0x14800852], cl
or dword [ecx], ecx
add byte [eax], al
mov dword [edx + 8], edx
adc byte [ecx + ecx], 9
xor al, 0x24
adc byte [edi], al
add al, 0x12
add dword [eax], eax
add byte [ebx], al
push esi
mov al, byte [edx]
add byte [eax], al
inc eax
and al, 0x30
imul eax, dword [ebx + ecx], 0x18400000
add byte [edx], bl
add byte [ecx], cl
and al, 0
adc byte [0x14028170], dh
add byte [ecx], bl
push 0x148b0460
or al, 0xb
popal
or byte [eax], 0x10
or al, 0x14
and byte [eax + 2], al
add byte [eax + 2], ah
push 0xeca56c30
or ecx, dword [eax + eax]
add dword [eax + 0x40040483], ecx
adc eax, dword [ecx]
adc al, 0xc3
dec ecx
push ss
add al, byte [esp + eax - 0x74]
inc eax
add al, 0x40
adc byte [eax], al
dec eax
add al, al
add ah, bl
loope 0x421a27
or byte [eax - 0x7e], ch
add al, 0x24
inc esp
add al, byte [ecx + 8]
add byte [esp + eax], al
cmp bh, byte [eax]
add byte [eax], al
sbb byte [ecx], 1
or al, byte [eax + 0xa91]
add byte [eax + 0x44], al
add dword [edx + 0x42000448], eax
add byte [0x1a0080], cl
add byte [ecx], al
inc esp
add byte [eax], al
sub dword [eax + 3], eax
add byte [eax], al
add dword [eax + 8], 0xa4600
add byte [ebx], al
xor eax, 0x4000208
pop eax
or byte [eax], al
add byte [eax + 1], dh
add byte [eax], cl
and byte [esp + eax], dh
add byte [eax], al
mov dword fs:[eax + eax], ecx
add byte [eax], al
add byte [ebx], al
or byte [ecx], al
mov ah, al
pop eax
inc edx
or byte [eax], al
add esi, dword [eax + eax*2]
add dword [eax + 0x18], 0x28
add byte [eax], 0
add byte [edx], cl
or byte [edx], 2
add byte [eax], al
add dh, byte [eax + 0x4202b000]
add byte [esi + 0x1c08020], al
add byte [eax], al
mov eax, dword [pe_dos_header]
add dword [eax + edx*8], ecx
xor byte [eax], cl
add byte [eax + eax*2], 0x20
inc eax
add byte [eax], al
or eax, dword [edx + 0x18]
add eax, eax
dec eax
and edx, dword [edx + 9]
inc esi
add al, 0xa
ror byte [edi], 1
adc byte [eax], al
or byte [eax], dl
add al, 0x20
sbb byte [ecx + 0x44820830], 0x24
add byte [ebx], al
add byte [eax], dl
add byte [eax], al
add byte [ecx + 8], cl
add byte [ebx], al
add byte [eax + eax], al
add byte [eax], al
or eax, dword [eax]
or byte [esi], dl
inc edi
jl 0x421b0c
xor byte [eax - 0x80], 3
xor byte [edx], bl
add dword [eax], 0x10081824
sbb byte [eax], al
add byte [eax], al
mov dword [eax + 0x14], edx
test byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp byte [ebp + 0x10980007], 0
add byte [ecx], al
fmul qword [eax]
or dword [eax + eax*2 - 0x7dffffe8], eax
or dword [eax], ecx
add ecx, dword [eax + eax]
mov eax, dword [0x81000031]
add al, byte [ecx + ecx]
add al, 4
and cl, cl
mov al, byte [edx]
add byte [eax], al
inc esp
adc byte [ecx], 0x45
add byte [ecx], 0
mov byte [eax], al
add al, 0x24
xor byte [ecx + 0x38040710], al
add dword [eax], eax
add byte [ecx], cl
inc esp
add al, 0x58
add byte [eax], bl
adc al, 0
add byte [eax], al
add byte [esp + edx + 3], al
add byte [eax + ecx*8], al
inc eax
xchg ebp, eax
add byte [eax], al
test byte [eax], al
or byte fs:[ebx + 1], ch
and dword [ebx], ecx
push esi
xchg dword [esi + 0x22], edi
or byte [ecx + 0x30], 0x36
xchg esi, eax
add dword [eax + edx*8], 0x1004830
add byte [eax], 0xe0
xor byte [edx], cl
add byte [eax], al
add eax, dword [edx + 0x18]
mov dword [eax + 4], eax
and byte [0x561021c0], al
add al, byte [eax]
and byte [eax], ch
adc al, 0
add byte [eax + 0x1200000], cl
inc eax
or eax, dword [eax]
and al, byte [eax]
add byte [eax], al
cmp byte [eax + ecx], 1
inc eax
and byte [eax], al
add dword [eax + eax], ecx
add byte [eax], al
pop es
add byte [eax], al
cmp byte [eax], al
add byte [eax + 0x54030040], al
sbb byte [ecx], ah
inc ecx
sbb byte [edi], al
add byte [esi], ch
cmp dword [eax], eax
add byte [eax + 0x60102404], al
mov cl, 8
add byte [eax], al
add dword [eax + eax], eax
add byte [eax], al
add byte [ebx], al
add al, 0x24
xchg esp, eax
add byte [eax], al
add byte [edx], al
add esp, esp
add byte [eax], cl
add byte [ebx + 0x4800040], al
add byte [eax], al
test byte [eax + 0x8820004], al
add byte [eax], al
or byte [eax], al
push eax
inc eax
add byte [eax], cl
and byte [eax], al
loopne 0x421c89
add byte [ecx + 0x44008c7], bl
sbb byte [eax + 1], ch
add al, al
or dword [eax + 0x102], eax
add byte [ecx + eax + 0x10000002], 0
adc cl, byte fs:[eax + 0x10]
adc byte [ecx], al
add byte [eax], dl
add byte [eax + eax], al
add al, 0
add byte [eax], al
add eax, 0x30002440
add byte [ebx], ah
add dl, byte [eax]
ror byte [eax + 0x102450], 0
mov byte [eax + eax], al
add byte [eax + 0x21], dl
or byte [eax + 0x6b], 0x72
add al, 0
or byte [eax], al
add byte [eax - 0x78], dl
inc eax
add byte [eax - 0x80], bl
ret 3