Function at 0x421632
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
add dword [0x4a9fe8], 0x62a76f83
add dword [0x494b4c], 0xa69af571
add dword [0x4a2904], 0xb8e00081
add dword [0x49d60c], 0x8fd05b24
lea eax, [edi + 4]
push eax
call fcn.0043d70e
add esp, 4
mov dword [esp], eax
xor dword [0x49c12c], 0x6b6db9c9
mov edx, dword [0x49a694]
xor edx, 0x7806
mov cx, word [0x49078a]
and ecx, edx
mov word [0x49078a], cx
jmp 0x4216c0
mov ebp, dword [eax]
mov dword [0x4ac07c], 0x33ead062
or dword [0x4a8bb0], 0x3cdaa405
xor dword [0x4aa2dc], 0xa79cda99
mov ebx, eax
or dword [0x49e5ac], 0xfedfd5ef
mov al, byte [ebp + section..data]
mov byte [ebx], al
mov eax, dword [0x4a3738]
and eax, 0xc81f
mov cx, word [0x48c6e6]
add ecx, eax
mov word [0x48c6e6], cx
mov eax, dword [0x4ac4b0]
mov al, byte [eax + ebp]
xor byte [ebx], al
mov eax, dword [0x49b534]
shl eax, 8
and eax, 0xd9771400
mov ecx, dword [0x4a1734]
and ecx, 0xa867d4b1
cmp eax, ecx
jle 0x421721
or dword [0x49d5a4], 0x3f626561
jmp 0x421727
mov ax, word [0x4889f2]
mov dword [0x499004], 0x775ef480
mov eax, dword [0x4a2ef8]
imul eax, eax, 0x3fe13591
mov dword [0x4a2ef8], eax
mov al, byte [ebp + 0x47c001]
mov byte [ebx + 1], al
mov eax, dword [0x4abf00]
lea ecx, [eax - 1]
mov dword [0x4abf00], ecx
cmp eax, 0x487781c7
jne 0x421781
mov dword [esp + 4], edi
mov eax, dword [0x4a7000]
mov cx, word [0x488a46]
movsx ecx, cx
shl eax, 9
neg eax
sub eax, ecx
add dword [0x49a0c0], eax
jmp 0x42179f
mov dword [esp + 4], edi
mov eax, dword [0x4a07c4]
mov ecx, 0xfe3d11a6
sub ecx, eax
cmp ecx, 0xe8000e76
jl 0x42179f
mov ax, word [0x49073c]
mov eax, dword [0x4ac4b0]
mov al, byte [eax + ebp + 1]
xor byte [ebx + 1], al
mov ax, word [0x48bd9a]
mov eax, dword [0x4a183c]
inc eax
mov dword [0x4a183c], eax
and dword [0x494740], eax
add dword [0x49d148], 0xccad7d79
movzx esi, word [ebx]
mov ax, word [0x487d7a]
lea ecx, [eax - 1]
mov word [0x487d7a], cx
and eax, 0xeb0
mov cx, word [0x4913ee]
or ecx, eax
mov word [0x4913ee], cx
lea eax, [ebp + 0x47c002]
lea ebp, [ebp + 2]
lea edi, [esi + 3]
push edi
push eax
push ebx
call fcn.00432530
add esp, 0xc
mov dword [0x49e250], 0xb28d12a5
mov eax, dword [0x4a0564]
sar eax, 3
and eax, 0x28bbb4fd
mov ecx, dword [0x4a7914]
lea edx, [ecx + 1]
mov dword [0x4a7914], edx
imul ecx, ecx, 0xc236a104
and ecx, 0x2c427888
cmp eax, ecx
ja 0x42184e
mov ax, word [0x488976]
inc eax
mov word [0x488976], ax
lea eax, [ebx + edi]
or dword [0x4a85e8], 0xc4cf1d80
add ebp, dword [0x4ac4b0]
mov ecx, dword [0x492efc]
add ecx, 0xc75b48bc
and ecx, 0xbf62b186
mov edx, dword [0x4a8850]
imul edx, ecx
mov dword [0x4a8850], edx
and dword [0x497688], 0xc65b75ed
mov cl, byte [ebp]
xor byte [ebx], cl
mov ecx, dword [0x49bea8]
lea edx, [ecx - 1]
mov dword [0x49bea8], edx
mov edx, 0x5ea7574a
sub edx, ecx
xor edx, 0xccd8feee
mov dword [0x49f248], edx
inc ebx
inc ebp
dec edi
jne 0x421882
mov ecx, dword [0x49c20c]
add ecx, 0x88797f74
mov dword [0x4a72e4], ecx
mov edi, dword [esp + 4]
sub edi, esi
je 0x4219bf
mov ecx, dword [0x49c06c]
mov edx, dword [0x4aacdc]
sar edx, 4
add edx, 0x1f18cd6d
and edx, ecx
cmp edx, 0xc24e57
jg 0x421923
mov ecx, dword [0x495ae8]
mov edx, dword [0x49561c]
inc edx
mov dword [0x49561c], edx
and edx, 0xaa724149
or edx, ecx
cmp edx, 0xc10c6384
jg 0x421948
mov word [0x4896ba], 0xbffb
jmp 0x421948
mov ecx, dword [0x4a038c]
sar ecx, 1
mov edx, dword [0x4a83a8]
lea esi, [edx + 1]
mov dword [0x4a83a8], esi
add edx, 0x91bbf0eb
or edx, ecx
and dword [0x494f2c], edx
mov byte [eax], 0
mov ecx, dword [0x494cb0]
imul ecx, ecx, 0xd2cb1bbe
mov dword [0x494cb0], ecx
add eax, 0xfffffffd
mov ecx, dword [0x4abaa0]
shl ecx, 6
and ecx, 0x24519f40
mov edx, dword [0x4a4ec8]
add edx, 0x80ed7d3b
cmp ecx, edx
jge 0x4219b0
mov cx, word [0x48b29a]
dec ecx
mov word [0x48b29a], cx
movsx ecx, cx
mov edx, dword [0x498c5c]
imul edx, edx, 0x7fe38717
cmp ecx, edx
jl 0x4216a0
mov ecx, dword [0x49cab0]
jmp 0x4216a0
and dword [0x4938c0], 0x65bd3a86
jmp 0x4216a0
inc dword [0x4a69d8]
mov eax, dword [0x49bab4]
mov eax, dword [0x49f398]
add eax, 0x4bc32c8b
or dword [0x4a6e98], eax
mov eax, dword [esp]
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret