Function at 0x5e6e6eec
Capabilities:
Authenticate hmac
Generate random numbers via rtlgenrandom

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
push ebx
push esi
nop
lea eax, [ebp - 0x74]
test word [0x6103b5cc], 0x47eb
jns 0x5e6e6f34
stosd dword es:[edi], eax
clc
fmul dword [esi]
jns 0x5e6e6f83
jle 0x5e6e6f89
pop ebx
loop 0x5e6e6ecd
sbb ecx, 0x31
invalid
mov esi, ecx
push edi
push eax
cmp dword [0x61078d65], 0x463b12ac
jns 0x5e6e6f64
pop eax
loopne 0x5e6e6f15
push ds
push ss
add dword [esi + 0x4d1d3d58], eax
test dword [ebp + 0x47], ecx
int3
call fcn.5e6e4bd4
pop ecx
mov ebx, 0x3e8
mov eax, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp byte [0x61099426], 0xb1
jne 0x5e71479d
add byte [ecx + 0x458dfc45], cl
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
cld
push 4
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.5e6e4c21
nop
nop
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 4
push eax
cmp word [0x6100fa38], 0x90c9
jns 0x5e6e6fe9
in al, dx
lds ebx, [eax - 0x32]
jg 0x5e6e6f4f
mov esi, 0x4dfe9117
add dword [esi], ebx
cwde
xor bl, byte [ebp + 0x73]
sbb al, 0xb1
fisttp qword [ebx + ebp*4]
sal esi, 1
sub al, 0x6a
pop edx
and ebx, dword [0x6601fe5f]
pop es
call 0x4106e4
clc
pop ecx
daa
sbb dword [bp + si - 0x798c], ebx
pop ds
call 0xec23fbea
inc ebp
mov word [eax - 0x18], ss
das
fdiv st(7), st(0)
call dword [eax - 0x3b7c6f70]
or al, 0x68
and byte [esi], dl
push cs
popal
lea eax, [ebp - 0x74]
push eax
call fcn.5e6e4c21
nop
nop
nop
add esp, 0xc
push str.Advapi32.dll
cmp dword [0x610d9ebd], 0xf76330a1
jne fcn.5e71921e
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
push edx
mov edx, edi
and edx, edi
pop edx
je 0x5e6e706b
push str.SystemFunction036
push edi
nop
nop
nop
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5e6e705f
push 0x20
lea ecx, [ebp - 0x94]
push ecx
call eax
push edx
mov dl, al
and dl, al
pop edx
je 0x5e6e705f
push 0x64
pop ebx
mov ecx, ecx
push 0x20
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.5e6e4c21
mov ecx, ecx
add esp, 0xc
mov eax, eax
push edi
nop
nop
nop
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [0x6102f77a], 0x97146841
js 0x5e6c725e
lea eax, [ebp - 0xc]
push eax
mov eax, eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push ecx
mov ecx, eax
and ecx, eax
pop ecx
je 0x5e6e70a5
push 8
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x74]
mov ecx, ecx
push eax
mov eax, eax
call fcn.5e6e4c21
add esp, 0xc
nop
nop
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 4
nop
nop
push eax
mov ecx, ecx
lea eax, [ebp - 0x74]
push eax
call fcn.5e6e4c21
nop
nop
add esp, 0xc
push 0x64
pop edi
test word [0x6107c175], 0xaed9
jne 0x5e6e7106
sub edi, dword [edx + 0x3b997dcb]
bound edx, qword [edx]
dec ebx
rcl dword [ebx + esi*2], 0xa5
lodsb al, byte [esi]
neg byte [edi - 0x71ba6b3e]
jo 0x5e6e7126
xchg dword [esi + 0x427edaa3], esp
fsubp st(3)
mov ch, 0x31
imul esp, ebp, 0x975ce803
inc esi
xchg esp, eax
stosd dword es:[edi], eax
cmp ebx, dword [eax + 0x1e0c7a4e]
lea eax, [ebp - 0x74]
mov eax, eax
push esi
nop
nop
push eax
nop
nop
nop
call fcn.5e6e4b03
lea eax, [ebp - 0x74]
nop
nop
push eax
call fcn.5e6e4bd4
push 0x20
lea eax, [ebp - 0x74]
push esi
push eax
mov word [esi + 0x50], ss
call fcn.5e6e4c21
add esp, 0x18
dec edi
jne 0x5e6e70cb
dec ebx
jne 0x5e6e706b
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.5e6e4b03
pop ecx
pop ecx
pop edi
mov byte [esi + 0x20], bl
pop esi
nop
nop
pop ebx
mov esp, ebp
pop ebp
ret