Function at 0x1002e540
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x20
mov eax, dword [0x10065010]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
push esi
push edi
push ecx
mov eax, esp
mov dword [0x10099fac], 0
push ecx
mov dword [0x10099fb0], 0
mov esi, ecx
mov dword [0x1009ab64], 0
mov cl, 0x6c
mov dword [0x1009ab68], 0
mov dl, 0x6a
mov dword [0x10099fb8], 0
mov bl, 0x68
mov dword [0x10099fbc], 0
mov dword [eax], 0xffffffff
mov eax, esp
mov dword [eax], 0xff5757ed
mov ah, 0xd
mov al, 0x5f
mov byte [esp + 0x18], ah
xor al, ah
mov byte [esp + 0x1d], 0
xor cl, ah
mov byte [esp + 0x19], al
xor dl, ah
mov byte [esp + 0x1a], cl
xor bl, ah
mov byte [esp + 0x1b], dl
lea eax, [esp + 0x19]
mov byte [esp + 0x1c], bl
push eax
mov eax, dword [esi + 0x94]
mov ecx, 0x10099fa8
push 1
push dword [esi + 0x24]
add eax, 0xf
mov byte [esp + 0x29], 0
push dword [esi + 0x20]
push eax
push dword [esi + 0x18]
call fcn.1002e1e0
push ecx
mov eax, esp
mov dh, 0x7b
push ecx
mov cl, 0x12
mov ch, 0x17
mov dl, 8
mov bl, 0xe
mov dword [eax], 0xffffffff
xor cl, dh
mov eax, esp
xor ch, dh
xor dl, dh
xor bl, dh
mov dword [eax], 0xff5757ed
mov al, 0x2d
mov ah, 0x1a
mov byte [esp + 0x1f], 0
xor al, dh
mov byte [esp + 0x1a], cl
xor ah, dh
mov byte [esp + 0x19], al
mov byte [esp + 0x1d], ah
lea eax, [esp + 0x19]
push eax
mov eax, dword [esi + 0x94]
push 2
push dword [esi + 0x24]
add eax, 0xf
mov byte [esp + 0x2a], ch
push dword [esi + 0x20]
mov byte [esp + 0x28], dh
mov ecx, 0x10099fa8
push eax
push dword [esi + 0x18]
mov byte [esp + 0x33], dl
mov byte [esp + 0x34], bl
mov byte [esp + 0x37], 0
call fcn.1002e1e0
push ecx
mov eax, esp
mov dl, 0x51
push ecx
mov cl, 0x4b
mov bl, 0x41
mov dword [eax], 0xffffffff
mov eax, esp
mov dword [eax], 0xff5757ed
mov ah, 0x22
mov al, 0x6f
mov byte [esp + 0x18], ah
xor al, ah
mov byte [esp + 0x1d], 0
xor cl, ah
mov byte [esp + 0x19], al
xor dl, ah
mov byte [esp + 0x1a], cl
xor bl, ah
mov byte [esp + 0x1b], dl
lea eax, [esp + 0x19]
mov byte [esp + 0x1c], bl
push eax
mov eax, dword [esi + 0x94]
mov ecx, 0x10099fa8
push 3
push dword [esi + 0x24]
add eax, 0xf
mov byte [esp + 0x29], 0
push dword [esi + 0x20]
push eax
push dword [esi + 0x18]
call fcn.1002e1e0
push ecx
mov eax, esp
mov dh, 0x47
push ecx
mov cl, 0x28
mov ch, 0x20
xor cl, dh
xor ch, dh
mov dword [eax], 0xffffffff
mov dl, 0x29
mov eax, esp
mov bl, 0x21
xor dl, dh
xor bl, dh
mov dword [eax], 0xff5757ed
mov al, 4
xor al, dh
mov byte [esp + 0x1a], cl
mov ah, 0x2e
mov byte [esp + 0x19], al
xor ah, dh
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1d], ah
mov ecx, 0x10099fa8
lea eax, [esp + 0x19]
mov byte [esp + 0x1f], 0
push eax
mov eax, dword [esi + 0x94]
push 5
push dword [esi + 0x24]
add eax, 0xf
mov byte [esp + 0x24], dh
push dword [esi + 0x20]
mov byte [esp + 0x2b], dl
push eax
push dword [esi + 0x18]
mov byte [esp + 0x34], bl
mov byte [esp + 0x37], 0
call fcn.1002e1e0
mov byte [esp + 0x10], 0x27
mov al, 0x69
mov cl, 0x48
mov dl, 0x44
mov bl, 0x53
mov ah, 0x52
mov ch, 0x46
mov dh, 0x6f
xor al, byte [esp + 0x10]
mov bh, cl
xor cl, byte [esp + 0x10]
mov byte [esp + 0x11], al
mov byte [esp + 0x12], cl
mov cl, byte [esp + 0x10]
mov byte [esp + 0xe], bh
xor ah, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0x15], ah
mov byte [esp + 0x19], al
xor dl, cl
mov byte [esp + 0xf], 0x4c
xor bl, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor al, cl
mov byte [esp + 0x1b], 0
mov byte [esp + 0x1a], al
xor bh, cl
lea eax, [esp + 0x11]
mov byte [esp + 0x13], dl
push eax
push ecx
mov eax, esp
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1f], dh
mov byte [esp + 0x20], bh
mov byte [esp + 0x23], 0
mov dword [eax], 0xffffffff
mov eax, dword [esi + 0x94]
add eax, 0xf
push eax
mov eax, dword [esi + 0x90]
add eax, 0x1cc
push eax
push 0
push 0
push 0x100a6979
call fcn.10028060
mov eax, dword [0x10099fa8]
add esp, 0x1c
cmp eax, 1
jne 0x1002e94f
push ecx
mov eax, esp
lea edi, [esi + 0xa4]
push ecx
mov dh, 0x27
mov cl, 0x4e
mov ch, 0x53
xor cl, dh
mov dword [eax], 0xffffffff
xor ch, dh
mov eax, esp
mov dl, 0x4a
mov bl, 0x45
xor dl, dh
xor bl, dh
mov dword [eax], 0xff5757ed
mov al, 0x66
xor al, dh
mov byte [esp + 0x1a], cl
mov ah, 0x48
mov byte [esp + 0x19], al
xor ah, dh
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1d], ah
mov ecx, 0x1009ab60
lea eax, [esp + 0x19]
mov byte [esp + 0x1f], 0
push eax
mov eax, dword [esi + 0x94]
push 1
push edi
push dword [esi + 0x24]
add eax, 0x3a
mov byte [esp + 0x28], dh
push dword [esi + 0x20]
mov byte [esp + 0x2f], dl
push eax
push dword [esi + 0x18]
mov byte [esp + 0x38], bl
mov byte [esp + 0x3b], 0
call fcn.1002e380
push ecx
mov eax, esp
mov bl, 0x53
push ecx
mov cl, 0x45
mov ch, 0x47
mov dl, cl
mov bh, 0x5f
mov dword [eax], 0xffffffff
mov dh, dl
mov eax, esp
mov dword [eax], 0xff5757ed
mov al, 0x67
mov byte [esp + 0x18], 0x26
mov ah, 0x54
xor al, byte [esp + 0x18]
mov byte [esp + 0x19], al
mov al, byte [esp + 0x18]
xor ah, al
mov byte [esp + 0x21], 0
xor cl, al
mov byte [esp + 0x1d], ah
xor dl, al
mov byte [esp + 0x1a], cl
xor bl, al
mov byte [esp + 0x1b], dl
xor ch, al
mov byte [esp + 0x1c], bl
xor dh, al
mov byte [esp + 0x1e], ch
xor bh, al
mov byte [esp + 0x1f], dh
lea eax, [esp + 0x19]
mov byte [esp + 0x20], bh
push eax
push 2
push edi
push dword [esi + 0x24]
mov byte [esp + 0x31], 0
push dword [esi + 0x20]
mov eax, dword [esi + 0x94]
mov ecx, 0x1009ab60
add eax, 0x3a
push eax
push dword [esi + 0x18]
call fcn.1002e380
push ecx
mov eax, esp
mov bl, 0x41
push ecx
mov cl, 0x37
xor cl, bl
mov dword [eax], 0xffffffff
mov eax, esp
mov dword [eax], 0xff5757ed
mov al, 9
mov dl, al
mov byte [esp + 0x1c], 0
xor al, bl
mov byte [esp + 0x1a], cl
mov byte [esp + 0x19], al
xor dl, bl
lea eax, [esp + 0x19]
mov byte [esp + 0x18], bl
push eax
push 3
mov byte [esp + 0x24], 0
mov ecx, 0x1009ab60
push edi
jmp 0x1002ebca
cmp eax, 2
jne 0x1002ea85
push ecx
mov eax, esp
lea edi, [esi + 0xa8]
push ecx
mov bl, 0x5b
mov cl, 8
xor cl, bl
mov dl, 0xb
mov dword [eax], 0xffffffff
xor dl, bl
mov eax, esp
mov dword [eax], 0xff5757ed
mov al, 0x1e
xor al, bl
mov byte [esp + 0x1a], cl
mov byte [esp + 0x19], al
mov ecx, 0x10099fb4
lea eax, [esp + 0x19]
mov byte [esp + 0x1c], 0
push eax
mov eax, dword [esi + 0x94]
push 1
push edi
push dword [esi + 0x24]
add eax, 0x3a
mov byte [esp + 0x28], bl
push dword [esi + 0x20]
mov byte [esp + 0x2f], dl
push eax
push dword [esi + 0x18]
mov byte [esp + 0x38], 0
call fcn.1002e380
push ecx
mov eax, esp
mov dl, 0x3c
push ecx
mov ch, 0x4e
mov cl, 0x21
xor cl, ch
mov bl, 0x22
mov dword [eax], 0xffffffff
xor dl, ch
mov eax, esp
xor bl, ch
mov dword [eax], 0xff5757ed
mov al, 0x19
xor al, ch
mov byte [esp + 0x18], ch
mov ah, 0x2a
mov byte [esp + 0x19], al
xor ah, ch
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1d], ah
mov ecx, 0x10099fb4
lea eax, [esp + 0x19]
mov byte [esp + 0x1e], 0
push eax
mov eax, dword [esi + 0x94]
push 2
push edi
push dword [esi + 0x24]
add eax, 0x3a
mov byte [esp + 0x2b], dl
push dword [esi + 0x20]
mov byte [esp + 0x30], bl
push eax
push dword [esi + 0x18]
mov byte [esp + 0x3a], 0
call fcn.1002e380
movaps xmm0, xmmword [0x100598c0]
push ecx
mov eax, esp
push ecx
xor ecx, ecx
mov dword [eax], 0xffffffff
mov eax, esp
mov dword [eax], 0xff5757ed
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x47f
mov byte [esp + 0x2a], 0
nop dword [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x11
jb 0x1002ea60
lea eax, [esp + 0x19]
mov byte [esp + 0x2a], 0
push eax
push 3
push edi
mov ecx, 0x10099fb4
jmp 0x1002ebce
cmp eax, 3
jne 0x1002eb64
push ecx
mov eax, esp
lea edi, [esi + 0xac]
push ecx
mov ch, 0x4a
mov cl, 0x3e
xor cl, ch
mov dl, 0x22
mov dword [eax], 0xffffffff
mov bl, 0x2f
mov eax, esp
xor dl, ch
xor bl, ch
mov dword [eax], 0xff5757ed
mov al, 5
xor al, ch
mov byte [esp + 0x18], ch
mov ah, 0x38
mov byte [esp + 0x19], al
xor ah, ch
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1d], ah
mov ecx, 0x10099fb4
lea eax, [esp + 0x19]
mov byte [esp + 0x1e], 0
push eax
mov eax, dword [esi + 0x94]
push 1
push edi
push dword [esi + 0x24]
add eax, 0x3a
mov byte [esp + 0x2b], dl
push dword [esi + 0x20]
mov byte [esp + 0x30], bl
push eax
push dword [esi + 0x18]
mov byte [esp + 0x3a], 0
call fcn.1002e380
push ecx
mov eax, esp
mov dl, 0x17
push ecx
mov cl, 0x1f
mov bl, 0xb
mov ch, 0xe
mov dh, 0x13
mov dword [eax], 0xffffffff
mov bh, 0x14
mov eax, esp
mov dword [eax], 0xff5757ed
mov al, 0x22
mov byte [esp + 0x18], 0x67
mov ah, 8
xor al, byte [esp + 0x18]
mov byte [esp + 0x19], al
mov al, byte [esp + 0x18]
xor ah, al
mov byte [esp + 0x21], 0
xor dh, al
mov byte [esp + 0x1d], ah
xor cl, al
mov byte [esp + 0x1f], dh
xor dl, al
mov byte [esp + 0x21], 0
xor bl, al
xor ch, al
xor bh, al
lea eax, [esp + 0x19]
push eax
push 2
mov byte [esp + 0x28], bh
push edi
jmp 0x1002ebb9
cmp eax, 5
jne 0x1002ebe6
push ecx
mov eax, esp
mov dh, 0xf
push ecx
mov cl, 0x60
mov dl, 0x61
mov bl, 0x69
mov ch, 0x68
mov dword [eax], 0xffffffff
xor cl, dh
mov eax, esp
xor dl, dh
xor bl, dh
mov dword [eax], 0xff5757ed
mov al, 0x4c
mov ah, 0x66
mov byte [esp + 0x1f], 0
xor al, dh
mov byte [esp + 0x18], dh
xor ah, dh
mov byte [esp + 0x19], al
mov byte [esp + 0x1d], ah
xor ch, dh
lea eax, [esp + 0x19]
mov byte [esp + 0x1f], 0
push eax
push 1
lea eax, [esi + 0xb4]
push eax
mov byte [esp + 0x26], cl
mov byte [esp + 0x2a], ch
mov ecx, 0x10099fb4
mov byte [esp + 0x28], bl
mov byte [esp + 0x27], dl
push dword [esi + 0x24]
mov eax, dword [esi + 0x94]
push dword [esi + 0x20]
add eax, 0x3a
push eax
push dword [esi + 0x18]
call fcn.1002e380
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10042c4e
add esp, 0x20
ret