Function at 0x1009b710
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100b0630
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x10288180]
and eax, dword [0x10288184]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6ac04c0c
and eax, 0x953fb3f3
or ecx, eax
xor ecx, 0x15f78fca
xor ecx, 0xded457f
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xe9e11ef8
and ecx, 0x161ee107
or eax, ecx
xor eax, 0x4c378878
cmp eax, 0xf93bac0a
jae 0x1009bbca
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
push eax
mov edi, esp
mov dword [ebp - 0x48], edi
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x2c], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x40], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x3c], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x38], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [edi], ebx
mov dword [eax], esi
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [edx], 0
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10047b50
mov ecx, dword [ebp - 0x2c]
call fcn.10047ce0
mov byte [ebp - 0x25], al
mov eax, dword [0x10288190]
xor edx, edx
div dword [0x10288194]
imul ecx, eax, 0xd3e156e0
mov eax, ecx
and eax, 0x26352e7f
or ecx, 0x26352e7f
add eax, ecx
add eax, 0x1a65bf63
cmp eax, 0x83896ce6
ja 0x1009bc04
mov eax, dword [0x10288198]
mov edx, dword [0x1028819c]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0x61906466
xor edx, edx
div ecx
imul eax, eax, 0x9c71ccaa
sub eax, 0xc984f771
add eax, 0x306f8317
add eax, 0xc984f771
cmp eax, 0x37e13beb
jae 0x1009b834
mov al, byte [ebp - 0x25]
test al, 1
jne 0x1009b882
jmp 0x1009baa8
mov ecx, dword [0x102881a0]
mov edx, dword [0x102881a4]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xfaaefdfa
xor ecx, 0xffffffff
or eax, 0xfaaefdfa
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4e1229c6
mov ecx, eax
and ecx, 0xb1edd639
imul ecx, edx
mov edx, eax
and edx, 0x4e1229c6
or eax, 0x4e1229c6
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8c4dcbc3
mov ecx, eax
and ecx, 0x73b2343c
imul ecx, edx
mov edx, eax
and edx, 0x8c4dcbc3
or eax, 0x8c4dcbc3
imul eax, edx
add eax, ecx
cmp eax, 0x2e3f5286
jbe 0x1009bc09
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x102881a8]
and edx, dword [0x102881ac]
and edx, 0x1890427
mov edi, edx
and edi, 0xfc402e66
mov esi, edx
or esi, 0xfc402e66
xor esi, 0xffffffff
imul esi, edi
mov edi, edx
and edi, 0x3bfd199
or edx, 0x3bfd199
imul edx, edi
add edx, esi
xor edx, 0x63813425
mov dword [ebp - 0x4c], edx
mov edx, dword [ecx]
add ecx, dword [edx + 4]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
mov eax, dword [ebp - 0x4c]
cmp eax, 0x405e5c37
jb 0x1009b904
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x10], 2
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.1009bce0
add esp, 4
mov dword [ebp - 0x50], eax
jmp 0x1009b98d
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
mov ebx, dword [eax]
mov eax, dword [esi]
mov eax, dword [eax + 4]
add esi, eax
call fcn.1009c550
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1009c6d0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
sub esp, 0x20
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 0xc], xmm0
movsd xmm0, qword [ecx]
mov ecx, dword [ebp - 0x50]
movsd qword [eax + 4], xmm0
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x18], edi
mov dword [eax + 0x14], esi
mov dword [eax], edx
call fcn.1009c290
jmp 0x1009b9f1
mov ecx, dword [ebp - 0x40]
call fcn.10027aa0
jmp 0x1009ba3b
mov ecx, dword [0x102881d8]
mov esi, dword [0x102881dc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, esi
and edx, eax
mov edi, esi
xor edi, 0xffffffff
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, esi
or ecx, esi
imul ecx, edx
add ecx, eax
xor ecx, 0xffffffff
or ecx, 0x50e0fe77
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x7318ab3e
mov edx, ecx
xor edx, 0x8ce754c1
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x8f1919cd
and ecx, 0x70e6e632
or eax, ecx
cmp eax, 0x4406cd5
ja 0x1009ba3b
jmp 0x1009baa8
mov eax, dword [str.8uE]
or eax, dword [0x102881e4]
mov ecx, 0x213ede8e
xor edx, edx
div ecx
imul edx, eax, 0xaeade1b0
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xd9725be
and edx, 0xf268da41
or eax, edx
xor eax, 0x8fc393c2
or ecx, 0x7dab4983
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xa8aafa68
jb 0x1009bc2b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx]
mov ecx, dword [ecx + 4]
add ecx, edx
mov edx, dword [eax]
mov dword [ebp - 0x10], 0
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], 0
call fcn.10037270
jmp 0x1009bb1f
mov eax, dword [0x102881f0]
sub eax, dword [0x102881f4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xf2acc742
and eax, 0xd5338bd
or ecx, eax
xor ecx, 0xa6ef0219
xor eax, eax
sub eax, ecx
add eax, 0x4749ae9c
xor ecx, ecx
sub ecx, eax
mov eax, ecx
or eax, 0x9f4ea981
xor ecx, 0xffffffff
or ecx, 0x60b1567e
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x891bd20f
je 0x1009bc37
mov ecx, dword [ebp - 0x2c]
mov edx, dword [0x102881f8]
mov esi, dword [0x102881fc]
mov edi, edx
xor edi, 0xffffffff
mov eax, esi
and eax, edi
xor esi, 0xffffffff
and edx, esi
or eax, edx
xor eax, 0x52f0d629
add eax, 0x3abecf42
add eax, 0x6b1aac05
mov dword [ebp - 0x54], eax
call fcn.10048ac0
mov eax, dword [ebp - 0x54]
cmp eax, 0x54164815
je 0x1009bc37
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
push eax
mov edi, esp
push eax
mov eax, esp
push eax
mov edx, esp
sub esp, 8
mov ecx, esp
mov dword [edi], ebx
mov dword [eax], esi
mov eax, dword [eax]
mov dword [edx], 0
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10047b50
jmp 0x1009b793
jmp 0x1009b834
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add ecx, edx
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
jmp 0x1009b904
mov dword [ebp - 0x10], 0
jmp 0x1009baf1
mov ecx, dword [ebp - 0x2c]
call fcn.10048ac0
jmp 0x1009bb6f