Function at 0x1001cfa1
Capabilities:
Encode data using xor

Disassembly:
push 0x44
mov eax, 0x1002fafc
call fcn.1002a0b4
mov dword [ebp - 0x3c], 0x344a
mov dword [ebp - 0x3c], 0x7108
mov dword [ebp - 0x3c], 0x3672
mov dword [ebp - 0x48], 0xff4
mov dword [ebp - 0x3c], 0x5842
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
and eax, ecx
xor eax, 0x430f
mov dword [ebp - 0x3c], eax
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.10015d47
and dword [ebp - 4], 0
mov dword [ebp - 0x3c], 0x1beb
mov dword [ebp - 0x38], 0x7609
mov dword [ebp - 0x48], 0x2bcb
mov dword [ebp - 0x3c], 0x7761
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + eax - 0x40ab]
mov ecx, dword [ebp - 0x38]
or eax, ecx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x2c]
push eax
push 0x10039d50
call fcn.10014be3
mov dword [ebp - 0x34], 0x5584
mov dword [ebp - 0x34], 0x2cbf
mov dword [ebp - 0x44], 0x28dd
mov dword [ebp - 0x48], 0x7982
mov dword [ebp - 0x50], 0x1943
mov dword [ebp - 0x3c], 0x22e5
mov dword [ebp - 0x38], 0x3182
mov dword [ebp - 0x4c], 0x108d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x38]
sub ecx, eax
add ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
add eax, 0x412e
and ecx, eax
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
imul eax, edx
or ecx, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xa8e
mov dword [ebp - 0x44], 0x1f3d
mov dword [ebp - 0x34], 0x6800
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x44]
mov ebx, 0x207
xor eax, 0x1621
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + str.3B39E863_EBC8_49E7_8587_1DFFF132205E]
mov dword [esi + 4], eax
mov dword [ebp - 0x34], 0x7c4d
mov dword [ebp - 0x34], 0x3423
mov eax, dword [ebp - 0x34]
sub eax, 0x1c07
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x34], 0x4f7b
mov dword [ebp - 0x34], 0x621e
push ecx
lea edi, [eax + 0x10039d58]
call fcn.1001f2d2
mov dword [ebp - 0x40], 0x3511
mov dword [ebp - 0x40], 0xd4a
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 0x73a5
mov dword [ebp - 0x48], 0x15f2
mov dword [ebp - 0x50], 0x79f
mov dword [ebp - 0x44], 0x5eca
mov dword [ebp - 0x34], 0x72e4
mov dword [ebp - 0x4c], 0x4f37
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
sub edx, ecx
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x82c
and edx, ecx
mov ecx, dword [ebp - 0x50]
and edx, ecx
mov ecx, dword [ebp - 0x48]
xor edx, ecx
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x38], 0
xor edx, ecx
mov ecx, dword [ebp - 0x40]
xor edx, ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x40], edx
je 0x1001d20d
mov dword [ebp - 0x48], edi
sub dword [ebp - 0x48], eax
mov dword [ebp - 0x30], 0x21c
mov dword [ebp - 0x30], 0x229b
mov dword [ebp - 0x50], 0x61ca
mov dword [ebp - 0x4c], 0x16e6
mov dword [ebp - 0x44], 0x618b
mov dword [ebp - 0x34], 0x3de0
mov dword [ebp - 0x40], 0x4582
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
imul eax, eax, 0x706c
and eax, ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
xor ecx, edx
or eax, ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x30]
imul ecx, edx
or eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
xor edx, edx
div dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
mov edi, edx
call fcn.1002161f
mov ecx, dword [ebp - 0x38]
mov edi, eax
mov eax, dword [ebp - 0x3c]
add ecx, eax
mov eax, dword [ebp - 0x48]
mov al, byte [eax + ecx]
xor al, byte [edi]
inc dword [ebp - 0x38]
mov byte [ecx], al
mov eax, ebx
sub eax, dword [ebp - 0x18]
cmp dword [ebp - 0x38], eax
jb 0x1001d17f
mov dword [ebp - 0x30], 0x5ad6
mov dword [ebp - 0x34], 0x2f6d
mov dword [ebp - 0x40], 0x3ce5
mov dword [ebp - 0x30], 0x6d38
mov dword [ebp - 0x44], 0x22b9
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
imul eax, ecx
mov ecx, dword [ebp - 0x34]
imul eax, ecx
mov ecx, dword [ebp - 0x44]
mov edi, dword [esi + 4]
sub ecx, 0x5f5d
or eax, ecx
mov dword [ebp - 0x30], eax
xor ecx, ecx
push 0x1c
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1001f2d2
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x1001d29a
push 0x10025bf0
push fcn.1002418b
push edi
lea ebx, [eax + 4]
push 0x1c
push ebx
mov dword [eax], edi
call fcn.10010cc0
mov eax, ebx
jmp 0x1001d29c
xor eax, eax
mov edi, dword [ebp - 0x3c]
mov byte [ebp - 4], 0
mov dword [esi], eax
mov dword [ebp - 0x30], 0x2023
xor ebx, ebx
cmp dword [esi + 4], ebx
mov dword [ebp - 0x30], 0x5686
mov dword [ebp - 0x30], 0x4911
mov dword [ebp - 0x30], 0x285a
mov dword [ebp - 0x48], ebx
jbe 0x1001d43d
mov dword [ebp - 0x30], 0x64e5
mov dword [ebp - 0x50], 0x3787
mov dword [ebp - 0x4c], 0x2d2e
mov dword [ebp - 0x44], 0x5045
mov dword [ebp - 0x34], 0x34c9
mov dword [ebp - 0x40], 0x5019
mov dword [ebp - 0x30], 0x4d06
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
imul eax, ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
and ecx, edx
and eax, 0x4e3d
xor eax, ecx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
imul ecx, edx
xor eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x7ebb
mov dword [ebp - 0x38], 0xb6f
mov dword [ebp - 0x50], 0x3bc6
mov dword [ebp - 0x4c], 0x79dd
mov dword [ebp - 0x34], 0x1af7
mov dword [ebp - 0x40], 0xb77
mov dword [ebp - 0x30], 0x4cbf
mov dword [ebp - 0x44], 0x6602
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
imul eax, ecx
mov ecx, dword [ebp - 0x34]
imul eax, ecx
mov ecx, 0xffffac3e
sub ecx, eax
add ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x38]
xor ecx, eax
mov eax, dword [esi]
add eax, ebx
push eax
mov dword [ebp - 0x30], ecx
push edi
call fcn.10014be3
mov dword [ebp - 0x30], 0x3533
mov dword [ebp - 0x34], 0x7727
mov dword [ebp - 0x30], 0x1eb5
mov dword [ebp - 0x40], 0x247d
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, 0x79eb
sub ecx, eax
mov eax, dword [ebp - 0x40]
sub ecx, eax
add ecx, dword [ebp - 0x34]
mov eax, dword [esi]
mov eax, dword [ebx + eax + 0x14]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x7e17
mov dword [ebp - 0x38], 0x4b8
mov dword [ebp - 0x50], 0x187b
mov dword [ebp - 0x4c], 0x7e32
mov dword [ebp - 0x34], 0x623a
mov dword [ebp - 0x44], 0x4e06
mov dword [ebp - 0x40], 0x7ca9
mov dword [ebp - 0x30], 0x2d9a
lea edi, [edi + eax + 4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
imul eax, ecx
mov ecx, 0x6e72
sub ecx, eax
mov eax, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
xor ecx, eax
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
add ebx, 0x1c
cmp eax, dword [esi + 4]
mov dword [ebp - 0x30], ecx
jb 0x1001d2cf
push dword [ebp - 0x3c]
mov dword [ebp - 0x30], 0x7fbe
mov dword [ebp - 0x30], 0x21ee
mov eax, dword [ebp - 0x30]
or eax, 0x23b5
mov dword [ebp - 0x30], eax
call fcn.10005556
pop ecx
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.10007145
mov eax, esi
call fcn.1002415b
ret