Function at 0x10001440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10010868
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x10018054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x28]
push 1
push str.987235614lWgtUerhGdMkp
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.10001c20
push 1
push 0x1001116c
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.100019c0
push 1
push 0x10011170
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011174
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011178
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x1001117c
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011180
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011174
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011184
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011188
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011178
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011180
lea ecx, [ebp - 0x28]
call fcn.100019c0
mov edi, dword [ebp + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x28]
test edi, edi
jle 0x1000156c
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x44], eax
nop
xor edx, edx
mov eax, esi
div dword [ebp - 0x44]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, ecx
mov al, byte [eax + edx]
xor byte [ebx + esi], al
inc esi
cmp esi, edi
jl 0x10001550
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100015bb
inc eax
cmp eax, 0x1000
jb 0x100015b2
test byte [ebp - 0x28], 0x1f
je 0x1000158e
call fcn.10008c31
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x1000159a
call fcn.10008c31
sub ecx, eax
cmp ecx, 4
jae 0x100015a6
call fcn.10008c31
cmp ecx, 0x23
jbe 0x100015b0
call fcn.10008c31
mov ecx, eax
push ecx
call fcn.10002720
add esp, 4
push 1
push 0x1001118c
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.10001c20
push 1
push 0x10011190
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
call fcn.100019c0
push 1
push 0x10011194
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x10011198
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x1001119c
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111a0
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111a4
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111a8
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111ac
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111b0
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111b4
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111b8
lea ecx, [ebp - 0x28]
call fcn.100019c0
push 1
push 0x100111bc
lea ecx, [ebp - 0x28]
call fcn.100019c0
mov ecx, dword [ebp - 0x28]
xor esi, esi
test edi, edi
jle 0x100016c3
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x44], eax
xor edx, edx
mov eax, esi
div dword [ebp - 0x44]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, ecx
mov al, byte [eax + edx]
xor byte [ebx + esi], al
inc esi
cmp esi, edi
jl 0x100016a7
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10001712
inc eax
cmp eax, 0x1000
jb 0x10001709
test byte [ebp - 0x28], 0x1f
je 0x100016e5
call fcn.10008c31
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x100016f1
call fcn.10008c31
sub ecx, eax
cmp ecx, 4
jae 0x100016fd
call fcn.10008c31
cmp ecx, 0x23
jbe 0x10001707
call fcn.10008c31
mov ecx, eax
push ecx
call fcn.10002720
add esp, 4
push 1
push 0x10011184
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.10001c20
push 1
push 0x10011180
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 2
call fcn.100019c0
push 1
push 0x1001117c
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011178
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011188
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011180
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x1001116c
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x1001117c
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011174
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011180
lea ecx, [ebp - 0x40]
call fcn.100019c0
push 1
push 0x10011188
lea ecx, [ebp - 0x40]
call fcn.100019c0
mov ecx, dword [ebp - 0x40]
xor esi, esi
test edi, edi
jle 0x100017fc
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x44], eax
xor edx, edx
mov eax, esi
div dword [ebp - 0x44]
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, ecx
mov al, byte [eax + edx]
xor byte [ebx + esi], al
inc esi
cmp esi, edi
jl 0x100017e0
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x10001844
inc eax
cmp eax, 0x1000
jb 0x1000183b
test byte [ebp - 0x40], 0x1f
je 0x10001817
call fcn.10008c31
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10001823
call fcn.10008c31
sub ecx, eax
cmp ecx, 4
jae 0x1000182f
call fcn.10008c31
cmp ecx, 0x23
jbe 0x10001839
call fcn.10008c31
mov ecx, eax
push ecx
call fcn.10002720
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10005215
mov esp, ebp
pop ebp
ret