Function at 0x405d3e
Capabilities:
Encode data using xor

Disassembly:
jnp 0x405d78
xor ebx, 0x6f35190c
push ebx
push 0x36254bb9
mov esi, 0x612b35a5
pop ebx
xor esi, ebx
pop edx
xor esi, edx
mov ecx, 0x7dc27c52
xor ecx, 0x2c6b2a81
push ecx
mov edi, 0x6260f229
xor edi, 0x33c9f4ba
pop ebx
xor edi, ebx
xor esi, edi
mov ebx, 0x653e159e
xor ebx, 0x653e159e
xor ebx, esi
sub ebx, 0xffffffc4
mov eax, dword [ebx - 0x3c]
mov edx, 0x195a8381
mov edi, 0x400001a
xor edx, edi
push edx
mov ecx, 0x49010a
mov edx, 0xe040c61
xor ecx, edx
pop esi
xor ecx, esi
push ecx
pop esi
mov edi, esi
xor edi, 0xffffffff
and edi, 0xffffffff
and esi, 0
or esi, edi
and esi, 0x13178ef0
and ecx, 0xece8710f
or ecx, esi
push ecx
pop ebx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ebx
xor ebx, ebx
add ebx, esp
xor esi, esi
add esi, ebx
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], esi
mov edx, 0x3800498
mov esi, 0x68305902
xor edx, esi
mov edi, 0x53ab4197
mov ecx, 0x49cecb76
xor ecx, edi
xor ecx, edx
push 0x21fe22c3
mov ebx, 0xbc4a67d
pop edx
xor ebx, edx
xor ecx, ebx
mov edx, 0x266a20d3
xor ecx, edx
xor ecx, 0x7d857356
mov edx, ecx
mov esi, edx
add esp, 0xfffffffc
mov dword [esp], esi
mov edx, 0x40109148
mov edi, 0x302c4221
xor edx, edi
mov esi, 0xc00800
mov edi, 0x2030094
xor esi, edi
xor edx, esi
mov edi, edx
push edi
mov ebx, 0x56ca404d
xor ebx, 0x47f7105a
mov edi, ebx
xor edi, 0xffffffff
and edi, 0x63c21fea
and ebx, 0x9c3de015
or ebx, edi
pop ecx
xor ebx, ecx
mov edi, ebx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], edi
push 0x468f09cb
mov ecx, 0x42abcccb
pop edi
xor ecx, edi
mov edx, 0x579b5fb
xor edx, 0x25388d59
xor ecx, edx
mov edi, ecx
add esp, 0xfffffffc
mov dword [esp], edi
push 0x732418d1
mov ebx, 0x532e8a46
pop ecx
xor ebx, ecx
mov ecx, 0x42f7f35
xor ebx, ecx
pop esi
xor ebx, esi
mov edi, 4
sub esp, edi
xor ecx, ecx
add ecx, esp
mov dword [ecx], ebx
call eax
pop ebx
mov ebx, 0x582cdc7b
xor ebx, 0x582cdd7f
mov esi, 0x2d4124d9
mov edx, 0x2d4124d8
xor edx, esi
xor ebx, edx
push 0x55f3e2d7
mov eax, 0x6287ac76
pop esi
xor eax, esi
push eax
mov ecx, 0x36404400
mov esi, 0x1340881
xor ecx, esi
pop edx
xor ecx, edx
xor ebx, ecx
mov ecx, 0x5d4c4cd
xor ecx, 0x45daa413
push ecx
push 0x137924bc
mov esi, 0x4dd956a4
pop ecx
xor esi, ecx
pop edi
xor esi, edi
mov ecx, esi
add esp, 0xfffffffc
mov dword [esp], ecx
mov esi, 0x3648cc02
mov edi, 0x8120088
xor esi, edi
push esi
mov edx, 0x6bcdbba
xor edx, 0x26084e73
pop ecx
xor edx, ecx
pop eax
xor edx, eax
mov ecx, 0x16623433
mov eax, 0x60840200
xor ecx, eax
mov esi, 0xf168319
xor ecx, esi
xor ecx, 0x6a997174
mov esi, ecx
mov eax, esi
mov edi, 0xbf371d4a
xor eax, edi
xor eax, 0x40c8e2b5
and eax, 0x13294899
and ecx, 0xecd6b766
or ecx, eax
mov esi, 0x6c15f54e
xor esi, 0x6c15f54e
xor esi, ebx
xor edi, edi
add edi, esi
mov eax, edi
add esp, 0xfffffffc
mov dword [esp], eax
xor esi, esi
add esi, ecx
mov eax, 0x65b65a20
mov edi, 0x9a49a5dc
xor eax, edi
add esp, eax
mov dword [esp], esi
xor ebx, ebx
mov bl, byte [edx]
add ecx, ebx
mov bl, byte [ecx]
pop ecx
mov byte [edx], bl
mov eax, 0x15cde45f
mov edi, 0x9e4daa5
xor edi, eax
mov esi, 0x6aae8f62
xor esi, 0x7687b199
xor esi, edi
sub edx, esi
pop ebx
push 0x12e3beba
mov edi, 0x57d35bbe
pop eax
xor edi, eax
push 0xb3f44367
mov esi, 0x93b599c
pop eax
xor esi, eax
xor esi, edi
add ebx, esi
mov edi, 0xfffffffc
add esp, edi
push esp
pop esi
mov dword [esi], ebx
pop eax
add eax, ebx
jne 0x405f65
mov ebx, 0x3f683b90
xor ebx, 0x27b22616
push ebx
mov ecx, 0x19300014
mov ebx, 0x4044a040
xor ecx, ebx
pop esi
xor ecx, esi
mov edi, 0x6afe8a2e
xor edi, 0x5b19b7a9
push edi
mov edi, 0xa89e302
mov edx, 0x7a802b36
xor edx, edi
pop esi
xor edx, esi
xor edx, ecx
call edx
pop edi
pop edi
ret