Function at 0x53b365
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
wait
fnstcw word [ebp - 8]
mov ax, word [ebp - 8]
xor ecx, ecx
test al, 1
je 0x53b07c
push 0x10
pop ecx
test al, 4
je 0x53b083
or ecx, 8
test al, 8
je 0x53b08a
or ecx, 4
test al, 0x10
je 0x53b091
or ecx, 2
test al, 0x20
je 0x53b098
or ecx, 1
test al, 2
je 0x53b0a2
or ecx, 0x80000
push ebx
push esi
movzx esi, ax
mov ebx, 0xc00
mov edx, esi
push edi
mov edi, 0x200
and edx, ebx
je 0x53b0de
cmp edx, 0x400
je 0x53b0d8
cmp edx, 0x800
je 0x53b0d4
cmp edx, ebx
jne 0x53b0de
or ecx, 0x300
jmp 0x53b0de
or ecx, edi
jmp 0x53b0de
or ecx, 0x100
and esi, 0x300
je 0x53b0f2
cmp esi, edi
jne 0x53b0f8
or ecx, 0x10000
jmp 0x53b0f8
or ecx, 0x20000
mov edx, 0x1000
test dx, ax
je 0x53b108
or ecx, 0x40000
mov edi, dword [ebp + 0xc]
mov esi, edi
mov eax, dword [ebp + 8]
not esi
and esi, ecx
and eax, edi
or esi, eax
cmp esi, ecx
je 0x53b1c6
push esi
call 0x53b365
pop ecx
mov word [ebp - 4], ax
fldcw word [ebp - 4]
wait
fnstcw word [ebp - 4]
mov ax, word [ebp - 4]
xor esi, esi
test al, 1
je 0x53b13f
push 0x10
pop esi
test al, 4
je 0x53b146
or esi, 8
test al, 8
je 0x53b14d
or esi, 4
test al, 0x10
je 0x53b154
or esi, 2
test al, 0x20
je 0x53b15b
or esi, 1
test al, 2
je 0x53b165
or esi, 0x80000
movzx edx, ax
mov ecx, edx
and ecx, ebx
je 0x53b198
cmp ecx, 0x400
je 0x53b192
cmp ecx, 0x800
je 0x53b18a
cmp ecx, ebx
jne 0x53b198
or esi, 0x300
jmp 0x53b198
or esi, 0x200
jmp 0x53b198
or esi, 0x100
and edx, 0x300
je 0x53b1b0
cmp edx, 0x200
jne 0x53b1b6
or esi, 0x10000
jmp 0x53b1b6
or esi, 0x20000
mov edx, 0x1000
test dx, ax
je 0x53b1c6
or esi, 0x40000
cmp dword [0x58a904], 1
jl 0x53b35c
and edi, 0x308031f
stmxcsr dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
test al, al
jns 0x53b1e9
push 0x10
pop ecx
test eax, 0x200
je 0x53b1f3
or ecx, 8
test eax, 0x400
je 0x53b1fd
or ecx, 4
test eax, 0x800
je 0x53b207
or ecx, 2
test edx, eax
je 0x53b20e
or ecx, 1
test eax, 0x100
je 0x53b21b
or ecx, 0x80000
mov edx, eax
mov ebx, 0x6000
and edx, ebx
je 0x53b250
cmp edx, 0x2000
je 0x53b24a
cmp edx, 0x4000
je 0x53b242
cmp edx, ebx
jne 0x53b250
or ecx, 0x300
jmp 0x53b250
or ecx, 0x200
jmp 0x53b250
or ecx, 0x100
push 0x40
and eax, 0x8040
pop ebx
sub eax, ebx
je 0x53b277
sub eax, 0x7fc0
je 0x53b26f
sub eax, ebx
jne 0x53b27d
or ecx, 0x1000000
jmp 0x53b27d
or ecx, 0x3000000
jmp 0x53b27d
or ecx, 0x2000000
mov eax, edi
and edi, dword [ebp + 8]
not eax
and eax, ecx
or eax, edi
cmp eax, ecx
je 0x53b345
push eax
call fcn.0053aeda
push eax
mov dword [ebp - 0xc], eax
call fcn.00532e2f
pop ecx
pop ecx
stmxcsr dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
xor ecx, ecx
test al, al
jns 0x53b2b1
push 0x10
pop ecx
test eax, 0x200
je 0x53b2bb
or ecx, 8
test eax, 0x400
je 0x53b2c5
or ecx, 4
test eax, 0x800
je 0x53b2cf
or ecx, 2
test eax, 0x1000
je 0x53b2d9
or ecx, 1
test eax, 0x100
je 0x53b2e6
or ecx, 0x80000
mov edx, eax
mov edi, 0x6000
and edx, edi
je 0x53b31b
cmp edx, 0x2000
je 0x53b315
cmp edx, 0x4000
je 0x53b30d
cmp edx, edi
jne 0x53b31b
or ecx, 0x300
jmp 0x53b31b
or ecx, 0x200
jmp 0x53b31b
or ecx, 0x100
and eax, 0x8040
sub eax, ebx
je 0x53b33f
sub eax, 0x7fc0
je 0x53b337
sub eax, ebx
jne 0x53b345
or ecx, 0x1000000
jmp 0x53b345
or ecx, 0x3000000
jmp 0x53b345
or ecx, 0x2000000
mov eax, ecx
or ecx, esi
xor eax, esi
not edx
dec esi
add esi, 0xf1c4781
sub edx, ebp
sub ecx, dword [0x588878]
invalid
sub esi, esp
rol esi, 5
shr eax, 0xd
mov ecx, dword [0x58708c]
add eax, esi
xchg esi, eax
rol eax, 0x1e
sub eax, eax
ror esi, 0xc
rol edi, 0xf
dec esi
test esi, edx
jo 0x53b3b4
ror edx, 0x12
sub ecx, dword [0x5897e0]
mov esi, eax
rol eax, 0x13
shl esi, 0x12
mov eax, eax
or eax, eax
inc ebx
neg esi
not eax
xor eax, 0x1584b71
mov esi, eax
ror edx, 0xa
sub dword [0x588169], 0x16328f0
mov ecx, ebp
test edx, ecx
jo 0x53b353
and dword [0x585b25], 0x2c60ec2e
mov ecx, 0xa9f87f0
and eax, 0x585b25
in al, dx
pushal
sub al, 0xb9
lock xchg dword [edi + 0x8c2c10a], ebx
rol edx, 8
xor dword [0x5876a0], edx
sub ebx, dword [0x5866df]
dec edi
call fcn.0040fa04
ror eax, 0x1d
neg esi
shr esi, 1
rol esi, 0x15
dec esi
mov dword [0x588878], 0xf211dd0
xchg eax, esi
neg eax
shr ebx, 7
loop 0x53b3c2
mov ecx, eax
inc eax
not esi
mov esi, eax
sub edi, dword [0x588cf0]