Function at 0x4042e8
Capabilities:
Encode data using xor

Disassembly:
push 0x2fcbcc7b
mov ebx, 0x11bcc9de
pop edi
xor ebx, edi
mov ecx, ebx
xor ecx, 0xffffffff
and ecx, 0x302812a3
and ebx, 0xcfd7ed5c
or ebx, ecx
mov ecx, 0x1162eeba
xor ecx, 0x2a8ff88e
push ecx
mov ecx, 0x5450b5e
mov eax, 0x75008bee
xor eax, ecx
pop edx
xor eax, edx
xor eax, ebx
mov esi, 0x411a3603
mov eax, 0x415ae783
xor eax, esi
mov ebx, dword [eax]
mov eax, dword [ebx]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xb94fcd07
and eax, 0x46b032f8
or eax, ecx
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], eax
pop edi
xor edx, edx
add edx, edi
push 0xef8aa75e
out dx, eax
push 0x2dbff0b2
mov esi, 0x5ac34aa9
pop ecx
xor esi, ecx
push esi
mov ecx, 0x50c88310
mov ebx, 0x27b4390b
xor ebx, ecx
pop edx
xor ebx, edx
push 0x32ed9727
mov edi, 0x6ede00bd
pop edx
xor edi, edx
mov ecx, 0x48783113
mov eax, 0x144ba689
xor eax, ecx
xor eax, edi
xor ebx, eax
mov edx, 0xfffffffc
add esp, edx
mov edx, esp
mov edi, edx
mov dword [edi], ebx
pop ebx
mov esi, ebx
push esi
pop ecx
mov edx, ecx
mov esi, edx
mov edi, 4
sub esp, edi
mov dword [esp], esi
push 0xab209f9a
mov ecx, 0x3271cf28
pop edi
xor ecx, edi
push ecx
push 0xb139119
mov edx, 0x79968913
pop edi
xor edx, edi
pop esi
xor edx, esi
xor ebx, edx
xor edi, edi
add edi, ebx
mov ecx, 0xb1b92a27
xor edi, ecx
xor edi, 0x4e46d5d8
and edi, 0x529ba040
and ebx, 0xad645fbf
or ebx, edi
and ebx, 0xffff
test ebx, ebx
jne 0x404118
mov ebx, 0x60258200
mov edx, 0xb404064
xor ebx, edx
push ebx
push 0x2065e118
mov eax, 0x4b00237c
pop ebx
xor eax, ebx
pop edi
xor eax, edi
mov edx, 0x71cd961d
mov esi, 0x71cd961d
xor esi, edx
mov edi, 0
mov ecx, 0
xor edi, ecx
xor esi, edi
xor eax, esi
push eax
pop ebx
mov edi, ebx
push edi
pop ebx
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
pop ecx
push ecx
pop edi
mov eax, 0xfffffffc
add esp, eax
mov dword [esp], edi
push 0x16d39aea
mov esi, 0x6d1ca08
pop edx
xor esi, edx
push 0x1d028c65
mov ecx, 0x15428874
pop edx
xor ecx, edx
xor esi, ecx
xor ebx, esi
mov edx, 0x49b078b9
xor edx, 0x6b516a18
xor ebx, edx
test ebx, ebx
jne 0x4041ae
push 0x5d0876fe
mov eax, 0xb01a9db
pop esi
xor eax, esi
mov ebx, 0x2c32cd7c
xor eax, ebx
xor eax, 0x2cae967b
mov edx, eax
add esp, 0xfffffffc
mov dword [esp], edx
mov ecx, 0xde1a178
xor ecx, 0x420ac6a8
mov ebx, ecx
xor ebx, 0xffffffff
and ebx, 0x197ee3f2
and ecx, 0xe6811c0d
or ecx, ebx
pop edi
xor ecx, edi
mov ebx, ecx
mov eax, ebx
mov edx, eax
push edx
pop edx
xor esi, esi
add esi, edx
add esi, edx
jne 0x4042e7
push 0x47426906
mov ecx, 0x5a745eaa
pop esi
xor ecx, esi
push ecx
mov esi, 0x3ed549cc
mov ebx, 0x3825da39
xor ebx, esi
pop edx
xor ebx, edx
mov esi, ebx
add esp, 0xfffffffc
mov dword [esp], esi
mov esi, 0x2cb2e4e8
mov eax, 0x244be83e
xor eax, esi
mov ecx, 0x5b955926
mov ebx, 0x48955b2f
xor ebx, ecx
xor eax, ebx
pop edi
xor eax, edi
mov esi, 0x24da650f
mov ecx, 0xdb259af3
xor ecx, esi
add esp, ecx
push 0x14aff25
mov edx, 0x14aff25
pop esi
xor edx, esi
xor edx, esp
mov dword [edx], eax
push 0x3afacddc
mov ebx, 0x3398523a
pop ecx
xor ebx, ecx
push ebx
push 0x32931e1
mov edx, 0x5930a0dd
pop ebx
xor edx, ebx
pop eax
xor edx, eax
mov edi, 0x1067df3
mov esi, 0x4127bde1
xor esi, edi
push 0x3938f0f4
mov eax, 0x2a22eff4
pop edi
xor eax, edi
xor esi, eax
xor esi, edx
call dword [esi]
pop edi
mov esi, 0x4ce4d254
xor esi, 0x5a144d62
mov ecx, 0x10f5a85c
xor ecx, 0xf9fac895
xor esi, ecx
add edi, esi
and edi, 0x4cffffff
mov edx, edi
push edx
pop eax
mov ebx, eax
mov edx, ebx
mov esi, 4
sub esp, esi
mov dword [esp], edx
xor ecx, ecx
add ecx, edi
mov ebx, 0
xor ebx, ecx
xor eax, eax
add eax, ebx
sub eax, 0
jne 0x40421c
pop eax
pop eax
mov edi, 0x6392223e
xor edi, 0x67d12aac
mov ecx, 0x5b200000
mov edx, 0x20080420
xor ecx, edx
xor edi, ecx
mov edx, edi
add esp, 0xfffffffc
mov dword [esp], edx
mov edx, 0x641218
mov edi, 0x5916902
xor edx, edi
push 0x58bca6a4
mov esi, 0x2262b093
pop edi
xor esi, edi
xor esi, edx
pop ebx
xor esi, ebx
call esi
ret
mov edi, 0x3e9b741d
mov ecx, 0x3e4ff40d
xor ecx, edi
push 0x39502ef5
mov eax, 0x906b0b5
pop ebx
xor eax, ebx
xor eax, ecx
push 0x39c6178e
mov esi, 0x39e6178c
pop ecx
xor esi, ecx
push 0x56f971e6
mov edi, 0x54f911e7
pop ecx
xor edi, ecx
xor esi, edi
xor eax, esi
mov edi, 0x1863f2e6
mov esi, 0x1863f2e6
xor esi, edi
mov ebx, 0
mov ecx, 0
xor ebx, ecx
xor esi, ebx
xor esi, eax
and esi, eax
jne 0x403f6e
add byte [ebx], al
mov word [0x40c3dc], 0
mov word [0x40c3ec], 1
call fcn.0040285c
mov eax, 0x40c038
mov edx, 0x404398
call fcn.00403c25
mov eax, 0x40c204
mov edx, 0x404398
call fcn.00403c25
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x404391
ret