Function at 0x406286
Capabilities:
Encode data using xor

Disassembly:
cmp dword [ebp - 0x28], 0
je 0x406295
jl 0x406288
call 0x406295
dec dword [ebp - 0x28]
jne 0x40627c
mov ebx, 0x126aca36
mov esi, 0x690ea4ea
xor esi, ebx
mov edx, esi
xor edx, 0xffffffff
and edx, 0x7b643eb4
and esi, 0x849bc14b
or esi, edx
push 0x7dd31a44
mov edi, 0xfa96d0
pop ebx
xor edi, ebx
mov ebx, edi
xor ebx, 0xffffffff
and ebx, 0x7d690d94
and edi, 0x8296f26b
or edi, ebx
xor esi, edi
push esi
pop edx
xor edi, edi
add edi, edx
push 0x3df8954d
mov ecx, 0x3df8954c
pop edx
xor ecx, edx
sub edi, ecx
mov eax, dword [edi + 1]
mov esi, 0x289b3ca6
xor esi, 0x4cdcc184
push esi
push 0x65ac67f1
mov edx, 0x5f85a799
pop esi
xor edx, esi
pop edi
xor edx, edi
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], edx
mov edx, 0x48000400
mov esi, 0x118201c8
xor edx, esi
push edx
mov ebx, 0x27e5e13b
xor ebx, 0x2009d9b9
pop edi
xor ebx, edi
pop ecx
xor ebx, ecx
mov edx, 4
sub esp, edx
xor esi, esi
add esi, esp
mov dword [esi], ebx
xor ecx, ecx
add ecx, esp
xor ebx, ebx
add ebx, ecx
mov edi, ebx
push edi
mov edx, 0x43345a2f
xor edx, 0x8800767
mov esi, 0xcd2649
xor edx, esi
mov edi, edx
push edi
mov edx, 0x657b3f4e
mov ebx, 0x7676c49b
xor ebx, edx
mov edx, ebx
xor edx, 0xffffffff
and edx, 0x58748094
and ebx, 0xa78b7f6b
or ebx, edx
pop ecx
xor ebx, ecx
mov esi, 4
sub esp, esi
mov edx, esp
mov dword [edx], ebx
push 0x4ce411c
mov edx, 0x74c73831
pop esi
xor edx, esi
push edx
mov ecx, 0x40a09420
mov edx, 0x4002003
xor ecx, edx
pop ebx
xor ecx, ebx
mov edi, 0x51efbf65
mov ebx, 0xce2f509
xor ebx, edi
xor ecx, ebx
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x69a41962
and ecx, 0x965be69d
or ecx, esi
mov esi, ecx
mov ebx, esi
add esp, 0xfffffffc
mov dword [esp], ebx
mov edx, 0x3ac644b8
mov ebx, 0x6527f1be
xor ebx, edx
mov edx, 0x62511562
xor ebx, edx
xor ebx, 0x3db0b064
mov edx, 0x5c95c7a8
xor edx, 0x6a7aba89
push edx
mov edx, 0x2ad435d2
mov ecx, 0x1c7b48f3
xor ecx, edx
pop edi
xor ecx, edi
xor ebx, ecx
add esp, 0xfffffffc
push esp
pop edx
mov dword [edx], ebx
call eax
pop ebx
mov edx, 0x70997736
mov eax, 0x19b38171
xor eax, edx
mov edi, 0x5d67a648
xor eax, edi
xor eax, 0x1b985628
mov edx, eax
add esp, 0xfffffffc
mov dword [esp], edx
mov eax, 0x4a9118d8
xor eax, 0x122a57cb
push eax
mov ecx, 0x63260a00
mov edi, 0x14484011
xor ecx, edi
pop edx
xor ecx, edx
pop esi
xor ecx, esi
mov eax, 0x719ce389
xor eax, 0x71d42b85
mov edx, 0x7bfea870
xor edx, 0x5278b910
xor eax, edx
mov esi, eax
add esp, 0xfffffffc
mov dword [esp], esi
push 0x101001d6
mov edi, 0x391230d6
pop edx
xor edi, edx
mov eax, 0x3f3f9f01
xor eax, 0x3fb317e1
xor edi, eax
pop ebx
xor edi, ebx
mov esi, 0x5e6c5894
mov ebx, 0x518cd8e4
xor ebx, esi
mov esi, 0x335f890e
mov edx, 0x135ec98e
xor edx, esi
xor ebx, edx
mov esi, 0x7b515108
xor esi, 0x6866e4fe
push esi
mov esi, 0x283b7374
mov eax, 0x14ad8a98
xor eax, esi
pop edx
xor eax, edx
xor eax, ebx
retf 0x126a
invalid
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ecx
pop edx
push edx
pop esi
mov ebx, esi
add esp, 0xfffffffc
mov dword [esp], ebx
mov edx, 4
sub esp, edx
mov ebx, esp
push ebx
pop esi
mov dword [esi], eax
xor ecx, ecx
mov cl, byte [edi]
add eax, ecx
mov cl, byte [eax]
pop eax
mov byte [edi], cl
mov ebx, 0x2c59dfd3
mov esi, 0x3de61d36
xor esi, ebx
mov edx, 0xdfd3ad89
xor esi, edx
xor esi, 0x31939093
add edi, esi
pop ecx
mov esi, 0x7df9fcd5
xor esi, 0xd3136765
push esi
push 0x21c70c84
mov ebx, 0x70d268cb
pop esi
xor ebx, esi
pop edx
xor ebx, edx
add ecx, ebx
mov esi, 4
sub esp, esi
push esp
pop ebx
mov dword [ebx], ecx
pop edx
or edx, ecx
jne 0x4064c1
mov ebx, 0x2f8eccc3
xor ebx, 0x4b08cfbd
push ebx
mov ebx, 0x5052b84
mov eax, 0x196e1847
xor eax, ebx
pop esi
xor eax, esi
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], eax
mov edi, 0x10446400
mov ecx, 0x42a1802
xor edi, ecx
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0x6cc311d7
and edi, 0x933cee28
or edi, ecx
pop edx
xor edi, edx
call edi
pop edx
pop edx
ret