Function at 0x424130
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb20
mov esi, esp
push 0x1000
call fcn.00436a00
add esp, 4
mov dword [esi + 0x5c], eax
mov dword [esi + 0x910], 0xd380f69c
mov dword [esi + 0x914], 0x954451c1
mov word [esi + 0x918], 0xd9fe
mov dword [esi + 0x91a], 0
mov dword [esi + 0x91e], 0
mov dword [esi + 0x922], 0
mov byte [esi + 0x926], 0
mov dword [esi + 0x270], 0
mov eax, dword [esi + 0x270]
cmp eax, 0x16
ja 0x424207
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x270]
movzx ecx, byte [esi + ecx + 0x910]
lea edx, [eax - 0x5bceb0c5]
mov edi, ecx
not edi
or edi, edx
and edx, ecx
add edx, edi
sub eax, edx
add al, 0x9d
mov ecx, dword [esi + 0x270]
mov byte [esi + ecx + 0x910], al
mov eax, dword [esi + 0x270]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x270]
cmp eax, 0x17
jb 0x4241b0
mov eax, dword [0x440434]
mov dword [esi + 0x5c0], 0x98baac42
mov dword [esi + 0x5c4], 0xeee8e3e3
mov dword [esi + 0x5c8], 0xf2e0dcef
mov dword [esi + 0x5cc], 0x999994a0
mov word [esi + 0x5d0], 0xc9e2
mov byte [esi + 0x5d2], 0x2a
mov dword [esi + 0x5d3], 0
mov dword [esi + 0x5d7], 0
mov dword [esi + 0x5db], 0
mov dword [esi + 0x5df], 0
mov dword [esi + 0x5e3], 0
mov dword [esi + 0x270], 0
mov ecx, dword [esi + 0x270]
cmp ecx, 0x26
ja 0x4242e4
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x270]
mov edx, dword [esi + 0x270]
movzx edx, byte [esi + edx + 0x5c0]
lea edi, [ecx + 0x25f8f7b4]
lea ebx, [ecx + 0xb4]
xor ebx, edi
and edi, edx
and ebx, edx
add ecx, edx
add ecx, 0x25f8f7b4
lea edx, [ebx + edi*2]
sub ecx, edx
add cl, 0x14
mov edx, dword [esi + 0x270]
mov byte [esi + edx + 0x5c0], cl
inc dword [esi + 0x270]
mov ecx, dword [esi + 0x270]
cmp ecx, 0x27
jb 0x424290
mov ecx, dword [0x440430]
mov dword [esi + 0x270], 0x86b44d4b
mov dword [esi + 0x274], 0x84845189
mov dword [esi + 0x278], 0xaf5a4b8f
mov dword [esi + 0x27c], 0x93be59b3
mov dword [esi + 0x280], 0xe2ef9089
mov dword [esi + 0x284], 0xf4fdf2f2
mov dword [esi + 0x288], 0x2604eaf2
mov dword [esi + 0x28c], 0xe2fbc528
mov dword [esi + 0x290], 0x25d5ece1
mov dword [esi + 0x294], 0xfee3d730
mov dword [esi + 0x298], 0x3b24f1f8
mov dword [esi + 0x29c], 0x3fe7f8d5
mov dword [esi + 0x2a0], 0x1502263c
mov dword [esi + 0x2a4], 0x29121710
mov dword [esi + 0x2a8], 0xe2e60509
mov dword [esi + 0x2ac], 0x2f0e17ec
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
mov dword [esi + 0x2b8], 0
mov dword [esi + 0x2bb], 0
mov dword [esi + 0x80c], 0
mov edx, dword [esi + 0x80c]
cmp edx, 0x4e
ja 0x424407
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x80c]
mov edi, dword [esi + 0x80c]
add dl, 0x2e
xor dl, byte [esi + edi + 0x270]
add dl, 0xbe
mov edi, dword [esi + 0x80c]
mov byte [esi + edi + 0x270], dl
inc dword [esi + 0x80c]
mov edx, dword [esi + 0x80c]
cmp edx, 0x4f
jb 0x4243d0
movzx edx, byte [esi + 0x270]
mov edi, dword [esi + 0x5c]
test dl, dl
je 0x42442b
lea ebx, [esi + 0x271]
mov edi, dword [esi + 0x5c]
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x424420
mov byte [edi], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42444b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x424440
mov byte [edi], 0
movzx ecx, byte [esi + 0x5c0]
test cl, cl
je 0x42446b
lea edx, [esi + 0x5c1]
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424460
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42448b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x424480
mov byte [edi], 0
movzx eax, byte [esi + 0x910]
test al, al
je 0x4244ab
lea ecx, [esi + 0x911]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4244a0
mov byte [edi], 0
push 0
call fcn.0043ad20
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x4451b0]
mov ecx, 0xea1f4df8
xor ecx, dword [0x4451b8]
add ecx, edx
inc ecx
jmp ecx
inc esp
add bh, al
xchg byte [eax + 2], dh
add byte [eax], al
and al, 0x60
inc esp
add bh, al
xchg byte [eax + 2], ch
add byte [eax], al
xor byte [eax + 0x44], ah
add bh, al
xchg byte [eax + 2], ah
add byte [eax], al
cmp al, 0x60
inc esp
add bh, al
xchg byte [eax + 2], bl
add byte [eax], al
dec eax
pushal
inc esp
add bh, al
xchg byte [eax + 2], dl
add byte [eax], al
push esp
pushal
inc esp
add bh, al
xchg byte [eax + 2], cl
add byte [eax], al
pushal
pushal
inc esp
add bh, al
xchg byte [eax + 2], al
add byte [eax], al
insb byte es:[edi], dx
pushal
inc esp
add bh, al
xchg byte [eax], bh
add al, byte [eax]
add byte [eax + 0x60], bh
inc esp
add bh, al
xchg byte [eax], dh
add al, byte [eax]
add byte [eax - 0x7938ffbc], al
sub byte [edx], al
add byte [eax], al
nop
pushal
inc esp
add bh, al
xchg byte [eax], ah
add al, byte [eax]
add byte [eax - 0x7938ffbc], bl
sbb byte [edx], al
add byte [eax], al
test al, 0x60
inc esp
add bh, al
xchg byte [eax], dl
add al, byte [eax]
add byte [eax - 0x7938ffbc], dh
or byte [edx], al
add byte [eax], al
shl byte [eax + 0x44], 0
mov dword [esi + 0x200], 0x4460cc
mov dword [esi + 0x1f8], 0x4460d8
mov dword [esi + 0x1f0], 0x4460e4
mov dword [esi + 0x1e8], 0x4460f0
mov dword [esi + 0x1e0], 0x4448e0
mov ecx, dword [0x4460fc]
mov dword [esi + 0x134], ecx
mov dword [esi + 0x1dc], 0x4448e0
mov ecx, dword [0x446104]
mov dword [esi + 0x130], ecx
mov dword [esi + 0x1d8], 0x4448e0
mov ecx, dword [0x44610c]
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x1d4], 0x4448e0
mov ecx, dword [0x446114]
mov dword [esi + 0x128], ecx
mov dword [esi + 0x1d0], 0x4448e0
mov ecx, dword [0x44611c]
mov dword [esi + 0x124], ecx
mov dword [esi + 0x1cc], 0x4448e0
mov ecx, dword [0x446124]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x1c8], 0x4448e0
mov ecx, dword [0x44612c]
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x1c4], 0x4448e0
mov ecx, dword [0x446134]
mov dword [esi + 0x118], ecx
mov dword [esi + 0x1c0], 0x4448e0
mov ecx, dword [0x44613c]
mov dword [esi + 0x114], ecx
mov dword [esi + 0x1bc], 0x4448e0
mov ecx, dword [0x446144]
mov dword [esi + 0x110], ecx
mov dword [esi + 0x1b8], 0x4448e0
mov ecx, dword [0x44614c]
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x1b4], 0x4448e0
mov ecx, dword [0x446154]
mov dword [esi + 0x108], ecx
mov dword [esi + 0x1b0], 0x4448e0
mov ecx, dword [0x44615c]
mov dword [esi + 0x104], ecx
mov dword [esi + 0x1ac], 0x4448e0
mov ecx, dword [0x446164]
mov dword [esi + 0x100], ecx
mov dword [esi + 0x1a8], 0x4448e0
mov ecx, dword [0x44616c]
mov dword [esi + 0xfc], ecx
mov dword [esi + 0x1a4], 0x4448e0
mov ecx, dword [0x446174]
mov dword [esi + 0xf8], ecx
mov dword [esi + 0x1a0], 0x4448e0
mov ecx, dword [0x44617c]
mov dword [esi + 0xf4], ecx
mov dword [esi + 0x19c], 0x4448e0
mov ecx, dword [0x446184]
mov dword [esi + 0xf0], ecx
mov dword [esi + 0x198], 0x4448e0
mov ecx, dword [0x44618c]
mov dword [esi + 0xec], ecx
mov dword [esi + 0x194], 0x4448e0
mov ecx, dword [0x446194]
mov dword [esi + 0xe8], ecx
mov dword [esi + 0x190], 0x4448e0
mov ecx, dword [0x44619c]
mov dword [esi + 0xe4], ecx
mov dword [esi + 0x18c], 0x4448e0
mov ecx, dword [0x4461a4]
mov dword [esi + 0xe0], ecx
mov dword [esi + 0x188], 0x4448e0
mov ecx, dword [0x4461ac]
mov dword [esi + 0xdc], ecx
mov dword [esi + 0x184], 0x4448e0
mov ecx, dword [0x4461b4]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0x180], 0x4448e0
mov ecx, dword [0x4461bc]
mov dword [esi + 0xd4], ecx
mov dword [esi + 0x17c], 0x4448e0
mov ecx, dword [0x4461c4]
mov dword [esi + 0xd0], ecx
mov dword [esi + 0x178], 0x4448e0
mov ecx, dword [0x4461cc]
mov dword [esi + 0xcc], ecx
mov dword [esi + 0x174], 0x4448e0
mov ecx, dword [0x4461d4]
mov dword [esi + 0xc8], ecx
mov dword [esi + 0x170], 0x4448e0
mov ecx, dword [0x4461dc]
mov dword [esi + 0xc4], ecx
mov dword [esi + 0x16c], 0x4448e0
mov ecx, dword [0x4461e4]
mov dword [esi + 0xc0], ecx
mov dword [esi + 0x168], 0x4448e0
mov ecx, dword [0x4461ec]
mov dword [esi + 0xbc], ecx
mov dword [esi + 0x164], 0x4448e0
mov ecx, dword [0x4461f4]
mov dword [esi + 0xb8], ecx
mov dword [esi + 0x160], 0x4448e0
mov ecx, dword [0x4461fc]
mov dword [esi + 0xb4], ecx
mov dword [esi + 0x15c], 0x4448e0
mov ecx, dword [0x446204]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x158], 0x4448e0
mov ecx, dword [0x44620c]
mov dword [esi + 0xac], ecx
mov dword [esi + 0x154], 0x4448e0
mov ecx, dword [0x446214]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0x150], 0x4448e0
mov ecx, dword [0x44621c]
mov dword [esi + 0xa4], ecx
mov dword [esi + 0x14c], 0x4448e0
mov ecx, dword [0x446224]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x148], 0x4448e0
mov ecx, dword [0x44622c]
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x144], 0x4448e0
mov ecx, dword [0x446234]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x140], 0x4448e0
mov ecx, dword [0x44623c]
mov dword [esi + 0x94], ecx
mov dword [esi + 0x13c], 0x4448e0
mov ecx, dword [0x446244]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x138], 0x4448e0
mov ecx, dword [0x44624c]
mov dword [esi + 0x8c], ecx
jmp eax