Function at 0x41a020
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1a0
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0x18e31827
mov dword [esp + 0x1c], 0x18e418f9
mov dword [esp + 0x20], 0x180d18e2
mov eax, 0x4a48
mov ecx, 0xab1cb5b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 - 0x9478]
mov edx, eax
xor edx, ecx
and edx, esi
xor edx, ecx
lea esi, [edx + edx]
not esi
add esi, edx
add esi, 0x58e5adbf
mov edi, esi
and edi, 1
and esi, 0xfffe
and edx, 1
or edx, esi
xor edx, 1
lea edx, [edx + edi*2]
mov word [esp + eax*2 - 0x9478], dx
inc eax
dec ecx
cmp eax, 0x4a4e
jne 0x41a060
mov dword [esp + 0x30], 0xf8cdf8d0
mov dword [esp + 0x34], 0xf8cbf8ce
mov dword [esp + 0x38], 0xf712f706
mov dword [esp + 0x3c], 0xf8d3f711
mov dword [esp + 0x40], 0xf922f92f
mov dword [esp + 0x44], 0xf92ff923
mov dword [esp + 0x48], 0xf92af92c
mov dword [esp + 0x4c], 0xf933f935
mov dword [esp + 0x50], 0xf6c9f6f2
xor eax, eax
nop
nop
lea ecx, [eax + 0x70f8]
xor cx, word [esp + eax*2 + 0x30]
add ecx, 0x7840
mov word [esp + eax*2 + 0x30], cx
inc eax
cmp eax, 0x12
jne 0x41a0f0
movzx ecx, word [esp + 0x30]
lea eax, [esp + 0x15c]
test cx, cx
je 0x41a143
lea edx, [esp + 0x32]
mov esi, dword [ebp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41a130
jmp 0x41a146
mov esi, dword [ebp + 0x10]
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x41a171
lea edx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41a160
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x41a1a1
lea edx, [esp + 0x1a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41a190
mov word [eax], 0
mov edi, dword [ebx]
mov dword [esp + 0x30], 0x5cd0520
mov word [esp + 0x34], 0x7e2c
mov eax, 0xf1fa
mov ecx, 0xe05
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 - 0x1e3c4]
mov esi, edx
not esi
or esi, ecx
or edx, eax
and edx, esi
add edx, 0x7030
mov word [esp + eax*2 - 0x1e3c4], dx
inc eax
dec ecx
cmp eax, 0xf1fd
jne 0x41a1d0
movzx eax, byte [esp + 0x30]
test al, al
je 0x41a21b
lea ecx, [esp + 0x31]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a210
mov dword [esp + 0x10], edi
mov byte [edi], 0
lea eax, [esp + 0x140]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x2c]
lea esi, [esp + 0x15c]
push eax
push ecx
push edx
push esi
call fcn.0040ad10
add esp, 0x10
movzx eax, al
mov eax, dword [eax*4 + 0x442580]
mov ecx, 0xf7d41967
xor ecx, dword [0x442588]
add eax, ecx
inc eax
jmp eax
push ebp
push ebx
push 0x39cf5300
mov dword [esp], edx
mov edx, 0x7f7f569d
inc edx
shl edx, 4
shr edx, 1
xchg edx, esi
not esi
jmp 0x5f5103
shl eax, 7
dec eax
sub eax, 1
inc eax
jmp 0x5f5300
xchg edx, esi
push ebp
mov ebp, 0x5fbf07c0
jmp 0x5f51c9
inc edi
neg edi
xor edi, 0x648c0b28
sub eax, 0x5f1f0de7
jmp 0x5f5156
add eax, edi
push ebp
mov ebp, 0x75f975cb
sub ebp, 0x5ffb25ca
dec ebp
or ebp, 0x6dff74f4
inc ebp
add ebp, 0xe11f98f2
jmp 0x5f5177
add eax, ebp
pop ebp
pop edi
push esi
jmp 0x5f52b4
mov ebx, 0x7bde8855
mov edi, ebx
pop ebx
shl edi, 8
jmp 0x5f5143
pop ebx
add ebx, 0x7dee1e5a
push dword [esp]
push dword [esp]
pop eax
add esp, 4
push edx
push esp
pop edx
add edx, 4
add edx, 4
push edx
jmp 0x5f51ba
push dword [esp + 4]
pop edx
pop dword [esp]
pop esp
push ecx
jmp 0x5f50d5
xor edx, ebp
pop ebp
sub edx, 0x9bcb36ee
push edx
pop ebx
pop edx
jmp 0x5f52a6
add ebx, ebp
pop ebp
neg ebx
shr ebx, 6
sub ebx, 0x79bb7139
neg ebx
xor ebx, 0x786fd8ec
jmp 0x5f520a
add edx, ebx
pop ebx
push ebx
push edi
push 0x36fdb770
jmp 0x5f524e
mov edi, dword [esp]
add esp, 4
add edx, ebx
pop ebx
xor edx, dword [esp]
jmp 0x5f52e7
pop eax
add esp, 4
sub ebx, 0x5d39079c
jmp 0x5f534f
pop edi
add edi, 0xffffffff
neg edi
shl edi, 1
push edx
mov edx, 0x92049126
xor edi, edx
pop edx
push ebp
jmp 0x5f5336
add esp, 4
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
xor ecx, 0x7ffaf56a
push edx
mov dword [esp], 0x7d188985
mov dword [esp], edx
mov edx, dword [esp]
push 0x196b9673
mov dword [esp], edx
mov edx, esp
push ebx
jmp 0x5f5378
push eax
mov eax, 0x3ee0628c
xchg esi, eax
inc esi
xchg esi, eax
jmp 0x5f50f4
mov dword [esp], eax
push ebx
push edx
mov edx, 0x7b7ef735
not edx
not edx
not edx
jmp 0x5f52c9
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or edx, 0x5dece867
xor edx, 0xa003f6b5
mov ebx, edx
mov edx, dword [esp]
add esp, 4
sub dword [esp + 4], ebx
pop ebx
jmp 0x5f5191
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
jmp 0x5f53b3
xor eax, 0x1dee362e
xor ebx, eax
push dword [esp]
jmp 0x5f523c
mov ebp, edi
mov ebx, ebp
pop ebp
jmp 0x5f522b
sub al, 0x24
xlatb
mov eax, dword [0x575845fb]
push ebx
jmp 0x5f5181
shr ebx, 1
xchg ebx, ecx
push ecx
not dword [esp]
pop ecx
xor ebx, ecx
xor ecx, ebx
xor ebx, ecx
add ebx, 0xfa76a475
mov ebp, ebx
pop ebx
xor dword [esp + 4], ebp
pop ebp
push dword [esp]
mov ecx, dword [esp]
jmp 0x5f5269
mov ebx, 0x719a270d
push 0x67103679
mov dword [esp], ebp
jmp 0x5f538a
mov ebp, 0x7eff9a43
xchg ebp, ecx
neg ecx
xor ebp, ecx
xor ecx, ebp
xor ebp, ecx
sub ebp, 0x792eec00
push edx
mov edx, 0x7fdafa13
add ebp, edx
pop edx
xor ebp, 0xbcd3b77d
jmp 0x5f51da
jmp 0x5f570a
push esi
mov dword [esp], 0x64c43b3a
jmp 0x5f5765
add esp, 4
jmp 0x5f574f
mov ecx, 0x7ffd3cb3
mov ebp, ecx
pop ecx
add dword [esp + 4], ebp
mov ebp, dword [esp]
push eax
mov eax, esp
add eax, 4
jmp 0x5f57c7
pop eax
add eax, 0x6f75c419
sub eax, esi
push ebx
push ecx
mov ecx, 0x73ce142b
jmp 0x5f5837
push 0x3705817b
mov dword [esp], edx
push eax
mov eax, esp
push ecx
mov ecx, 4
jmp 0x5f57dc
mov dword [esp], ebp
mov dword [esp], eax
push ebx
mov ebx, esp
add ebx, 4
jmp 0x5f592e
pop ecx
jmp 0x5f5809
or ebp, 0x73ff5e00
or ebp, 0x3e779093
or ebp, 0x3f552291
add ebp, 0x80000029
mov esi, ebp
pop ebp
sub edi, esi
pop esi
xchg dword [esp], edi
mov esp, dword [esp]
mov dword [esp], edx
mov ecx, dword [esp]
add esp, 4
mov edx, dword [esp]
push esi
mov esi, esp
push edi
mov edi, 4
add esi, edi
pop edi
add esi, 4
push esi
jmp 0x5f582d
add eax, 4
xchg dword [esp], eax
pop esp
push dword [esp]
jmp 0x5f587e
pop edx
jmp 0x5f5936
add eax, ecx
jmp 0x5f5779
push esi
mov esi, 0x7dbeadf6
and esi, 0x154be024
shl esi, 5
push eax
mov eax, 0x1ffe113c
dec eax
and eax, 0x7aee952e
jmp 0x5f581d
pop esp
jmp 0x5f5941
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], esp
push 0x6fa32487
jmp 0x5f5894
shl eax, 2
dec eax
xor eax, 0xb5117c94
xor esi, eax
jmp 0x5f573b
push dword [esp + 4]
pop esi
jmp 0x5f58a9
mov ebx, 0x1cbbd032
jmp 0x5f58c2
add dword [esp + 4], ebx
sub dword [esp + 4], 0x7d9f9fd8
pop ebx
mov edx, dword [esp]
add esp, 4
push edx
mov dword [esp], 0x1cad67da
mov dword [esp], eax
mov eax, 4
sub edx, 0x72fe6926
add edx, eax
add edx, 0x72fe6926
pop eax
add edx, 4
jmp 0x5f58b1
pop eax
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
jmp 0x5f57e3
mov dword [esp], ebx
mov ebx, 4
add dword [esp + 4], 0x7d9f9fd8
jmp 0x5f5841
pop dword [esp]
jmp 0x5f5803
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
jmp 0x5f58ff
xor ebx, ecx
pop ecx
sub eax, ebx
pop ebx
mov esi, dword [esp]
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push ebx
push dword [esp]
mov ebx, dword [esp]
jmp 0x5f5717
pop edi
add edi, 4
push eax
mov dword [esp], esi
push ebp
mov ebp, 0x7ff7b95c
dec ebp
jmp 0x5f577f
sub esp, 4
mov dword [esp], ebx
mov ebx, esp
push eax
mov eax, 4
add ebx, eax
pop eax
sub ebx, 4
xchg dword [esp], ebx
pop esp
mov dword [esp], edx
push 0x14766cb
mov dword [esp], ecx
xor dword [esp], 0x7663c7e1
jmp 0x5f57d6
sub ebx, 4
jmp 0x5f594d
xor edx, 0x7663c7e1
jmp 0x5f5946
jmp 0x5f595a
push edi
push esp
jmp 0x5f58e8
xchg dword [esp], ebx
pop esp
mov dword [esp], ebp
push ecx
jmp 0x5f571f
push ebp
mov dword [esp], edi
mov dword [esp], eax
mov eax, esp
push esi
push ebx
jmp 0x5f5a4b
add ebx, eax
jmp 0x5f59d6
xor ecx, edx
mov edx, dword [esp]
add esp, 4
push eax
mov dword [esp], 0x7c525078
jmp 0x5f5a05
add esp, 4
xchg dword [esp], esi
pop esp
shl eax, 3
jmp 0x5f5aec
pop eax
jmp 0x5f5c6b
pop eax
jmp 0x5f5b59
sub ebp, ebx
pop ebx
jmp 0x5f5b65
add ebp, edi
pop edi
pop ecx
jmp 0x5f5bb5
mov ebp, dword [esp]
push 0x40fa388a
mov dword [esp], edi
mov edi, esp
push ebp
push ebx
mov ebx, 0x7fee6079
mov ebp, 0x7fee607d
jmp 0x5f59a7
pop eax
add ebx, 0x7bfbea84
jmp 0x5f5be5
add esp, 4
push eax
push ebx
mov ebx, 0x5ccea72
not ebx
and ebx, 0x7f41224d
push ecx
mov ecx, 0x2c6a3f0d
xor ebx, ecx
pop ecx
jmp 0x5f5a40
mov dword [esp], edx
mov dword [esp], 0x7cf534ce
mov dword [esp], edx
push ebp
mov ebp, 0x79d3a2e3
jmp 0x5f5b27
push ecx
mov ecx, esp
jmp 0x5f5b99
pop ebp
add edi, 4
xor edi, dword [esp]
xor dword [esp], edi
jmp 0x5f5a37
xor edi, dword [esp]
pop esp
jmp 0x5f5baa
mov eax, ebx
mov ebx, dword [esp]
push esi
jmp 0x5f5c64
push 0x4dfbd7ac
mov ebx, dword [esp]
add esp, 4
mov esi, 0x28036eff
add esi, ebx
pop ebx
sub esi, 0xffffffff
or esi, 0x5dee5700
jmp 0x5f5ac0
mov ecx, 0x69a23230
xor ebx, ecx
pop ecx
add esi, ebx
pop ebx
push eax
mov eax, 0x3aaf8f36
add eax, 0x4fea4a40
neg eax
shr eax, 5
sub eax, 0x7ff7dd93
xor eax, 0xf5489386
sub esi, eax
pop eax
sub esi, 0x75009160
add eax, esi
mov esi, dword [esp]
add esp, 4
sub eax, 4
push esi
mov dword [esp], edx
mov dword [esp], eax
push dword [esp + 4]
jmp 0x5f59a1
push edi
mov dword [esp], ebx
mov ebx, 0x7f26c208
and ebx, 0x74ffb63d
jmp 0x5f5bbc
pop ecx
add esp, 4
push ecx
sub dword [esp], 0x2e7a2b28
pop ebp
push edi
mov edi, 0x2e7a2b28
jmp 0x5f59af
push ebx
mov ebx, 0x77dff0b7
push eax
mov eax, 0x7fd5ce5d
not eax
xor eax, 0xad55a27d
xor eax, 0x7dfe82d2
or eax, 0x73d640e5
sub eax, 0xffdc4b41
jmp 0x5f596a
pop ebx
sub edx, 0x5adb2c7d
sub edx, eax
add edx, 0x5adb2c7d
jmp 0x5f599b
add dword [esp + 4], ebp
pop ebp
mov edx, dword [esp]
jmp 0x5f59e2
xchg dword [esp], ecx
pop esp
mov dword [esp], ebx
push dword [esp]
jmp 0x5f5ad4
add esi, 4
push ebx
mov ebx, 4
add esi, ebx
mov ebx, dword [esp]
jmp 0x5f5989
pop dword [esp]
pop esp
mov dword [esp], eax
jmp 0x5f5b6c
add edi, ebp
jmp 0x5f5a25
mov eax, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], ebp
push ebx
mov ebx, esp
add ebx, 4
push edx
mov edx, 4
sub ebx, edx
pop edx
xchg dword [esp], ebx
pop esp
mov dword [esp], ecx
jmp 0x5f5a1d
add ecx, 4
sub ecx, 4
jmp 0x5f5b34
sub esp, 4
mov dword [esp], edx
jmp 0x5f5bc8
push ebp
pop ebx
jmp 0x5f59b8
dec ebx
neg ebx
shr ebx, 5
push ecx
jmp 0x5f5a72
push ecx
mov dword [esp], eax
push eax
mov dword [esp], ebx
mov ebx, 0x6affa6aa
mov eax, 0x1308fdd5
add eax, ebx
pop ebx
shl eax, 1
jmp 0x5f5bfe
add ebx, 0x7fef8867
sub ebx, 0xffffffff
sub ebx, 0x1d3c0f6c
xor eax, ebx
jmp 0x5f5b13
or eax, 0x672e4646
add eax, 0x8a2e926
mov dword [esp + 4], eax
pop eax
mov dword [esp], ecx
mov dword [esp], 0x84b7457
jmp 0x5f5c34
add esp, 4
push ebx
mov dword [esp], 0x5dd7e638
xchg dword [esp], esi
neg esi
xor dword [esp], esi
jmp 0x5f5c4a
mov dword [esp], ecx
push esi
mov esi, 0x77ff02aa
xor dword [esp + 4], esi
pop esi
mov ecx, dword [esp]
jmp 0x5f5c1c
xor esi, dword [esp]
xor dword [esp], esi
sub dword [esp], 0x97fe127e
mov dword [esp], edx
mov edx, 0x77ff02aa
jmp 0x5f5971
push esp
pop esi
jmp 0x5f5b43
jmp 0x5fc57f
push eax
push esi
mov esi, 0x7b7fe015
sub dword [esp + 4], esi
mov esi, dword [esp]
add esp, 4
push dword [esp]
jmp 0x5fc5d2
push dword [esp]
mov eax, dword [esp]
jmp 0x5fc5e7
pop ecx
xchg dword [esp], edi
pop esp
jmp fcn.005fc699
push edi
push esp
pop edi
add edi, 4
push ecx
mov ecx, 0x6fff0be4
dec ecx
jmp 0x5fc660
add ecx, 0x9000f421
add edi, ecx
jmp 0x5fc5dd