Function at 0x100a3e70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x28], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp + 0xc]
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], 0x100b4d70
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x28]
mov eax, dword [0x1028dbe8]
mov ecx, dword [0x1028dbec]
xor eax, ecx
imul ecx, eax, 0x52c86756
add ecx, 0x54e08ae0
mov eax, ecx
xor eax, 0x71dabc06
and eax, ecx
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
push eax
mov edi, esp
mov dword [ebp - 0x48], edi
push eax
mov edx, esp
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x4c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [edi], ebx
mov dword [edx], esi
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1005d720
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add esp, 8
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call fcn.1004c730
mov ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], ecx
cmp eax, 0xebc61995
jae 0x100a3ec9
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x10], 0
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100a5dd0
add esp, 0x14
mov word [ebp - 0x66], ax
jmp 0x100a3fc9
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov dx, word [ebp - 0x66]
mov word [eax], dx
call fcn.100284c0
mov eax, dword [ebp - 0x60]
movsx eax, byte [eax]
cmp eax, 0
jge 0x100a4048
mov edx, dword [ebp - 0x50]
mov eax, dword [0x1028dbf8]
mov ebx, dword [0x1028dbfc]
mov ecx, ebx
xor ecx, 0xffffffff
mov edi, eax
and edi, ecx
mov esi, eax
or esi, ecx
mov ecx, dword [ebp - 0x54]
xor esi, 0xffffffff
imul esi, edi
mov edi, eax
and edi, ebx
or eax, ebx
imul eax, edi
add eax, esi
add eax, 0x909d76aa
sub eax, 0x512b1d40
xor eax, 0xa5d1c6f3
mov edx, dword [edx]
mov dword [edx], 2
mov ecx, dword [ecx]
mov dword [ecx], 0
cmp eax, 0x382a17e
jb 0x100a43a5
jmp 0x100a4246
mov eax, dword [0x1028dc00]
sub eax, dword [0x1028dc04]
or eax, 0xec519ee6
mov ecx, eax
xor ecx, 0xa5f23812
xor ecx, 0xffffffff
or eax, 0xa5f23812
and eax, ecx
sub eax, 0xcbc8df5
add eax, 0x4e2c189c
add eax, 0xcbc8df5
cmp eax, 0xfe8330be
je 0x100a43c0
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x60]
mov eax, dword [0x1028dc08]
imul eax, dword [0x1028dc0c]
and eax, 0x136fdc0f
add eax, 0x5530012
mov ebx, eax
and ebx, 0x4e34181a
or eax, 0x4e34181a
add ebx, eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x6c], ebx
movsx ecx, byte [ecx]
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100bba60
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov esi, dword [esi]
mov dword [esi], edi
cmp dword [ecx], edx
sete cl
mov byte [ebp - 0x67], cl
cmp eax, 0x776dac22
je 0x100a4084
mov al, byte [ebp - 0x67]
test al, 1
jne 0x100a41d1
jmp 0x100a410a
mov eax, dword [0x1028dc10]
and eax, dword [0x1028dc14]
mov ecx, 0x3fb1e673
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xc2a0faae
xor ecx, 0xffffffff
or eax, 0xc2a0faae
and eax, ecx
mov ecx, eax
xor ecx, 0x2362fe51
xor ecx, 0xffffffff
and ecx, 0x2362fe51
shl ecx, 1
sub ecx, 0x2362fe51
sub eax, ecx
cmp eax, 0xc949aa6d
je 0x100a43f7
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x1028dc18]
imul eax, dword [0x1028dc1c]
add eax, 0x9c2c56df
xor edx, edx
sub edx, eax
add edx, 0x6eb196c9
xor eax, eax
sub eax, edx
mov esi, eax
and esi, 0x3d11ab87
mov edx, eax
or edx, 0x3d11ab87
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0xc2ee5478
or eax, 0xc2ee5478
imul eax, esi
add eax, edx
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x6d], cl
cmp eax, 0xab309d08
jae 0x100a43f7
mov al, byte [ebp - 0x6d]
test al, 1
jne 0x100a41d1
jmp 0x100a41c4
mov eax, dword [ebp - 0x60]
test byte [eax + 1], 1
je 0x100a4241
mov eax, dword [0x1028dc20]
xor edx, edx
div dword [0x1028dc24]
mov ecx, eax
mov eax, ecx
and eax, 0x65d567d9
or ecx, 0x65d567d9
add eax, ecx
sub eax, 0xba789da7
imul eax, eax, 0xb568e369
cmp eax, 0x3caa57da
jae 0x100a43fc
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x1028dc28]
sub eax, dword [0x1028dc2c]
mov esi, 0x981374f1
xor edx, edx
div esi
add eax, 0x2bc118a0
add eax, 1
xor eax, 0x743a748a
mov ecx, dword [ecx]
mov dword [ecx], 2
cmp eax, 0x6f8b99fc
jae 0x100a4205
jmp 0x100a4241
jmp 0x100a4246
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x1028dc38]
mov esi, dword [0x1028dc3c]
add edx, 0x4d00c7f5
sub edx, esi
sub edx, 0x4d00c7f5
sub edx, 0x94680655
xor edx, 0x160e18a
sub edx, 0x64653349
mov dword [ebp - 0x74], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100a9340
add esp, 8
mov cl, al
mov eax, dword [ebp - 0x74]
mov byte [ebp - 0x6e], cl
cmp eax, 0x855cacc0
jb 0x100a440c
mov al, byte [ebp - 0x6e]
test al, 1
jne 0x100a42b7
jmp 0x100a4343
mov eax, dword [str._b_Q]
mov ecx, dword [0x1028dc44]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
and eax, 0xf8920b55
mov edx, eax
and edx, 0x3b921543
mov ecx, eax
or ecx, 0x3b921543
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc46deabc
or eax, 0xc46deabc
imul eax, edx
add eax, ecx
sub eax, 0x181096df
cmp eax, 0x68ea8865
ja 0x100a4429
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x1028dc48]
xor edx, edx
div dword [str.e_]
and eax, 0x9fd2023d
xor eax, 0xfed82af4
imul eax, eax, 0x8cf1e8e7
mov ecx, dword [ecx]
mov edx, dword [ecx]
or edx, 1
mov dword [ecx], edx
cmp eax, 0x17b872f6
jb 0x100a430a
jmp 0x100a4343
mov ecx, dword [0x1028dc50]
mov edx, dword [0x1028dc54]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x64d6f707
xor edx, edx
div ecx
and eax, 0xb45cc7b1
add eax, 0x26dbd60d
sub eax, 0xd1168ae3
sub eax, 0x26dbd60d
cmp eax, 0x1249a18b
jbe 0x100a443a
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx]
mov dword [ecx], 2
mov eax, dword [eax]
mov dword [eax], 0
jmp 0x100a3fea
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
movsx ecx, byte [ecx]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100bba60
add esp, 0x10
mov ecx, eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x100a4084
jmp 0x100a4156
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [eax], 2
jmp 0x100a4205
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100a9340
add esp, 8
jmp 0x100a424d
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov ecx, dword [eax]
or ecx, 1
mov dword [eax], ecx
jmp 0x100a430a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x100a4380