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
add ebx, ebp
pop ebp
jmp 0x5f4deb
pop ebx
not ecx
not ecx
sub ecx, 0x5baf8b5a
push edx
mov edx, 0xa97b9853
jmp 0x5f4c33
xor ebx, dword [esp]
pop esp
mov dword [esp], ebp
push ecx
mov ecx, 0x5fdb789b
jmp 0x5f5178
mov ebx, 0x4bd74858
jmp 0x5f4e76
mov dword [esp], esi
mov esi, 4
jmp 0x5f5163
sub ecx, edx
pop edx
mov edi, ecx
pop ecx
shl edi, 4
shl edi, 1
not edi
xor edi, 0x2b28c9da
mov esi, edi
mov edi, dword [esp]
push esi
jmp 0x5f4e4d
mov dword [esp], esp
add dword [esp], 4
pop esi
add esi, 4
push ecx
mov ecx, 0x7fec8093
sub ecx, 0x7fec808f
jmp 0x5f5130
sub esi, 0x7f6f7ae1
push edx
mov edx, 0x4bd74858
add esi, edx
pop edx
mov ebx, dword [esp]
add esp, 4
xor eax, esi
jmp 0x5f4fb4
mov dword [esp], 0x295c5295
mov ecx, dword [esp]
jmp 0x5f5033
sub esp, 4
mov dword [esp], ebx
sub esp, 4
mov dword [esp], eax
jmp 0x5f4f5e
push dword [esp]
mov ebp, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
add esp, 4
jmp 0x5f4d91
mov dword [esp], eax
jmp 0x5f4e1f
mov eax, dword [esp]
add esp, 4
sub eax, ebx
mov ebx, dword [esp]
sub esp, 4
mov dword [esp], ecx
jmp 0x5f50cd
pop ecx
xchg dword [esp], esi
mov esp, dword [esp]
neg esi
push 0x1f6551e7
mov dword [esp], ebx
mov ebx, 0xcee36d30
jmp 0x5f526f
pop dword [ecx + esi]
push ecx
mov dword [esp], ebp
push ecx
jmp 0x5f52e1
or ebp, 0x5df741c5
sub ebp, 0x2f1f6691
shl ebp, 3
neg ebp
not ebp
sub ebp, 0xf875da65
sub ebx, ebp
pop ebp
jmp 0x5f514f
push eax
jmp 0x5f4cae
sub esi, ebx
jmp 0x5f509c
push edx
mov edx, 4
add eax, edx
pop edx
sub eax, 4
xchg dword [esp], eax
jmp 0x5f5120
xor dword [esp], 0xaad2827
and dword [esp], 0x5ff5ae1b
push ebp
mov ebp, 0x1cf428cb
add dword [esp + 4], ebp
pop ebp
mov dword [esp], ecx
push eax
mov eax, 0x7ffbd583
mov ecx, eax
pop eax
sub eax, ecx
pop ecx
sub esp, 4
mov dword [esp], ebx
jmp 0x5f4fed
add ecx, 4
add ecx, 4
push ecx
push dword [esp + 4]
pop ecx
pop dword [esp]
mov esp, dword [esp]
push esi
sub esp, 4
mov dword [esp], edi
push ecx
push ebx
mov ebx, 0x77f554b5
mov ecx, 0xe29b7c33
sub ecx, ebx
jmp 0x5f4bf4
mov eax, 0x7deedc27
push edi
push ecx
push edi
push 0x3fdf470b
pop edi
mov ecx, edi
pop edi
dec ecx
neg ecx
jmp 0x5f5010
add esp, 4
push 0x152f16d5
mov dword [esp], ebp
mov dword [esp], eax
push dword [esp + 4]
pop eax
pop dword [esp]
pop esp
jmp 0x5f5000
pop esi
push eax
mov eax, esp
jmp 0x5f4e8a
pop ebx
or dword [esp], 0x7ef34ce1
jmp 0x5f50c5
sub ebx, edi
add ebx, 0x7fbf031d
pop edi
xor ebx, dword [esp]
xor dword [esp], ebx
jmp 0x5f4c0a
push esp
jmp 0x5f515c
xor esi, esi
push dword [ecx + esi]
jmp 0x5f5057
push edi
jmp 0x5f5072
neg ecx
xor ecx, 0x9bb67e08
mov edi, ecx
pop ecx
mov ebx, edi
pop edi
push ebp
push ecx
mov ecx, 0x76af6638
neg ecx
shr ecx, 7
inc ecx
shr ecx, 3
jmp 0x5f50f9
add esp, 4
jmp 0x5f546f
sub esp, 4
mov dword [esp], edi
push eax
push 0x3f373673
jmp 0x5f53db
push eax
push esi
mov esi, 0x7fab9c43
add esi, 0xffffffff
and esi, 0x50eb5253
sub esi, 0x112f0b98
mov eax, esi
mov esi, dword [esp]
jmp fcn.005f5375
push dword [esp + 4]
pop edi
jmp 0x5f5278
pop ebx
add esi, 0x7f6f7ae1
add esi, ebx
jmp 0x5f4cd0
dec dword [esp]
jmp 0x5f4ee9
push esp
mov ecx, dword [esp]
add esp, 4
jmp 0x5f4f29
add eax, edi
sub eax, 0x76f3fe1d
mov edi, dword [esp]
jmp 0x5f4f88
xor esi, eax
pop eax
mov ebx, esi
pop esi
sub ebx, edi
pop edi
jmp 0x5f53eb
not ecx
add ecx, 0x1e1dd027
mov ebp, ecx
pop ecx
jmp 0x5f4e2c
mov esp, dword [esp]
mov dword [esp], edx
mov edx, esp
sub esp, 4
jmp 0x5f4c26
add esi, ecx
jmp 0x5f4e04
sub ebx, eax
push ebp
mov ebp, 0x7e8adf3a
jmp 0x5f4bec
pop ebx
push edx
jmp 0x5f51fc
add edx, 0x745d0e17
add edx, esi
jmp 0x5f51f1
mov ebp, 0x5d3b136a
xor ebp, ecx
mov ecx, dword [esp]
jmp 0x5f5492
push ebx
mov ebx, 0x77afb7e7
and dword [esp + 4], ebx
jmp 0x5f4fbd
sub edx, 0x745d0e17
jmp 0x5f524d
mov edx, 0x7f6b9c14
sub edx, 0x4fff9507
shr edx, 7
sub edx, 0x5ed80a
add ebx, 0x3eba44ee
add ebx, edx
sub ebx, 0x3eba44ee
pop edx
push edi
mov edi, 4
sub ebx, 0x7fbf031d
jmp 0x5f4fca
mov esi, dword [esp]
push edi
push esp
pop edi
add edi, 4
add edi, 4
push edi
jmp 0x5f5092
push ebp
mov dword [esp], ebx
jmp 0x5f4c1c
pop dword [esp]
pop esp
sub edx, 4
push edx
push dword [esp + 4]
mov edx, dword [esp]
push edx
mov edx, esp
push 0x46e9ba28
mov dword [esp], ecx
push 4
pop ecx
add edx, ecx
mov ecx, dword [esp]
add esp, 4
add edx, 4
xchg dword [esp], edx
pop esp
pop dword [esp]
pop esp
jmp 0x5f4de3
int1
pop esi
push eax
push esp
mov eax, dword [esp]
push 0x4c631e73
mov dword [esp], esi
push esp
pop esi
push edx
mov edx, 0x7fff98f3
jmp 0x5f52fb
mov ecx, 0x6f47f181
mov dword [esp + 4], ecx
pop ecx
xor dword [esp], 0x7bbd5200
add dword [esp], 0xffffffff
jmp 0x5f535d
shr edx, 8
push edi
mov edi, 0x7efdda24
neg edi
add edi, 0xfdf158e5
sub edx, edi
pop edi
add edx, 0xffffffff
jmp 0x5f531a
sub edx, 1
sub edx, 0x818c80d1
add esi, edx
mov edx, dword [esp]
add esp, 4
add esi, 4
push esi
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
add eax, 4
add al, 0
add byte [eax], al
add al, 0
add byte [eax], al
push esi
jmp 0x5f534b
mov dword [esp], edi
mov edi, 4
add eax, 0x76f3fe1d
jmp 0x5f50dc
and dword [esp], 0x5fd67c42
jmp 0x5f5369
add dword [esp], 0x67fdf592
jmp 0x5f53ac
push ecx
mov ecx, 0x37576392
xor dword [esp + 4], ecx
pop ecx
mov dword [esp], edi
push ebx
push edi
mov edi, 0x7ddd9fc7
push esi
push edi
mov dword [esp], 0x73ff8f11
pop esi
jmp 0x5f53d0
push eax
mov eax, 0xe2210da
jmp 0x5f50eb
pop eax
shr eax, 3
sub eax, 0x9a0f8c9d
mov edi, eax
jmp 0x5f547c
push ebx
sub dword [esp], 0x37fd1eaf
pop edi
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x37fd1eaf
sub edi, 0x2ff95fb9
add edi, ebx
add edi, 0x2ff95fb9
mov ebx, dword [esp]
add esp, 4
pop ebx
sub esi, edi
push dword [esp]
pop edi
add esp, 4
cmp esi, 0xffff903c
jne 0x5f5002
jmp 0x5f5434
sti
push 0x246ddd3
mov dword [esp], eax
mov dword [esp], 0x257f6b80
mov dword [esp], ebp
jmp 0x5f5464
pop eax
add dword [esp + 4], edi
add dword [esp + 4], 0x6aca7cb5
push dword [esp]
pop edi
push edi
push esp
jmp 0x5f54b3
mov ebp, 0x3efff797
push edi
jmp 0x5f4d25
sub ecx, 0x57826917
add ecx, ebp
jmp 0x5f500a
pop eax
xor edi, 0x122c8fb2
push eax
mov eax, 0x6aca7cb5
sub dword [esp + 8], eax
jmp 0x5f544c
sub esp, 4
mov dword [esp], edi
mov edi, esp
add edi, 4
add edi, 4
push edi
push dword [esp + 4]
mov edi, dword [esp]
jmp 0x5f5511
pop edi
add edi, 4
jmp 0x5f54bf
add edi, 4
xchg dword [esp], edi
pop esp
pop eax
push edx
mov dword [esp], 0x5fe27e00
jmp 0x5f5187
add esp, 4
jmp 0x5f554f
pop dword [esp]
pop esp
xor eax, ebp
jmp 0x5f4dc5