Function at 0x100b2030
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [0x10146298]
xor eax, ebp
mov dword [esi + 0x38], eax
mov eax, dword [0x10143a44]
xor edx, edx
div dword [0x10143a48]
add eax, 0x864ca759
imul eax, eax, 0x4e6cae48
sub eax, 0xdf1eb806
imul eax, eax, 0x64846d91
xor eax, 0xb331346
mov ecx, 0xc22d8724
xor edx, edx
div ecx
mov ecx, 0x1ab23de3
xor edx, edx
div ecx
xor eax, 0xa4786fed
add eax, 0xa12c9119
imul eax, eax, 0xe0817740
mov ecx, 0x715122dc
xor edx, edx
div ecx
or eax, 0x85e2fff4
sub eax, 0x4c87ac1
sub eax, 0x4362883d
add eax, 0x7aa9c269
sub eax, 0x486b9b0f
and eax, 0x229f3b3f
imul eax, eax, 0x8a546080
add eax, 0x70337583
imul eax, eax, 0x81b555f5
cmp eax, 0x7f4a58e9
je 0x100b2421
mov eax, dword [0x10143a4c]
sub eax, dword [0x10143a50]
imul eax, eax, 0x282aa7ee
or eax, 0x76d9a76a
xor eax, 0x7f577357
mov ecx, 0x2d6f4b70
xor edx, edx
div ecx
sub eax, 0x1144c667
xor eax, 0x1ffe8eb5
add eax, 0x8ec6e03a
or eax, 0x3aabee4
mov ecx, 0x8b07a72c
xor edx, edx
div ecx
or eax, 0xe4031777
add eax, 0x2bb44472
mov ecx, 0x6ad1e80f
xor edx, edx
div ecx
or eax, 0x5428570b
and eax, 0x5f3f8f1d
or eax, 0x515b34f1
xor eax, 0xc4dc7726
sub eax, 0xd3a56acf
mov ecx, 0x423b60ce
xor edx, edx
div ecx
imul eax, eax, 0x301b8a2
xor eax, 0xbe8b770a
cmp eax, 0x1a5b0c60
jb 0x100b20ea
mov eax, dword [0x10143a54]
or eax, dword [0x10143a58]
add eax, 0x4f5bba55
xor eax, 0xa626b121
sub eax, 0xb81a003
and eax, 0x88b3bfe9
and eax, 0x9693aa0f
xor eax, 0x3f780a70
xor eax, 0x8728a059
add eax, 0x366bdbe3
add eax, 0x58d44fb0
sub eax, 0xdde06a95
add eax, 0x6bf1b9dd
or eax, 0x621bd291
add eax, 0x6dca92f0
add eax, 0xb2dd46de
imul eax, eax, 0x347c725
imul eax, eax, 0xe12c328
and eax, 0xc2685465
and eax, 0x3ba5ea1e
mov ecx, 0x39c3730e
xor edx, edx
div ecx
sub eax, 0x337633a6
cmp eax, 0x9fc13fc
jb 0x100b23a3
mov eax, dword [0x10143a5c]
or eax, dword [0x10143a60]
sub eax, 0x8b4e4aeb
and eax, 0xed12a3c0
xor eax, 0x2a1ed9fc
xor eax, 0xfea996c1
sub eax, 0x114b4932
or eax, 0x40ec2aa1
sub eax, 0x7c2e1a56
add eax, 0x58812148
or eax, 0x948c33c0
and eax, 0x1674a5d2
and eax, 0x546c7af1
sub eax, 0xed5c965f
xor eax, 0xf35be304
add eax, 0xd7c93c3e
imul eax, eax, 0x27a05d95
mov ecx, 0x1a29813d
xor edx, edx
div ecx
imul eax, eax, 0x21578f95
mov ecx, 0xa8a35a72
xor edx, edx
div ecx
add eax, 0x3ced6d6d
or eax, 0x13a9f91d
cmp eax, 0xde47429a
jae 0x100b2426
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 0x30]
mov eax, 0x4d7c9dbe
mov dword [esi + 0x24], eax
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
mov dword [esi + 0x18], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x20], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x1c], edx
mov esp, edx
mov edx, dword [esi + 0x28]
mov dword [eax], edx
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
mov dword [ecx], ebx
mov dword [edx], edi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100e2440
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp eax, 0x742e9b79
je 0x100b227a
mov eax, dword [0x10143a6c]
xor eax, dword [0x10143a70]
xor eax, 0x8b8e1ff1
add eax, 0xe4ca87a0
xor eax, 0x5cc14577
imul eax, eax, 0xb9abe5e9
and eax, 0xba91ad72
add eax, 0x55fde2d9
xor eax, 0x7c85da9f
or eax, 0x663ca2d3
mov ecx, 0xd40a3d5a
xor edx, edx
div ecx
imul eax, eax, 0x82cebeaf
xor eax, 0xac890d27
and eax, 0x307aba10
imul eax, eax, 0x29fdf4c
xor eax, 0xd14a8497
sub eax, 0x715b5100
xor eax, 0x89dd0d99
and eax, 0x3b4e67a5
or eax, 0x32d2a23e
or eax, 0x23c2f22c
mov ecx, 0x8b9f8e28
xor edx, edx
div ecx
cmp eax, 0x63a5012d
je 0x100b21f6
mov ecx, dword [esi + 0x38]
xor ecx, ebp
call fcn.100e332f
mov eax, dword [esi + 0x2c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 0x30]
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
mov dword [esi + 0xc], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x14], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x10], edx
mov esp, edx
mov edx, dword [esi + 0x28]
mov dword [eax], edx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov dword [ecx], ebx
mov dword [edx], edi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100e2440
add esp, 0xc
jmp 0x100b21f6
jmp 0x100b20ea
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 0x30]
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
mov dword [esi], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 4], edx
mov esp, edx
mov edx, dword [esi + 0x28]
mov dword [eax], edx
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov dword [ecx], ebx
mov dword [edx], edi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.100e2640
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100e2440
add esp, 0xc
jmp 0x100b227a