Function at 0x100542a0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x2c
mov al, 0x67
push ebx
mov byte [esp + 0xa], al
mov byte [esp + 0x1c], al
mov byte [esp + 0x25], al
mov al, byte [0x101979bc]
push ebp
mov cl, 0xbd
push esi
push edi
test al, 1
mov byte [esp + 0x14], 6
mov byte [esp + 0x15], 0xec
mov byte [esp + 0x17], 0xbe
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], 0x8a
mov byte [esp + 0x1a], 0xef
mov byte [esp + 0x1b], 0xf
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 3
mov byte [esp + 0x1e], 0x64
mov byte [esp + 0x1f], 0xf9
mov byte [esp + 0x29], 0x88
mov byte [esp + 0x2a], 0x11
mov byte [esp + 0x2b], 0xdf
mov byte [esp + 0x2c], 0xcd
mov byte [esp + 0x2d], 0xe3
mov byte [esp + 0x2e], 0xdc
mov byte [esp + 0x2f], 0x3d
mov byte [esp + 0x30], 0x93
mov byte [esp + 0x32], 8
mov byte [esp + 0x33], 0x95
jne 0x100543b4
mov bl, al
push 0xd
or bl, 1
mov byte [0x101979bc], bl
call fcn.1013c2df
add esp, 4
mov dword [0x101979c0], eax
xor edi, edi
mov bl, byte [esp + edi + 0x28]
movsx eax, byte [esp + edi + 0x14]
movsx esi, bl
test esi, esi
jne 0x1005435c
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x10054387
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 0x1005437c
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x1005437c
mov al, byte [esp + edi + 0x14]
xor bl, al
mov eax, dword [0x101979c0]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xc
jb 0x10054347
mov ecx, dword [0x101979c0]
push 0x10054540
mov byte [ecx + 0xc], 0
call fcn.1013c36b
add esp, 4
mov al, byte [0x101979c4]
mov edx, dword [0x101979c0]
test al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0x28], 0xa7
mov byte [esp + 0x29], 0xaf
mov byte [esp + 0x2a], 0xcf
mov byte [esp + 0x2b], 0xb5
mov byte [esp + 0x2c], 0x42
mov byte [esp + 0x2d], 0x3a
mov byte [esp + 0x2e], 0xdc
mov byte [esp + 0x2f], 0x54
mov byte [esp + 0x30], 0x11
mov byte [esp + 0x31], 0xb0
mov byte [esp + 0x32], 0xe3
mov byte [esp + 0x33], 0xa4
mov byte [esp + 0x34], 0x79
mov byte [esp + 0x35], 0x8e
mov byte [esp + 0x36], 0xfa
mov byte [esp + 0x37], 0x58
mov byte [esp + 0x38], 0x5c
mov byte [esp + 0x14], 0xe4
mov byte [esp + 0x15], 0xdd
mov byte [esp + 0x16], 0xb6
mov byte [esp + 0x17], 0xc5
mov byte [esp + 0x18], 0x36
mov byte [esp + 0x19], 0x7d
mov byte [esp + 0x1a], 0xb9
mov byte [esp + 0x1b], 0x20
mov byte [esp + 0x1c], 0x59
mov byte [esp + 0x1d], 0xd1
mov byte [esp + 0x1e], 0x90
mov byte [esp + 0x1f], 0xcc
mov byte [esp + 0x20], 0x29
mov byte [esp + 0x21], 0xef
mov byte [esp + 0x22], 0x88
mov byte [esp + 0x23], 0x39
mov byte [esp + 0x24], 0x31
jne 0x100544fe
mov bl, al
push 0x12
or bl, 1
mov byte [0x101979c4], bl
call fcn.1013c2df
add esp, 4
mov dword [0x101979c8], eax
xor edi, edi
mov bl, byte [esp + edi + 0x14]
movsx eax, byte [esp + edi + 0x28]
movsx esi, bl
test esi, esi
jne 0x100544a6
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x100544d1
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 0x100544c6
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x100544c6
mov al, byte [esp + edi + 0x28]
xor bl, al
mov eax, dword [0x101979c8]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0x11
jb 0x10054491
mov ecx, dword [0x101979c8]
push 0x10054550
mov byte [ecx + 0x11], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0x10]
mov esi, dword [0x101979c8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push ecx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret