Function at 0x1002f5c0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x10], 0x29342146
mov dl, 0x46
mov dword [esp + 0x14], 0x32193633
mov dword [esp + 0x18], 0x7323363f
xor eax, eax
mov byte [esp + 0x1c], 0
nop
xor byte [esp + eax + 0x11], dl
inc eax
cmp eax, 0xb
jae 0x1002f600
mov dl, byte [esp + 0x10]
jmp 0x1002f5f0
cmp byte [esp + 0x11], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
jne 0x1002f625
xor ecx, ecx
jmp 0x1002f639
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f630
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, 0x10
jb 0x1002f66d
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov byte [esp + 0x10], 0x35
mov al, 0x41
xor al, byte [esp + 0x10]
mov bh, 0x57
xor bh, byte [esp + 0x10]
mov cl, 0x5b
mov byte [esp + 0x12], al
mov dl, 0x6a
mov al, byte [esp + 0x10]
mov bl, 0x43
mov ah, 0x5c
mov byte [esp + 0x19], 0
mov ch, 0x50
mov byte [esp + 0x11], bh
mov dh, 0x42
mov byte [esp + 0x19], 0
xor cl, al
mov dword [esp + 0x34], 0xf
xor dl, al
mov byte [esp + 0x13], cl
xor bl, al
mov byte [esp + 0x14], dl
xor ah, al
mov byte [esp + 0x15], bl
xor ch, al
mov byte [esp + 0x16], ah
xor dh, al
mov byte [esp + 0x17], ch
mov byte [esp + 0x18], dh
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
test bh, bh
jne 0x1002f6e1
xor ecx, ecx
jmp 0x1002f6f1
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f6e8
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov dword [edi + 0xc], eax
cmp edx, 0x10
jb 0x1002f726
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov cl, 0x56
mov dword [esp + 0x10], 0x39243156
mov dword [esp + 0x14], 0x22092623
xor eax, eax
mov dword [esp + 0x18], 0x6233262f
mov byte [esp + 0x1c], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xb
jae 0x1002f757
mov cl, byte [esp + 0x10]
jmp 0x1002f747
cmp byte [esp + 0x11], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
jne 0x1002f77c
xor ecx, ecx
jmp 0x1002f78c
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f783
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, 0x10
jb 0x1002f7c0
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov byte [esp + 0x10], 0x34
mov al, 0x40
xor al, byte [esp + 0x10]
mov bh, 0x56
xor bh, byte [esp + 0x10]
mov cl, 0x5a
mov byte [esp + 0x12], al
mov dl, 0x6b
mov al, byte [esp + 0x10]
mov bl, 0x42
mov ah, 0x5d
mov byte [esp + 0x19], 0
mov ch, 0x51
mov byte [esp + 0x11], bh
mov dh, 0x43
mov byte [esp + 0x19], 0
xor cl, al
mov dword [esp + 0x34], 0xf
xor dl, al
mov byte [esp + 0x13], cl
xor bl, al
mov byte [esp + 0x14], dl
xor ah, al
mov byte [esp + 0x15], bl
xor ch, al
mov byte [esp + 0x16], ah
xor dh, al
mov byte [esp + 0x17], ch
mov byte [esp + 0x18], dh
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
test bh, bh
jne 0x1002f834
xor ecx, ecx
jmp 0x1002f849
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f840
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov dword [edi + 0x10], eax
cmp edx, 0x10
jb 0x1002f87e
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov cl, 0x50
mov dword [esp + 0x10], 0x3f223750
mov dword [esp + 0x14], 0x240f2025
xor eax, eax
mov dword [esp + 0x18], 0x60352029
mov byte [esp + 0x1c], 0
nop
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xb
jae 0x1002f8b0
mov cl, byte [esp + 0x10]
jmp 0x1002f8a0
cmp byte [esp + 0x11], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
jne 0x1002f8d5
xor ecx, ecx
jmp 0x1002f8e9
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f8e0
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, 0x10
jb 0x1002f91d
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov byte [esp + 0x10], 0x54
mov al, 0x20
xor al, byte [esp + 0x10]
mov bh, 0x36
xor bh, byte [esp + 0x10]
mov cl, 0x3a
mov byte [esp + 0x12], al
mov dl, 0xb
mov al, byte [esp + 0x10]
mov bl, 0x30
mov ah, 0x26
mov byte [esp + 0x19], 0
mov ch, 0x3b
mov byte [esp + 0x11], bh
mov dh, 0x24
mov byte [esp + 0x19], 0
xor cl, al
mov dword [esp + 0x34], 0xf
xor dl, al
mov byte [esp + 0x13], cl
xor bl, al
mov byte [esp + 0x14], dl
xor ah, al
mov byte [esp + 0x15], bl
xor ch, al
mov byte [esp + 0x16], ah
xor dh, al
mov byte [esp + 0x17], ch
mov byte [esp + 0x18], dh
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
test bh, bh
jne 0x1002f991
xor ecx, ecx
jmp 0x1002f9a1
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f998
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov dword [edi + 4], eax
cmp edx, 0x10
jb 0x1002f9d6
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
mov byte [esp + 0x10], 0xb
mov al, 0x66
xor al, byte [esp + 0x10]
mov bh, 0x62
xor bh, byte [esp + 0x10]
mov cl, 0x6c
mov byte [esp + 0x12], al
mov dl, 0x54
mov al, byte [esp + 0x10]
mov bl, 0x6f
mov ah, 0x79
mov byte [esp + 0x19], 0
mov ch, 0x64
mov byte [esp + 0x11], bh
mov dh, 0x7b
mov byte [esp + 0x19], 0
xor cl, al
mov dword [esp + 0x34], 0xf
xor dl, al
mov byte [esp + 0x13], cl
xor bl, al
mov byte [esp + 0x14], dl
xor ah, al
mov byte [esp + 0x15], bl
xor ch, al
mov byte [esp + 0x16], ah
xor dh, al
mov byte [esp + 0x17], ch
mov byte [esp + 0x18], dh
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
test bh, bh
jne 0x1002fa4a
xor ecx, ecx
jmp 0x1002fa5a
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fa51
sub ecx, edx
push ecx
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x28]
call fcn.100028c0
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.100145a0
mov edx, dword [esp + 0x34]
mov dword [edi + 8], eax
cmp edx, 0x10
jb 0x1002fa8f
mov ecx, dword [esp + 0x20]
inc edx
push 1
call fcn.10002790
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret