Function at 0x40214c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 4], 0xc6f8e435
push ebx
mov eax, dword [0x408755]
sbb dword [0x408801], eax
mov dword [ebp - 0x20], 0xc6f8e434
xor ebx, ebx
mov dword [0x408340], 0x40214c
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x20]
push esi
mov esi, 0x2a823c2b
xor dword [0x4087f9], 0x5b1f
push edi
xor eax, esi
xor dword [0x4087bd], ebx
mov edi, 0x138527e2
add eax, edi
mov dword [ebp - 0xc], eax
mov dword [0x408849], 0x26dd
mov dword [ebp - 0x28], ebx
movzx eax, byte [0x408859]
mov eax, dword [ebp - 0xc]
cmp ebx, eax
jae 0x402367
mov eax, dword [ebp - 4]
sbb dword [0x4087c1], 0x40880d
xor eax, esi
add eax, edi
mov dword [0x408809], 0x6d9c
cmp ebx, eax
mov dword [0x4087c1], 0x5ef5
jne 0x402338
xor dword [0x40878d], 0x64e9
push dword [ebp + 8]
call fcn.00401cec
mov dword [ebp - 0xc], eax
add ecx, eax
mov eax, dword [ebp - 4]
dec ecx
mov ecx, dword [ebp - 0xc]
adc dword [0x408849], 0x408811
xor eax, esi
adc dword [0x408751], 0x4dfd
add eax, edi
mov dword [0x4087c5], 0x49b8
cmp ecx, eax
mov dword [0x408805], 0x436c
je 0x40246b
and dword [0x408839], 0x5b65
push dword [ebp - 0xc]
push dword [ebp + 8]
sub dword [0x40873d], 0x408785
call fcn.00401c2d
xor ecx, 0x27a8
mov dword [0x40842c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [0x40885d]
sub dword [0x408841], ecx
mov ecx, dword [0x40842c]
sbb dword [0x408781], 0x3e22
xor eax, esi
or dword [0x4087d1], 0x408789
add eax, edi
cmp ecx, eax
je 0x40246b
mov ecx, dword [0x40887d]
mov eax, dword [0x4087b1]
sub eax, ecx
sub ecx, dword [ecx + eax]
mov eax, dword [0x40842c]
or dword [0x408745], edx
mov eax, dword [eax + 0x18]
sub ecx, 0x29f5
mov dword [ebp - 0xc], eax
mov eax, dword [0x40842c]
xor dword [0x408815], ebx
mov ecx, dword [ebp + 8]
adc dword [0x40877d], 0x40885d
add ecx, dword [eax + 0x20]
adc dword [0x4087fd], 0x32bc
mov dword [ebp - 0x24], ecx
mov eax, dword [0x40842c]
and dword [0x40885d], ecx
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x2c], ecx
inc dword [0x4087d1]
mov eax, dword [0x40842c]
or dword [0x408845], 0xed2
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x1c]
mov dword [0x408795], 0x1043
mov dword [ebp - 0x30], ecx
mov dword [0x4087fd], 0x6968
jmp 0x4023e3
adc dword [0x4087c9], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + ebx*4]
mov eax, dword [0x408791]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [0x408809], 0x122a
je 0x4023e3
jmp 0x4023b6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
sbb dword [0x4087fd], 0x45ba
xor eax, esi
add eax, edi
mov dword [0x408861], 0x1e6f
cmp ecx, eax
je 0x40246b
or dword [0x408755], 0x7451
mov eax, dword [ebp - 0x28]
add dword [0x408791], 0x408745
test eax, eax
mov dword [0x408839], 0x7210
je 0x402481
add dword [0x408791], 0x4bbd
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x1c]
sbb dword [0x40874d], 0x408791
push dword [ebp + 0xc]
adc dword [0x408859], 0x71ee
call section..text
xor ecx, ecx
or ecx, dword [0x408799]
mov eax, dword [0x4087dd]
sub ecx, eax
and ecx, dword [ecx + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
and dword [0x4087b9], 0x4087cd
xor eax, esi
sub dword [0x40874d], 0x4087c9
add eax, edi
cmp ecx, eax
mov dword [0x4087d1], 0x130b
je 0x40245b
mov dword [0x408841], edx
mov eax, dword [ebp - 0x2c]
mov dword [0x408739], 0x498d
movzx eax, word [eax + ebx*2]
movzx ecx, word [0x408845]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
mov dword [0x408795], 0x3c88
mov dword [ebp - 0x34], eax
jmp 0x402367
inc ebx
mov dword [0x408805], 0x1863
jmp 0x4021ae
mov eax, dword [ebp - 4]
xor eax, esi
add eax, edi
mov dword [0x40873d], 0x463c
jmp 0x402589
add eax, dword [0x4087c9]
mov eax, dword [ebp - 0x34]
and dword [0x4087c5], 0x408861
add eax, dword [ebp + 8]
add dword [0x40880d], 0x4087d1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
or dword [0x4087b9], 0x79fd
test eax, eax
je 0x40253f
mov dword [ebp - 0x18], 0
push 3
add eax, eax
xor edx, edx
pop edx
sbb dword [0x4087bd], ebx
add edx, 8
push edx
movzx ecx, word [0x40874d]
and dword [0x408751], ecx
pop ecx
push 6
dec ecx
pop ebx
dec ebx
xchg ebx, ecx
sub ebx, ecx
xchg ebx, ecx
dec ecx
mov eax, dword [ebp + 0x14]
imul eax, ecx
sub esp, eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp - 4]
xor eax, esi
add eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
je 0x40253f
lea eax, [ebp + 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
add eax, 4
mov ebx, dword [eax]
mov dword [edx + ecx*4], ebx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
xor ecx, esi
lea ecx, [ecx + edx + 0x138527e2]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
cmp ecx, edx
jne 0x402511
mov eax, dword [ebp - 4]
xor eax, esi
add eax, edi
mov dword [ebp - 0x10], eax
xor edx, edx
mov ebx, 0x342
lea eax, [ebp - 0x14]
add edx, dword [eax]
add ebx, 0x331
sub ebx, 0x11
dec edx
push edx
pop ecx
inc ecx
call ecx
xor ecx, ecx
inc ecx
push eax
mov ebx, 0x234
xor ebx, 0x234
mov ecx, esp
dec ecx
add ebx, 2
dec ebx
mov edx, dword [ecx + ebx]
add ebx, edx
dec ebx
xor ecx, ecx
add dword [ebp - 0x10], ebx
pop ebx
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
leave
ret