Function at 0x4042e8
Capabilities:
Encode data using xor

Disassembly:
push 0x25aff22f
mov esi, 0x7dfe23f1
pop eax
xor esi, eax
mov edx, 0x82028b1
xor edx, 0x5de3dceb
xor edx, esi
mov esi, 0x1f069245
xor esi, 0x4f0064ff
mov edi, 0x40217ad8
xor edi, 0x10278e28
xor edi, esi
xor edx, edi
mov ebx, 0x45579e03
xor ebx, 0x45174f83
mov ecx, dword [ebx]
mov eax, ecx
add eax, 0x6c
dec eax
mov ebx, dword [eax - 0x6b]
mov ecx, 0x1cccae52
xor ebx, ecx
xor ebx, 0xa8395f2
xchg ebp, eax
or dword [edx], 0xffffff83
invalid
cld
mov edi, esp
mov dword [edi], ebx
pop edi
mov esi, 0x63a640a0
mov ecx, 0x9c59bf5c
xor esi, ecx
add esp, esi
mov ecx, esp
push ecx
pop ebx
mov dword [ebx], edi
xor edx, edx
add edx, edi
mov esi, edx
mov ecx, esi
mov esi, 0xc9edbece
xor ecx, esi
xor ecx, 0x36124131
and ecx, 0xffffffff
and edx, 0
or edx, ecx
and edx, 0x9d1ac42b
and edi, 0x62e53bd4
or edi, edx
cmp edi, 0
jne 0x40408d
mov ebx, 0x13011c05
mov edx, 0x4c4001a8
xor ebx, edx
mov edx, ebx
xor edx, 0xffffffff
and edx, 0x5f411dad
and ebx, 0xa0bee252
or ebx, edx
push 0x7afb2b10
mov ecx, 0x7afb2b10
pop eax
xor ecx, eax
mov edx, 0
mov esi, 0
xor edx, esi
xor ecx, edx
xor ebx, ecx
mov edx, 4
sub esp, edx
xor edi, edi
add edi, esp
mov dword [edi], ebx
pop eax
mov ebx, 0x3320c54f
xor ebx, 0xccdf3ab3
add esp, ebx
xor ecx, ecx
add ecx, esp
mov esi, 0
xor esi, ecx
mov dword [esi], eax
mov ebx, eax
mov edi, 0x4ece7201
mov ecx, 0xb1318dfe
xor ecx, edi
xor ebx, ecx
and ebx, 0x164f1e5f
and eax, 0xe9b0e1a0
or eax, ebx
and eax, 0xffff
push 0x4c9d5728
mov ebx, 0x4c9d5728
pop esi
xor ebx, esi
mov edi, 0x7037f113
mov edx, 0x7037f113
xor edx, edi
xor ebx, edx
xor ebx, eax
sub ebx, 0
jne 0x404134
mov ebx, 0x2a86a44f
xor ebx, 0x549f3f70
push ebx
mov edx, 0x46011a20
mov edi, 0x3818811f
xor edx, edi
pop eax
xor edx, eax
push 0x32a686b2
mov esi, 0x32a686b2
pop edi
xor esi, edi
mov edi, 0x16398937
mov ecx, 0x16398937
xor ecx, edi
xor esi, ecx
xor edx, esi
mov ecx, 0
xor ecx, edx
mov edi, ecx
push edi
pop eax
mov esi, eax
push esi
pop ecx
mov edi, 0
xor edi, ecx
mov edx, edi
push edx
mov ebx, 0x6c5a2c75
xor ebx, 0x6c5a2c75
xor ebx, eax
mov esi, 0x66123a0e
mov edi, 0x99edc5f1
xor esi, edi
xor ebx, esi
and ebx, 0x95a3b0f5
and eax, 0x6a5c4f0a
or eax, ebx
xor esi, esi
add esi, eax
mov ecx, esi
mov edx, ecx
xor ebx, ebx
add ebx, edx
xor ebx, 0
jne 0x4041c9
mov eax, 0xb3e5839
xor eax, 0x2431702b
push eax
push 0x4efb08d3
mov ecx, 0x42238c22
pop esi
xor ecx, esi
pop edx
xor ecx, edx
mov esi, ecx
push esi
mov ebx, 0x30000040
mov edx, 0x46b6bd80
xor ebx, edx
mov edx, 0x28dbb932
xor ebx, edx
xor ebx, 0x7dbaa811
pop edi
xor ebx, edi
push ebx
pop ecx
mov edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
pop edi
test edi, edi
jne 0x4042e7
push 0x6132a196
mov eax, 0x560e4892
pop esi
xor eax, esi
push eax
push 0x71ce0c2
mov ecx, 0x301d09d6
pop eax
xor ecx, eax
pop ebx
xor ecx, ebx
mov edi, 0x2800b09
mov ebx, 0xc296086
xor edi, ebx
push edi
mov edx, 0xbd1d1cc
xor edx, 0x57a1007
pop esi
xor edx, esi
xor ecx, edx
mov edi, 0x44364f7
xor edi, 0x44364f7
xor edi, ecx
mov edx, 0x661e4cc0
mov eax, 0x99e1b33c
xor edx, eax
add esp, edx
mov dword [esp], edi
push 0x208a8f56
mov esi, 0x31988d0f
pop eax
xor esi, eax
push esi
mov ebx, 0x5a320a0
xor ebx, 0x14b1f239
pop edx
xor ebx, edx
mov ecx, 0x40900009
mov eax, 0x10099b2
xor ecx, eax
mov edx, 0x75556a82
xor ecx, edx
xor ecx, 0x3485f231
xor ebx, ecx
call dword [ebx]
pop ecx
push 0x497aa06e
mov eax, 0x307228b3
pop ebx
xor eax, ebx
mov edi, 0x348a5b96
xor edi, 0xb27d2cb4
xor edi, eax
add ecx, edi
and ecx, 0xe2ffffff
mov ebx, ecx
push ebx
pop edx
mov ebx, 0x6ff66e87
xor ebx, 0x9009917b
add esp, ebx
mov dword [esp], edx
mov ebx, ecx
add ebx, ecx
jne 0x40422b
pop ecx
pop edx
mov ecx, 0x6629e25f
mov ebx, 0x6ea9c93f
xor ebx, ecx
mov edx, 0x438cf16e
xor edx, 0x31e0a5e7
xor ebx, edx
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], ebx
mov eax, 0x40041800
mov esi, 0x28800002
xor eax, esi
push 0x1244ad3
mov edx, 0x130c4cd7
pop ecx
xor edx, ecx
xor eax, edx
pop edi
xor eax, edi
call eax
ret
mov eax, 0x58140409
mov esi, 0x88d0d0
xor eax, esi
push eax
mov esi, 0x174ce810
mov ecx, 0x3a83c2f4
xor ecx, esi
pop edx
xor ecx, edx
mov eax, ecx
add esp, 0xfffffffc
mov dword [esp], eax
mov edi, 0x112c030
mov ecx, 0x10001000
xor edi, ecx
push 0x10d12d14
mov eax, 0x74900319
pop ecx
xor eax, ecx
xor edi, eax
pop ebx
xor edi, ebx
xor eax, eax
add eax, edi
mov ecx, 4
sub esp, ecx
mov dword [esp], eax
pop ebx
add ebx, 0
je 0x403f91
xor eax, 0x30040c0
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