Function at 0x10015470
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
movaps xmm0, xmmword [0x102b04e0]
xor ecx, ecx
push ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x4b4d504d
mov word [ebp - 8], 0x4a
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x14
jb 0x10015491
lea ecx, [ebp - 0x1b]
mov byte [ebp - 7], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102b1df0]
xor ecx, ecx
mov dword [0x102ba098], eax
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x666d6a6f
mov byte [ebp - 8], 0
nop
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x13
jb 0x100154d0
lea ecx, [ebp - 0x1b]
mov byte [ebp - 8], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102adfc0]
xor ecx, ecx
mov dword [0x102b8e38], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10015506
lea ecx, [ebp - 0x17]
mov byte [ebp - 8], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102aec80]
xor ecx, ecx
mov dword [0x102b8e24], eax
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x39
nop
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10015540
lea ecx, [ebp - 0x17]
mov byte [ebp - 7], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102af5b0]
xor ecx, ecx
mov dword [0x102b8d7c], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10015576
lea ecx, [ebp - 0x17]
mov byte [ebp - 8], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102ad360]
xor ecx, ecx
mov dword [0x102ba090], eax
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x1b1a1c01
mov word [ebp - 0xc], 0xd0a
mov byte [ebp - 0xa], 0
nop dword [eax]
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x15
jb 0x100155c0
lea ecx, [ebp - 0x1f]
mov byte [ebp - 0xa], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102ad5a0]
xor ecx, ecx
mov dword [0x102ba0b0], eax
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x1f1e1805
mov word [ebp - 0xc], 0x80e
mov byte [ebp - 0xa], 0
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x15
jb 0x10015603
lea ecx, [ebp - 0x1f]
mov byte [ebp - 0xa], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
movaps xmm0, xmmword [0x102adad0]
xor ecx, ecx
mov dword [0x102ba094], eax
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x1c01000a
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x13
jb 0x10015640
lea ecx, [ebp - 0x1b]
mov byte [ebp - 8], 0
call fcn.10015310
mov ecx, eax
call fcn.10015400
mov dword [0x102b9064], eax
cmp eax, dword [0x102b8d5c]
je 0x10015677
mov dword [0x102b8d5c], eax
mov dword [0x102b7ae8], eax
call fcn.100150d0
test eax, eax
mov byte [ebp - 0x14], 0x49
mov al, 0xf
mov byte [ebp - 0xa], 0
setne byte [0x102b9087]
mov byte [ebp - 0xa], 0
xor al, byte [ebp - 0x14]
mov bl, 0xc
mov byte [ebp - 0x13], al
mov cl, 0x19
mov al, byte [ebp - 0x14]
mov dl, 0x1a
xor cl, al
mov byte [ebp - 1], bl
mov ah, 7
mov byte [ebp - 0x12], cl
mov ch, 8
mov dh, 0xb
xor ch, al
xor dl, al
xor bl, al
mov byte [ebp - 0xe], ch
xor ah, al
mov byte [ebp - 0x11], dl
xor dh, al
mov byte [ebp - 0x10], bl
mov bh, 5
mov byte [ebp - 0xf], ah
xor bh, al
mov byte [ebp - 0xd], dh
mov al, byte [ebp - 1]
lea ecx, [ebp - 0x13]
xor al, byte [ebp - 0x14]
mov byte [ebp - 0xc], bh
mov byte [ebp - 0xb], al
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b905c], eax
mov cl, 0x47
mov byte [ebp - 0x14], 2
mov al, 0x50
xor al, byte [ebp - 0x14]
mov bl, 0x4d
xor cl, byte [ebp - 0x14]
mov ch, 0x57
mov byte [ebp - 0x13], al
mov dl, 0x51
mov byte [ebp - 0x12], cl
mov ah, 0x4e
mov cl, byte [ebp - 0x14]
mov dh, 0x56
mov byte [ebp - 1], bl
xor ch, cl
mov al, byte [ebp - 1]
mov bh, 0x4b
xor al, cl
mov byte [ebp - 2], 0x4c
mov byte [ebp - 0xb], al
xor dl, cl
mov al, byte [ebp - 2]
xor bl, cl
xor ah, cl
mov byte [ebp - 0xe], ch
xor dh, cl
mov byte [ebp - 9], 0
xor bh, cl
mov byte [ebp - 0x11], dl
xor al, cl
mov byte [ebp - 0x10], bl
lea ecx, [ebp - 0x13]
mov byte [ebp - 0xf], ah
mov byte [ebp - 0xd], dh
mov byte [ebp - 0xc], bh
mov byte [ebp - 0xa], al
mov byte [ebp - 9], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102ba03c], eax
mov ch, 0x75
mov byte [ebp - 0xa], 0
mov cl, 0x27
mov byte [ebp - 0x10], ch
mov bl, 0x26
mov byte [ebp - 0xa], 0
mov ah, bl
xor cl, ch
mov al, 0x36
mov byte [ebp - 0xe], cl
mov dl, 0x3a
xor al, ch
xor dl, ch
mov byte [ebp - 0xf], al
xor bl, ch
mov byte [ebp - 0xd], dl
xor ah, ch
mov byte [ebp - 0xc], bl
lea ecx, [ebp - 0xf]
mov byte [ebp - 0xb], ah
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dh, 0x5d
mov dword [0x102b8e3c], eax
mov cl, 0x1e
mov byte [ebp - 9], 0
mov bl, 0x18
mov byte [ebp - 0x10], dh
mov ch, 0x13
mov byte [ebp - 9], 0
mov ah, bl
xor cl, dh
xor ch, dh
mov byte [ebp - 0xe], cl
mov al, 0xe
mov byte [ebp - 0xa], ch
mov dl, 0xf
lea ecx, [ebp - 0xf]
xor al, dh
xor dl, dh
xor bl, dh
mov byte [ebp - 0xf], al
xor ah, dh
mov byte [ebp - 0xd], dl
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], ah
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov bh, 0x78
mov dword [0x102ba0e4], eax
mov cl, 0x2a
mov byte [ebp - 8], 0
mov ch, 0x31
mov byte [ebp - 0x10], bh
xor cl, bh
mov byte [ebp - 8], 0
xor ch, bh
mov byte [ebp - 0xe], cl
mov al, 0x3f
mov byte [ebp - 0xa], ch
mov dl, 0x39
lea ecx, [ebp - 0xf]
mov ah, 0x30
mov dh, 0x3b
mov bl, 0x28
xor al, bh
xor dl, bh
mov byte [ebp - 0xf], al
xor ah, bh
mov byte [ebp - 0xd], dl
xor dh, bh
mov byte [ebp - 0xb], ah
xor bl, bh
mov byte [ebp - 9], dh
mov byte [ebp - 0xc], bl
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b8d9c], eax
mov byte [ebp - 0x14], 0x6a
mov al, 0x23
xor al, byte [ebp - 0x14]
mov bl, 0x2f
mov byte [ebp - 0x13], al
mov cl, 0x24
mov al, byte [ebp - 0x14]
mov dl, 0x3e
xor cl, al
mov byte [ebp - 2], bl
mov ah, 0x38
mov byte [ebp - 0x12], cl
mov ch, 0x2c
mov byte [ebp - 0xa], 0
xor ch, al
mov byte [ebp - 0xa], 0
mov dh, 0x2b
mov byte [ebp - 0xe], ch
xor dl, al
lea ecx, [ebp - 0x13]
xor bl, al
mov byte [ebp - 0x11], dl
xor ah, al
mov byte [ebp - 0x10], bl
xor dh, al
mov byte [ebp - 0xf], ah
mov bh, 0x29
mov byte [ebp - 0xd], dh
xor bh, al
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x14]
mov byte [ebp - 0xc], bh
mov byte [ebp - 0xb], al
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b8d44], eax
mov cl, 0x5f
mov byte [ebp - 0x14], 0x10
mov al, 0x5c
xor al, byte [ebp - 0x14]
mov dl, 0x51
xor cl, byte [ebp - 0x14]
mov ch, 0x5e
mov byte [ebp - 0x13], al
mov ah, 0x59
mov byte [ebp - 2], dl
mov dh, 0x57
mov al, byte [ebp - 2]
mov bl, 0x54
mov byte [ebp - 0x12], cl
mov bh, 0x5d
mov cl, byte [ebp - 0x14]
xor al, cl
mov byte [ebp - 1], 0x40
mov byte [ebp - 0xb], al
xor ch, cl
mov al, byte [ebp - 1]
xor dl, cl
xor bl, cl
mov byte [ebp - 0xe], ch
xor ah, cl
mov byte [ebp - 9], 0
xor dh, cl
mov byte [ebp - 0x11], dl
xor bh, cl
mov byte [ebp - 0x10], bl
xor al, cl
mov byte [ebp - 0xf], ah
lea ecx, [ebp - 0x13]
mov byte [ebp - 0xd], dh
mov byte [ebp - 0xc], bh
mov byte [ebp - 0xa], al
mov byte [ebp - 9], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
movaps xmm0, xmmword [0x102ad370]
xor ecx, ecx
mov dword [0x102ba0c0], eax
movups xmmword [ebp - 0x18], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xe
jb 0x10015930
lea ecx, [ebp - 0x17]
mov byte [ebp - 9], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b8e48], eax
mov ch, 0x40
mov byte [ebp - 0x14], 0x14
mov al, 0x5c
xor al, byte [ebp - 0x14]
mov ah, 0x47
mov byte [ebp - 0x13], al
mov bh, ch
mov al, byte [ebp - 0x14]
mov cl, 0x41
xor cl, al
mov byte [ebp - 2], ah
xor ch, al
mov byte [ebp - 0x12], cl
mov dl, 0x50
mov byte [ebp - 0xe], ch
mov dh, 0x55
mov byte [ebp - 0xa], 0
xor dl, al
mov byte [ebp - 0xa], 0
xor ah, al
mov byte [ebp - 0x11], dl
xor dh, al
mov byte [ebp - 0xf], ah
xor bh, al
mov byte [ebp - 0xd], dh
mov bl, 0x4b
mov byte [ebp - 0xc], bh
xor bl, al
lea ecx, [ebp - 0x13]
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x14]
mov byte [ebp - 0x10], bl
mov byte [ebp - 0xb], al
call fcn.10015190
mov ecx, eax
call fcn.10015260
test eax, eax
mov dword [ebp - 0x14], 0xe1f024a
mov cl, 0x4a
mov dword [ebp - 0x10], 0xb061a15
setne byte [0x102b8e2b]
mov dword [ebp - 0xc], 0x19180f13
mov byte [ebp - 8], 0
xor eax, eax
nop
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x100159ef
mov cl, byte [ebp - 0x14]
jmp 0x100159e0
lea ecx, [ebp - 0x13]
mov byte [ebp - 8], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
test eax, eax
mov byte [ebp - 0x10], 0x46
mov al, 1
mov byte [ebp - 7], 0
setne byte [0x102b9086]
mov byte [ebp - 7], 0
xor al, byte [ebp - 0x10]
mov cl, 0xa
mov byte [ebp - 0xf], al
mov ch, 3
mov al, byte [ebp - 0x10]
mov dl, 9
xor cl, al
xor ch, al
mov ah, 0x12
mov byte [ebp - 0xe], cl
mov dh, 7
mov byte [ebp - 0xa], ch
mov bl, 0x11
lea ecx, [ebp - 0xf]
mov bh, 0xb
xor dl, al
xor bl, al
mov byte [ebp - 0xd], dl
xor ah, al
mov byte [ebp - 0xc], bl
xor dh, al
mov byte [ebp - 0xb], ah
xor bh, al
mov byte [ebp - 9], dh
mov byte [ebp - 8], bh
call fcn.10015190
mov ecx, eax
call fcn.10015260
test eax, eax
mov dword [ebp - 0x14], 0x607d7032
mov cl, 0x32
mov dword [ebp - 0x10], 0x6d607776
setne byte [0x102b8ec6]
mov dword [ebp - 0xc], 0x6161777e
mov byte [ebp - 8], 0
xor eax, eax
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10015a97
mov cl, byte [ebp - 0x14]
jmp 0x10015a88
lea ecx, [ebp - 0x13]
mov byte [ebp - 8], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
test eax, eax
mov dword [ebp - 0x14], 0x49535e1a
mov cl, 0x1a
mov dword [ebp - 0x10], 0x435b564a
setne byte [0x102b8d42]
mov dword [ebp - 0xc], 0x494a5c45
mov byte [ebp - 8], 0
xor eax, eax
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10015adf
mov cl, byte [ebp - 0x14]
jmp 0x10015ad0
lea ecx, [ebp - 0x13]
mov byte [ebp - 8], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b8d68], eax
mov cl, 0x4f
mov dword [ebp - 0x14], 0x1c060b4f
xor eax, eax
mov dword [ebp - 0x10], 0x160e031f
mov dword [ebp - 0xc], 0x20e1d10
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10015b23
mov cl, byte [ebp - 0x14]
jmp 0x10015b14
lea ecx, [ebp - 0x13]
mov byte [ebp - 8], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102b8ea8], eax
mov cl, 0x78
mov dword [ebp - 0x14], 0x2b313c78
xor eax, eax
mov dword [ebp - 0x10], 0x21393428
mov dword [ebp - 0xc], 0x2d283b27
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10015b67
mov cl, byte [ebp - 0x14]
jmp 0x10015b58
lea ecx, [ebp - 0x13]
mov byte [ebp - 8], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
mov dword [0x102ba080], eax
mov cl, 0x4a
mov dword [ebp - 0x14], 0x19030e4a
xor eax, eax
mov dword [ebp - 0x10], 0x130b061a
mov dword [ebp - 0xc], 0x4031a15
mov word [ebp - 8], 0xd
nop
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x10015baf
mov cl, byte [ebp - 0x14]
jmp 0x10015ba0
lea ecx, [ebp - 0x13]
mov byte [ebp - 7], 0
call fcn.10015190
mov ecx, eax
call fcn.10015260
cmp byte [0x102b8dcd], 1
mov dword [0x102ba0b4], eax
jne 0x10015cc5
call fcn.100148d0
cmp byte [0x102b8dcc], 0
jne 0x10015c32
movaps xmm0, xmmword [0x102b1d70]
xor ecx, ecx
movups xmmword [ebp - 0x30], xmm0
mov byte [0x102b8dcc], 1
movaps xmm0, xmmword [0x102ae320]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x12171219
mov dword [ebp - 0xc], 0x141f1a0f
mov word [ebp - 8], 0x7a
mov al, byte [ebp - 0x30]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0x28
jb 0x10015c15
lea eax, [ebp - 0x2f]
mov byte [ebp - 7], 0
push eax
call fcn.10013580
add esp, 4
mov dword [0x102b8e38], 0xa
mov dword [0x102b8e24], 1
mov dword [0x102b8d7c], 0xfffffffc
mov dword [0x102ba090], 1
mov dword [0x102b8e3c], 1
mov dword [0x102b8d9c], 1
mov dword [0x102b905c], 1
mov dword [0x102b8e48], 1
mov dword [0x102b8d44], 1
mov dword [0x102ba0c0], 1
mov dword [0x102b8d68], 1
mov dword [0x102b8ea8], 1
mov dword [0x102ba080], 1
mov dword [0x102ba0b4], 1
mov byte [0x102b8e2b], 1
pop ebx
mov esp, ebp
pop ebp
ret