Function at 0x410610
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov dword [esp + 0x3c], 0x1fad19d5
mov dword [esp + 0x40], 0xe34b1da2
mov dword [esp + 0x44], 0xe74ae14c
mov dword [esp + 0x48], 0xeb19e545
mov dword [esp + 0x4c], 0xef1ce91d
mov dword [esp + 0x50], 0xf312ed1c
mov dword [esp + 0x54], 0xf72df118
mov dword [esp + 0x58], 0xfb48f55d
mov dword [esp + 0x5c], 0xff4df95c
mov dword [esp + 0x60], 0xc375fd47
mov dword [esp + 0x64], 0xc714c120
mov dword [esp + 0x68], 0xcb2ac510
mov dword [esp + 0x6c], 0xcf3ec939
mov dword [esp + 0x70], 0xd322cd3e
mov dword [esp + 0x74], 0xd736d12f
mov dword [esp + 0x78], 0xdb73d50f
mov dword [esp + 0x7c], 0xdf24d96a
mov dword [esp + 0x80], 0xa35ddd28
mov dword [esp + 0x84], 0xa71ea140
mov dword [esp + 0x88], 0xab5ea55e
mov dword [esp + 0x8c], 0xaf4ea941
mov dword [esp + 0x90], 0xb302ad6d
mov dword [esp + 0x94], 0xb71ab100
mov dword [esp + 0x98], 0xbb61b511
mov dword [esp + 0x9c], 0xbf18b91d
mov dword [esp + 0xa0], 0x832bbd73
mov dword [esp + 0xa4], 0x87758134
mov dword [esp + 0xa8], 0x8b7d8571
mov dword [esp + 0xac], 0x8f7c8973
mov dword [esp + 0xb0], 0x93688d7b
mov dword [esp + 0xb4], 0x977e9170
mov dword [esp + 0xb8], 0x9b52955b
mov dword [esp + 0xbc], 0x9f53994c
mov dword [esp + 0xc0], 0x638e9d50
mov dword [esp + 0xc4], 0x67ca6180
mov dword [esp + 0xc8], 0x6bc565cd
mov dword [esp + 0xcc], 0x6f8e69cd
mov dword [esp + 0xd0], 0x73d76da7
mov dword [esp + 0xd4], 0x77d971d7
mov dword [esp + 0xd8], 0x7b9375c7
mov dword [esp + 0xdc], 0x7fb97998
mov dword [esp + 0xe0], 0x43f47dd4
mov dword [esp + 0xe4], 0x47eb41f3
mov dword [esp + 0xe8], 0x4bb945e1
mov dword [esp + 0xec], 0x4fbf49b9
mov dword [esp + 0xf0], 0x53a04db5
mov dword [esp + 0xf4], 0x57a451a0
mov dword [esp + 0xf8], 0x5ba855a4
mov dword [esp + 0xfc], 0x5fbe59a8
mov dword [esp + 0x100], 0x23835d8b
mov dword [esp + 0x104], 0x2787218a
mov dword [esp + 0x108], 0x2b832592
mov dword [esp + 0x10c], 0x2fdb29db
mov dword [esp + 0x110], 0x33c92ddb
mov dword [esp + 0x114], 0x37c131c2
mov dword [esp + 0x118], 0x3b3a35ce
mov word [esp + 0x11c], 0
mov eax, dword [0x448b58]
xor ecx, ecx
lea esi, [ecx + 0x582e527a]
lea edx, [ecx*2 - 0x4fa35b0c]
mov edi, ecx
sub edi, edx
neg edx
add edx, ecx
add edx, 0x582e5279
not edx
or edx, 0x6e
add edi, edx
add edi, 0x582e527a
mov edx, 0x85
sub edx, ecx
not edx
or edx, esi
and edx, 0x91
or edx, edi
xor dl, byte [esp + ecx + 0x3c]
xor dl, 0x6e
add dl, 0x9e
mov byte [esp + ecx + 0x3c], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0xe2
jb case.default.0x4108e9
lea ebp, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ebp
call eax
mov edi, eax
xor eax, eax
test edi, edi
setne al
mov eax, dword [eax*4 + 0x444084]
mov ecx, 0x3cc082d4
xor ecx, dword [0x44408c]
add eax, ecx
inc eax
jmp eax
movzx esi, byte [eax + ebx - 0x76]
mov edx, esi
and edx, ebx
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, ebx
add al, 0xb2
mov ecx, dword [ebp - 0x18]
mov byte [ecx + ebx - 0x76], al
mov eax, dword [ebp - 0x18]
inc ebx
cmp ebx, 0x91
jne 0x43ab20
push 0x800
push 0
push eax
call dword [ebp - 0x20]
test eax, eax
je 0x43afc5
mov dword [0x449eac], eax
mov ebx, 0xdb5951
xor eax, eax
cmp ebx, 0x4897369
setl al
mov eax, dword [eax*4 + 0x44791c]
mov ecx, 0x3a9a562
xor ecx, dword [0x447924]
add eax, ecx
inc eax
jmp eax
sti
jb 0x43abf7
jne 0x43ab55
setl al
mov eax, dword [eax*4 + 0x447c64]
mov ecx, 0x94795e6e
ror byte [ebx + 0x7c648504], 0x44
add byte [ecx - 0x6b86a192], bh
xor ecx, dword [0x447c6c]
add eax, ecx
inc eax
jmp eax
jl 0x43ac3d
add byte [ecx - 0x1f8fcbe5], bh
xor ecx, dword [0x447c84]
lea esi, [eax + ecx]
inc esi
mov eax, 0xb92f8bb3
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
jmp esi
sti
push ecx
pop ecx
fild dword [eax]
setl al
mov eax, dword [eax*4 + 0x447b74]
mov ecx, 0x2963029
xor ecx, dword [0x447b7c]
add eax, ecx
inc eax
jmp eax
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0xd]
jmp 0x43af3e
xor ebx, ebx
cmp eax, 0x4897369
setl bl
mov esi, dword [ebx*4 + 0x44791c]
mov ebx, 0x3a9a562
xor ebx, dword [0x447924]
add esi, ebx
inc esi
mov byte [ebp - 0xd], dl
mov byte [ebp - 0xe], cl
mov ebx, eax
jmp esi
mov eax, 0x67ea5165
jmp 0x43addc