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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
xor ebx, ebx
mov dword [ebp - 0x14], 0x4853513c
push edi
mov cl, 0x3c
mov dword [ebp - 0x10], 0x1c525355
mov dword [ebp - 0xc], 0x4e49505e
mov eax, ebx
mov byte [ebp - 8], bl
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x1003a98f
mov cl, byte [ebp - 0x14]
jmp 0x1003a980
lea eax, [ebp - 0x13]
mov byte [ebp - 8], bl
push 0x100e0cf8
push eax
call fcn.1006327a
pop ecx
pop ecx
push 0x75
pop edx
lea edi, [edx + 0xb]
cmp byte [0x100e0cf8], bl
je 0x1003aa38
mov cl, 0x3a
mov dword [ebp - 0xc], 0xb141f3a
mov word [ebp - 8], 0x5c
mov eax, ebx
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 4
jae 0x1003a9d4
mov cl, byte [ebp - 0xc]
jmp 0x1003a9c5
mov byte [ebp - 7], bl
mov cl, 1
mov dword [ebp - 0x28], 0x746d6301
mov eax, ebx
mov word [ebp - 0x24], 0x2173
mov byte [ebp - 0x22], 0x72
mov byte [ebp - 0x21], dl
mov dword [ebp - 0x20], 0x666f6473
mov byte [ebp - 0x1c], dl
mov word [ebp - 0x1b], 0x69
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 0xd
jae 0x1003aa0e
mov cl, byte [ebp - 0x28]
jmp 0x1003a9ff
push edi
lea eax, [ebp - 0xb]
mov byte [ebp - 0x1a], bl
push eax
push ecx
push ecx
mov dword [esp + 4], 0x41200000
lea eax, [ebp - 0x27]
mov dword [esp], 0x3f800000
push 0x100df31c
push eax
call fcn.1006e6b6
add esp, 0x18
mov cl, 0xb
mov dword [ebp - 0x14], 0x6c646d0b
mov dword [ebp - 0x10], 0x6a63682b
mov eax, ebx
mov dword [ebp - 0xc], 0x796e6c65
mov byte [ebp - 8], bl
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x1003aa63
mov cl, byte [ebp - 0x14]
jmp 0x1003aa54
push esi
lea eax, [ebp - 0x13]
mov byte [ebp - 8], bl
push 0x100e0b8d
push eax
call fcn.1006327a
cmp byte [0x100e0b8d], 0
mov esi, 0x200e0
pop ecx
pop ecx
push 0x1a
pop ebx
je 0x1003ab59
push ecx
push ecx
mov dword [esp + 4], 0xbf800000
and dword [esp], 0
call fcn.10049b54
pop ecx
pop ecx
mov cl, 0x75
mov word [ebp - 0x14], 0x1375
mov byte [ebp - 0x12], bl
xor eax, eax
mov word [ebp - 0x11], 0x5512
mov byte [ebp - 0xf], 0x16
mov byte [ebp - 0xe], bl
mov byte [ebp - 0xd], 0x19
mov byte [ebp - 0xc], bl
mov word [ebp - 0xb], 7
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x1003aad7
mov cl, byte [ebp - 0x14]
jmp 0x1003aac8
push esi
lea eax, [ebp - 0x13]
mov byte [ebp - 0xa], 0
push 0x100df2c0
push eax
call fcn.1006410f
add esp, 0xc
mov dword [ebp - 4], 0x2d6c49
xor edx, edx
mov cl, 0x49
mov eax, edx
xor byte [ebp + eax - 3], cl
inc eax
cmp eax, 2
jae 0x1003ab09
mov cl, byte [ebp - 4]
jmp 0x1003aafa
mov byte [ebp - 1], dl
mov cl, 0x5f
mov dword [ebp - 0x14], 0x3830395f
mov eax, edx
mov dword [ebp - 0x10], 0x2c363b7f
mov dword [ebp - 0xc], 0x3c313e2b
mov word [ebp - 8], 0x3a
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x1003ab3a
mov cl, byte [ebp - 0x14]
jmp 0x1003ab2b
push edi
lea eax, [ebp - 3]
mov byte [ebp - 7], dl
push eax
push 0x9c4
push edx
lea eax, [ebp - 0x13]
push 0x100e0b90
push eax
call fcn.1006e6dc
add esp, 0x18
movaps xmm0, xmmword [0x100ac730]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov word [ebp - 0x1c], 0x10
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x10
jb 0x1003ab6c
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x1b], 0
push 0x100e0cf9
push eax
call fcn.1006327a
cmp byte [0x100e0cf9], 0
pop ecx
pop ecx
je 0x1003ac57
push ecx
push ecx
mov dword [esp + 4], 0xbf800000
and dword [esp], 0
call fcn.10049b54
pop ecx
pop ecx
mov cl, 0x4f
mov dword [ebp - 0x14], 0x36243c4f
mov dword [ebp - 0x10], 0x23202c6f
xor eax, eax
mov word [ebp - 0xc], 0x3d20
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x1003abda
mov cl, byte [ebp - 0x14]
jmp 0x1003abcb
push esi
lea eax, [ebp - 0x13]
mov byte [ebp - 0xa], 0
push 0x100df3a8
push eax
call fcn.1006410f
add esp, 0xc
mov dword [ebp - 4], 0x4b0a2f
xor edx, edx
mov cl, 0x2f
mov eax, edx
xor byte [ebp + eax - 3], cl
inc eax
cmp eax, 2
jae 0x1003ac0c
mov cl, byte [ebp - 4]
jmp 0x1003abfd
mov byte [ebp - 1], dl
mov eax, edx
mov byte [ebp - 0x14], bl
mov dword [ebp - 0x13], 0x7d736878
mov dword [ebp - 0xf], 0x7f746e72
mov word [ebp - 0xb], 0x6969
mov byte [ebp - 9], dl
xor byte [ebp + eax - 0x13], bl
inc eax
cmp eax, 0xa
jae 0x1003ac3a
mov bl, byte [ebp - 0x14]
jmp 0x1003ac2b
push edi
lea eax, [ebp - 3]
mov byte [ebp - 9], dl
push eax
push 0x63
push 1
lea eax, [ebp - 0x13]
push 0x100df3b8
push eax
call fcn.1006e6dc
add esp, 0x18
movaps xmm0, xmmword [0x100ac910]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x6f6e6875
mov byte [ebp - 0x18], 0
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x13
jb 0x1003ac6f
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x18], 0
push 0x100e0cfa
push eax
call fcn.1006327a
cmp byte [0x100e0cfa], 0
pop ecx
pop ecx
push 0x4d
pop ebx
je 0x1003ad5e
push ecx
push ecx
mov dword [esp + 4], 0xbf800000
and dword [esp], 0
call fcn.10049b54
pop ecx
pop ecx
mov cl, 0x7c
mov dword [ebp - 0x28], 0x1013117c
mov dword [ebp - 0x24], 0xa130813
xor eax, eax
mov dword [ebp - 0x20], 0x10131f5c
mov word [ebp - 0x1c], 0xe13
mov byte [ebp - 0x1a], 0
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 0xd
jae 0x1003ace7
mov cl, byte [ebp - 0x28]
jmp 0x1003acd8
push esi
lea eax, [ebp - 0x27]
mov byte [ebp - 0x1a], 0
push 0x100df3bc
push eax
call fcn.1006410f
pop ecx
mov dword [esp + 4], 0x40400000
and dword [esp], 0
call fcn.10049b54
pop ecx
mov byte [ebp - 0x11], bl
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xa], bl
xor ebx, ebx
pop ecx
mov cl, 0x22
mov word [ebp - 0x14], 0x5122
mov byte [ebp - 0x12], 0x4f
mov eax, ebx
mov dword [ebp - 0x10], 0x41024749
mov byte [ebp - 0xb], 0x4e
mov word [ebp - 9], 0x50
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x1003ad47
mov cl, byte [ebp - 0x14]
jmp 0x1003ad38
push esi
lea eax, [ebp - 0x13]
mov byte [ebp - 8], bl
push 0x100df3cc
push eax
call fcn.1006410f
add esp, 0xc
jmp 0x1003ad60
xor ebx, ebx
movaps xmm0, xmmword [0x100ac6b0]
mov ecx, ebx
movups xmmword [ebp - 0x28], xmm0
pop esi
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xe
jb 0x1003ad6e
push 0xffffffffffffffff
push 4
push 0x100df4b4
lea eax, [ebp - 0x27]
mov byte [ebp - 0x19], bl
push 0x100e0c14
push eax
call fcn.100672cb
add esp, 0x14
mov word [ebp - 3], 0x5415
mov byte [ebp - 1], bl
mov eax, ebx
push 0x30
pop ecx
mov byte [ebp - 4], cl
xor byte [ebp + eax - 3], cl
inc eax
cmp eax, 2
jae 0x1003adb8
mov cl, byte [ebp - 4]
jmp 0x1003ada9
mov byte [ebp - 1], bl
mov cl, 0x5b
mov dword [ebp - 0xc], 0x2d343d5b
mov eax, ebx
mov byte [ebp - 8], bl
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 3
jae 0x1003add8
mov cl, byte [ebp - 0xc]
jmp 0x1003adc9
push edi
lea eax, [ebp - 3]
mov byte [ebp - 8], bl
push eax
push 0x78
push 0x5a
lea eax, [ebp - 0xb]
push 0x100df06c
push eax
call fcn.1006e6dc
add esp, 0x18
mov word [ebp - 4], 0x193c
xor edx, edx
mov cl, 0x3c
mov byte [ebp - 1], dl
mov eax, edx
push 0x58
pop ebx
mov byte [ebp - 2], bl
xor byte [ebp + eax - 3], cl
inc eax
cmp eax, 2
jae 0x1003ae19
mov cl, byte [ebp - 4]
jmp 0x1003ae0a
push 0x36
pop ecx
mov byte [ebp - 1], dl
mov eax, edx
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x13], 0x41535f40
mov dword [ebp - 0xf], 0x5352595b
mov word [ebp - 0xb], 0x5a
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x1003ae47
mov cl, byte [ebp - 0x14]
jmp 0x1003ae38
push edi
lea eax, [ebp - 3]
mov byte [ebp - 0xa], dl
push eax
push 0x78
push 0x3c
lea eax, [ebp - 0x13]
push 0x100df3a4
push eax
call fcn.1006e6dc
add esp, 0x18
mov dword [ebp - 0xb], 0x13445b50
xor edx, edx
mov byte [ebp - 7], dl
mov eax, edx
push 0x75
pop ecx
mov byte [ebp - 0xc], cl
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 4
jae 0x1003ae87
mov cl, byte [ebp - 0xc]
jmp 0x1003ae78
mov byte [ebp - 7], dl
mov eax, edx
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x27], 0x3d282b39
mov dword [ebp - 0x23], 0x2a782c3b
mov dword [ebp - 0x1f], 0x37312c39
mov byte [ebp - 0x1b], dl
xor byte [ebp + eax - 0x27], bl
inc eax
cmp eax, 0xc
jae 0x1003aeb6
mov bl, byte [ebp - 0x28]
jmp 0x1003aea7
push edi
lea eax, [ebp - 0xb]
xor ebx, ebx
push eax
push ecx
push ecx
mov dword [esp + 4], 0x40400000
lea eax, [ebp - 0x27]
and dword [esp], edx
push 0x100e0cf4
push eax
mov byte [ebp - 0x1b], bl
call fcn.1006e6b6
add esp, 0x18
mov dword [ebp - 4], 0x226346
mov cl, 0x46
mov eax, ebx
xor byte [ebp + eax - 3], cl
inc eax
cmp eax, 2
jae 0x1003aef8
mov cl, byte [ebp - 4]
jmp 0x1003aee9
push 0x4d
pop ecx
mov byte [ebp - 1], bl
mov eax, ebx
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x13], 0x2121223f
mov dword [ebp - 0xf], 0x2a232c6d
mov word [ebp - 0xb], 0x2821
mov byte [ebp - 9], bl
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xa
jae 0x1003af29
mov cl, byte [ebp - 0x14]
jmp 0x1003af1a
push edi
lea eax, [ebp - 3]
mov byte [ebp - 9], bl
push eax
push 0xb4
push 0xffffff4c
lea eax, [ebp - 0x13]
push 0x100e0cf0
push eax
call fcn.1006e6dc
add esp, 0x18
pop edi
pop ebx
leave
ret