Function at 0x401434
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov eax, dword [0x423f08]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 7
pop ecx
lea edi, [ebp - 0x28]
mov dword [ebp - 0x34], eax
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, eax
mov edi, edx
shl esi, 0xa
mov ecx, section..ndata
mov dword [ebp - 4], ebx
shl edi, 0xa
add esi, ecx
add edi, ecx
lea ecx, [ebp - 0x24]
mov dword [0x409404], ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffffe
cmp ecx, 0x41
ja 0x40287d
jmp dword [ecx*4 + 0x40288f]
pop ecx
imul eax, dword [ecx - 0x7ebab8e8], 0x7826907
sbb dword [eax], 0x81518a47
pop es
insb byte es:[edi], dx
or byte [ebx - 0x7dcdb8b2], 0x2e
sbb ch, byte [esi - 0x7f]
or eax, 0x82158261
jno 0x4028ed
inc ebx
inc ecx
and dword [0x416b3d34], 0x77188261
push ebp
sbb dword [eax], 0x62128174
adc dword [ecx + 0x47], 0x45776282
add dword [edi], 0x413b8063
dec eax
dec ecx
or dword [edi], 0x781a57a
and dword fs:[edx], 0x7815548
xor al, byte [edx + 0x1f808307]
and dword [0x48413d35], 0x20a8167
xor eax, 0x6b650a81
imul eax, dword [edx + 0x39], 0x37
add byte [ebp + 0x35], dl
xor byte gs:[ebx + 0x42], ch
aaa
add byte ss:[ebx + 0x42], ch
inc bp
imul eax, dword [edx + 0x5a], 0x58
inc eax
arpl word [esi + 0x42], sp
inc ecx
inc edx
cmp dword [ecx + 0x480452a7], eax
aaa
inc eax
bound edx, qword [esi + 0x45]
xor byte [edi], ah
inc edx
pop ecx
inc esi
inc esi
dec edx
inc ecx
pop ecx
inc esp
and eax, eax
add eax, dword [esi + 0x4c]
push ebp
rcl dword [edx], 0x36
cmp eax, 0x77426740
push esi
inc edi
inc ebx
inc edx
pop esi
outsd dx, dword [esi]
add cl, byte [esi + 0x40]
jnp 0x402979
arpl word [eax + 0x4d], bp
inc edx
adc byte [ebp + 0x51], dl
insd dword es:[edi], dx
inc esi
inc eax
xor eax, 0x22495a4a
bound eax, qword [eax + 0xb]
push ebp
inc ebx
push 0x57790f40
adc al, 0x53
dec ecx
ret
push ds
push ebp
inc ebx
push 0xffffffffffffffc0
push edx
popal
ja 0x402983
bound eax, qword [ecx + 0x52]
inc ecx
push eax
push ecx
inc ecx
and byte [edx + esi + 0x53], ch
inc ebp
pop edx
inc eax
or eax, 0x6b104338
push ebp
dec ecx
inc edi
inc eax
adc dword [ecx + edx*2 + 0x55], edx
add ah, byte [edx - 0x40]
add esi, dword [eax]
inc edi
inc esi
push esi
popal
dec eax
or cl, byte [ebp - 0x3f]
adc bh, byte [eax]
shl byte [0x64305156], 0xb1
inc eax
adc dword [esi + 0x44], edx
push edx
inc eax
adc eax, eax
je 0x402a07
shl byte [eax], 0x40
bound eax, qword [edx + 0x74]
inc esi
inc ebx
inc ebx
inc ecx
xor byte [ebp], dl
add byte [ebx + 0x49], al
push ebp
inc edx
xor edx, dword [ecx + 0x6f]
or ch, byte [ecx - 0x3e]
and al, 0x69
shr byte [esi], 0x57
ja 0x402a24
pop eax
mov byte [ecx + 0x6f], dl
imul eax, eax, 3
inc ebx
imul eax, eax, 0x5555889b
rcr byte [ebx + 0x49555588], 0xc1
adc bh, byte [ecx]
cmp eax, 0x218c34a
outsb dx, byte [esi]
rcr dword [ecx + ecx*2], 0x46
push ebp
inc ebx
dec ebx
dec ebp
sub eax, 0xc170bfc2
add eax, ecx
and byte [ebx - 0x40], cl
pop es
push edx
dec ebx
rol byte [edi], 0x52
push ecx
test byte [edi + 0x72], ah
inc eax
sbb ecx, dword [esi + 0x42]
push ebx
jp 0x402a57
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
inc esi
dec esp
sar byte [eax + eax*8 + 0x13407525], 0xc0
add al, 0x39
or byte [ecx + 0x41], cl
rcl byte fs:[edx], 0x37
xor byte [0x4d592c55], bh
inc eax
cmovo eax, dword [esi]
js 0x402a77
push es
push esi
inc esp
adc al, 0x54
dec esp
ret 0x4d47
dec edx
inc esp
inc esp
and eax, eax
mov edx, 0x4f435556
rol dl, 0x32
push ebx
or al, 0x63
xor eax, 0x12c10dc1
xor dword [0x70426a41], edi
inc eax
push edx
imul ebx, dword [eax + 0x4f], 0x38
ret 0x3823
cmp dl, al
and edi, dword [eax]
mov eax, dword [eax + 6]
shl cl, 0x33
rcr byte [edi], 0x45
push eax
push eax
inc eax
invalid