Function at 0x10057a80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov esi, dword [0x102848cc]
mov edx, dword [0x102848d0]
mov ecx, esi
xor ecx, 0xffffffff
and ecx, 0x238a5e99
mov edi, 0xffffffff
xor edi, 0x238a5e99
and esi, edi
mov eax, edx
xor eax, 0xffffffff
and eax, 0x238a5e99
and edx, edi
or ecx, esi
or eax, edx
xor ecx, eax
or ecx, 0x23a8a471
sub ecx, 0xc904c21f
mov eax, ecx
and eax, 0xea36f197
or ecx, 0xea36f197
add eax, ecx
cmp eax, 0x5c52f3a5
je 0x10057cd6
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov eax, dword [0x102848d4]
mov ecx, dword [0x102848d8]
and eax, ecx
add eax, 0x206129ea
xor eax, 0x5baea1ad
add eax, 0xaa3d0dc7
mov dword [ebp - 0x1c], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.100583b0
mov ecx, dword [ebp - 0x20]
mov edx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, edx
seta cl
mov byte [ebp - 0x15], cl
cmp eax, 0x297aa2f3
ja 0x10057aee
mov al, byte [ebp - 0x15]
test al, 1
jne 0x10057b5a
jmp 0x10057be5
mov eax, dword [0x102848dc]
xor edx, edx
div dword [0x102848e0]
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0xb51c79bd
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0x6475fb6e
add eax, 0x6ae5a77e
cmp eax, 0x265b5797
je 0x10057cf2
mov ecx, dword [0x102848e4]
mov esi, dword [0x102848e8]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov edx, esi
xor edx, 0xffffffff
xor esi, 0xffffffff
or edx, esi
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
and eax, 0xb9d98ee1
mov ecx, 0x7a92554c
xor edx, edx
div ecx
sub eax, 0x40feac26
mov dword [ebp - 0x2c], eax
call fcn.10058410
mov eax, dword [ebp - 0x2c]
cmp eax, 0xaa7244fe
jb 0x10057b90
mov eax, dword [0x102848ec]
xor edx, edx
div dword [0x102848f0]
xor eax, 0x7bf6614a
add eax, 0x3f8b7234
sub eax, 0x45a5310f
cmp eax, 0xc4a01202
je 0x10057cfc
mov ecx, dword [0x102848f4]
mov edx, dword [0x102848f8]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and esi, edi
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x1434e43f
mov esi, eax
xor esi, 0xffffffff
mov ebx, 0xffffffff
xor ebx, 0x43e29723
mov edi, 0xffffffff
xor edi, 0xffec207f
mov edx, esi
and edx, 0xffec207f
and eax, edi
mov ecx, ebx
and ecx, 0xffec207f
mov dword [ebp - 0x34], ecx
mov ecx, edi
and ecx, 0x43e29723
or edx, eax
mov eax, dword [ebp - 0x34]
or eax, ecx
mov ecx, dword [ebp - 0x24]
xor edx, eax
mov eax, dword [ebp - 0x28]
or esi, ebx
xor esi, 0xffffffff
or edi, 0xffec207f
and esi, edi
or edx, esi
add edx, 0xb005fa08
add edx, 0x35a4cc8
sub edx, 0xb005fa08
mov dword [ebp - 0x30], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100584e0
mov eax, dword [ebp - 0x30]
cmp eax, 0x9b04a237
ja 0x10057cfc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov ecx, dword [eax]
call fcn.100583b0
jmp 0x10057aee
call fcn.10058410
jmp 0x10057b90
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100584e0
jmp 0x10057c0c