Function at 0x421730
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
cmp dword [esp + 0x28], 0
mov dword [esp + 0xc], ecx
mov eax, 0x730a7323
mov ecx, 0x1c2622d1
mov edi, 0xfc8472c1
cmove ecx, eax
mov eax, 0xe28d67f1
mov dword [esp + 8], ecx
jmp 0x4218a0
mov ecx, dword [0x482554]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
and eax, 0xabc609d8
and ecx, 0x5439f627
or eax, ecx
mov ecx, eax
mov edi, eax
xor edi, 0x5439f627
xor eax, 0x6dde6543
xor ecx, 0xabc609d8
and eax, edi
mov edx, edi
or edx, 0xc6186c9b
or edi, 1
mov esi, eax
not esi
and eax, 0x98d58340
mov ebx, esi
and ebx, 0x672a7cbf
or esi, edx
and edx, 0x672a7cbf
or eax, ebx
mov ebx, ecx
and ebx, 0x18c58340
not esi
and ecx, 0x47820c4c
or ebx, edx
xor ebx, eax
or esi, ebx
mov eax, esi
not eax
and esi, 0xc5838442
and eax, 0x3a7c7bbd
or esi, eax
mov eax, esi
xor eax, 0x3820848
xor esi, 0xfc641727
mov edx, esi
or esi, edi
and edi, 0xb87df3b2
and edx, 0xb87df3b2
and eax, 0x47820c4d
or ecx, edi
or eax, edx
not esi
mov edi, 0xfc8472c1
xor ecx, eax
or esi, ecx
mov eax, esi
not eax
mov ecx, esi
and ecx, 0x92628483
and eax, 0x6d9d7b7c
or ecx, eax
andn eax, esi, esi
xor ecx, 0x92628483
or eax, ecx
mov ecx, eax
not ecx
and eax, 0x4dfb1f5
and ecx, 0xfb204e0a
or eax, ecx
mov ecx, eax
xor ecx, 0x48b31f0
xor eax, 0xd2200400
and eax, 0xd2748405
and ecx, 0x2d8b7bfa
or ecx, eax
xor ecx, 0x2d8b7bfa
sete cl
setne al
cmp dword [0x482550], 0xa
setge dl
setl ah
mov ch, dl
and ah, al
and ch, cl
xor cl, dl
or ch, ah
and cl, dl
mov eax, 0x9e879663
mov edx, 0x9e879663
or cl, ch
xor cl, ch
cmovne eax, edi
test cl, ch
cmove eax, edi
cmovne eax, edx
test cl, cl
cmove eax, edx
cmp eax, 0x1c2622d0
jle 0x4218d0
cmp eax, 0x51ae0a2b
jle 0x4218f0
cmp eax, 0x6764d95f
je 0x421760
cmp eax, 0x730a7323
jne 0x4219f0
mov eax, 0x51ae0a2c
mov dword [esp + 4], ebp
jmp 0x4218a0
cmp eax, 0xe28d67f0
jg 0x421920
cmp eax, 0x83f9a868
je 0x421940
cmp eax, 0x9e879663
jne 0x4218a0
mov eax, 0x730a7323
jmp 0x4218a0
cmp eax, 0x1c2622d1
je 0x4219ca
cmp eax, 0x315af35d
jne 0x4218a0
mov ebp, dword [esp]
mov ecx, dword [esp]
call fcn.00421090
mov eax, dword [esp + 8]
jmp 0x4218a0
cmp eax, 0xe28d67f1
je 0x4219df
cmp eax, 0xfc8472c1
jne 0x4218a0
mov eax, 0x6764d95f
jmp 0x4218a0
mov ecx, dword [0x482554]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
mov esi, eax
or esi, 1
not edx
mov ecx, edx
or ecx, 0xe6876300
and esi, 0xe6876301
and edx, 0x19789cfe
or edx, esi
and ecx, 0xe6876301
xor ecx, edx
mov edx, ecx
not edx
and ecx, eax
andn esi, eax, edx
or ecx, esi
mov esi, 0x6764d95f
xor edx, ecx
test edx, ecx
setne cl
cmp dword [0x482550], 0xa
mov edx, ecx
setge al
xor dl, al
or cl, al
mov ah, dl
mov al, cl
and dl, cl
xor ah, 1
not al
and al, ah
or cl, ah
or al, dl
mov edx, ecx
xor dl, al
mov edx, 0x6764d95f
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmovne eax, edx
jmp 0x4218a0
push dword [esp]
call fcn.00421a3c
add esp, 4
mov eax, 0x83f9a868
jmp 0x4218a0
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov eax, 0x315af35d
jmp 0x4218a0
cmp eax, 0x51ae0a2c
jne 0x4218a0
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4