Function at 0x1001b5bf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
nop
mov eax, dword [ebp + 8]
add eax, 0x760
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp + 8]
add eax, 0xc0
mov ecx, 0
mov dword [eax], ecx
mov eax, 2
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
cmp eax, 0x40
jae 0x1001b80a
jmp 0x1001b618
mov eax, dword [ebp - 0x204]
mov ecx, eax
inc eax
mov dword [ebp - 0x204], eax
jmp 0x1001b5f3
mov eax, dword [ebp + 8]
add eax, 0x2cb0
mov ecx, dword [ebp - 0x204]
add eax, ecx
movzx ecx, byte [eax]
mov dword [ebp - 0x210], ecx
mov eax, dword [ebp - 0x210]
shr eax, 1
dec eax
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x210]
and eax, 1
or eax, 2
mov ecx, dword [ebp - 0x214]
shl eax, cl
mov dword [ebp - 0x218], eax
mov eax, dword [ebp + 8]
add eax, 0x23b0
mov ecx, dword [ebp - 0x218]
shl ecx, 1
shl ecx, 1
add eax, ecx
mov dword [ebp - 0x21c], eax
mov eax, 0
mov dword [ebp - 0x220], eax
mov eax, 1
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x228], eax
mov eax, 1
mov ecx, dword [ebp - 0x214]
shl eax, cl
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x204]
add eax, ecx
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x214]
cmp eax, 0
je 0x1001b763
mov eax, dword [ebp - 0x228]
and eax, 1
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x228]
shr eax, 1
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x224]
shl eax, 1
mov ecx, dword [ebp - 0x21c]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x230]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [ebp - 0x220]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp - 0x220], ecx
mov eax, dword [ebp - 0x224]
shl eax, 1
mov ecx, dword [ebp - 0x230]
add eax, ecx
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x214]
dec eax
mov dword [ebp - 0x214], eax
cmp eax, 0
jne 0x1001b6d1
mov eax, dword [ebp - 0x224]
shl eax, 1
mov ecx, dword [ebp - 0x21c]
add ecx, eax
movzx eax, word [ecx]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x218]
shl eax, 2
lea ecx, [ebp - 0x200]
add ecx, eax
mov eax, dword [ebp - 0x234]
shr eax, 4
shl eax, 2
mov edx, dword [ebp - 0x20c]
add edx, eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x22c]
add eax, ecx
shl eax, 2
lea ecx, [ebp - 0x200]
add ecx, eax
mov eax, dword [ebp - 0x234]
xor eax, 0x7ff
shr eax, 4
shl eax, 2
mov edx, dword [ebp - 0x20c]
add edx, eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
jmp 0x1001b607
mov eax, 0
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
cmp eax, 4
jae 0x1001bd39
jmp 0x1001b83a
mov eax, dword [ebp - 0x208]
mov ecx, eax
inc eax
mov dword [ebp - 0x208], eax
jmp 0x1001b815
mov eax, dword [ebp + 8]
add eax, 0xc8
mov ecx, dword [eax]
inc ecx
shr ecx, 1
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp + 8]
add eax, 0x1230
mov ecx, dword [ebp - 0x208]
shl ecx, 8
add eax, ecx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 8]
add eax, 0x21b0
mov ecx, dword [ebp - 0x208]
shl ecx, 7
add eax, ecx
mov dword [ebp - 0x248], eax
mov eax, 0
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x240]
cmp eax, ecx
jae 0x1001bb61
jmp 0x1001b8b8
mov eax, dword [ebp - 0x23c]
mov ecx, eax
inc eax
mov dword [ebp - 0x23c], eax
jmp 0x1001b88e
mov eax, dword [ebp - 0x23c]
add eax, 0x20
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
and eax, 1
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
shr eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x250]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [eax]
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x254]
and eax, 1
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
shr eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x250]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [ebp - 0x24c]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x254]
and eax, 1
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
shr eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x250]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [ebp - 0x24c]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x254]
and eax, 1
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
shr eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x250]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [ebp - 0x24c]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x254]
and eax, 1
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
shr eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
mov eax, 0
mov edx, dword [ebp - 0x250]
sub eax, edx
and eax, 0x7ff
movzx edx, word [ecx]
xor edx, eax
shr edx, 4
shl edx, 2
mov eax, dword [ebp - 0x20c]
add eax, edx
mov ecx, dword [ebp - 0x24c]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x23c]
add eax, 0x20
shl eax, 1
mov ecx, dword [ebp - 0x248]
add ecx, eax
movzx eax, word [ecx]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x23c]
shl eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x244]
add ecx, eax
mov eax, dword [ebp - 0x258]
shr eax, 4
shl eax, 2
mov edx, dword [ebp - 0x20c]
add edx, eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
mov eax, dword [ebp - 0x23c]
shl eax, 1
inc eax
shl eax, 2
mov ecx, dword [ebp - 0x244]
add ecx, eax
mov eax, dword [ebp - 0x258]
xor eax, 0x7ff
shr eax, 4
shl eax, 2
mov edx, dword [ebp - 0x20c]
add edx, eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
jmp 0x1001b8a7
mov eax, 0x20
mov dword [ebp - 0x25c], eax
mov eax, 7
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x240]
cmp eax, ecx
jae 0x1001bbf3
jmp 0x1001bba1
mov eax, dword [ebp - 0x23c]
mov ecx, eax
inc eax
mov dword [ebp - 0x23c], eax
jmp 0x1001bb77
mov eax, dword [ebp - 0x23c]
shl eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x244]
add ecx, eax
mov eax, dword [ecx]
mov edx, dword [ebp - 0x25c]
add eax, edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x23c]
shl eax, 1
inc eax
shl eax, 2
mov ecx, dword [ebp - 0x244]
add ecx, eax
mov eax, dword [ecx]
mov edx, dword [ebp - 0x25c]
add eax, edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x25c]
add eax, 0x10
mov dword [ebp - 0x25c], eax
jmp 0x1001bb90
mov eax, dword [ebp + 8]
add eax, 0x1630
mov ecx, dword [ebp - 0x208]
shl ecx, 9
add eax, ecx
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x260]
add eax, 4
mov ecx, dword [ebp - 0x244]
add ecx, 4
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x260]
add eax, 8
mov ecx, dword [ebp - 0x244]
add ecx, 8
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x260]
add eax, 0xc
mov ecx, dword [ebp - 0x244]
add ecx, 0xc
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, 4
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
cmp eax, 0x80
jae 0x1001bd34
jmp 0x1001bc92
mov eax, dword [ebp - 0x204]
add eax, 2
mov dword [ebp - 0x204], eax
jmp 0x1001bc6a
mov eax, dword [ebp + 8]
add eax, 0x2cb0
mov ecx, dword [ebp - 0x204]
add eax, ecx
movzx ecx, byte [eax]
shl ecx, 2
mov eax, dword [ebp - 0x244]
add eax, ecx
mov ecx, dword [eax]
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x204]
shl eax, 2
mov ecx, dword [ebp - 0x260]
add ecx, eax
mov eax, dword [ebp - 0x204]
shl eax, 2
lea edx, [ebp - 0x200]
add edx, eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
mov eax, dword [ebp - 0x204]
inc eax
shl eax, 2
mov ecx, dword [ebp - 0x260]
add ecx, eax
mov eax, dword [ebp - 0x204]
inc eax
shl eax, 2
lea edx, [ebp - 0x200]
add edx, eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx]
add eax, ecx
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
jmp 0x1001bc81
jmp 0x1001b829
leave
ret