Function at 0x10055190
Capabilities:
Generate random numbers via rtlgenrandom
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 8], esi
cmp byte [esi + 0x2e], 0
je 0x10055477
cmp byte [ebp + 0x10], 0
jne 0x1005521e
mov eax, dword [0x101160c8]
test eax, eax
jne 0x100551db
push str.SystemFunction036
push str.ADVAPI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x101160c8], eax
test eax, eax
je 0x10055414
push 0x20
lea edi, [esi + 0x78]
push edi
call eax
test al, al
je 0x10055414
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx]
add ecx, eax
add eax, 0x22
cmp eax, dword [ebx + 4]
ja 0x10055214
mov dword [ebx + 8], eax
lea eax, [ecx + 2]
push 0x20
push edi
push eax
mov word [ecx], 0x2021
call fcn.100a82c0
add esp, 0xc
mov word [esi], 1
jmp 0x100553dc
mov bl, byte [esi + 1]
test bl, bl
jne 0x1005546f
cmp dword [ebp + 8], 0
je 0x100553d9
cmp dword [ebp + 0xc], 0x10
jl 0x100553d9
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edi, dword [esi + 8]
mov ebx, eax
mov esi, dword [esi + 0xc]
sub ebx, edi
mov ecx, edx
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], ecx
sbb ecx, esi
shrd ebx, ecx, 0xa
shr ecx, 0xa
mov eax, ebx
mov dword [ebp - 0xc], ecx
shld ecx, eax, 0xa
shl eax, 0xa
add eax, edi
adc ecx, esi
mov esi, dword [ebp - 8]
mov dword [esi + 8], eax
movzx eax, byte [esi + 5]
cdq
add eax, ebx
mov dword [esi + 0xc], ecx
adc edx, dword [ebp - 0xc]
test edx, edx
jb 0x10055290
ja 0x1005528e
cmp eax, 0xf0
jbe 0x10055290
mov al, 0xf0
mov edi, dword [ebp + 8]
xor bl, bl
mov byte [esi + 5], al
mov edx, edi
lea eax, [esi + 0x98]
mov ecx, edi
push eax
push 0
push 0
push 0
push 0
push dword [ebp + 0xc]
call fcn.10065180
add esp, 0x18
test al, al
je 0x100553a1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
push ecx
add eax, 0xfffffff0
lea ecx, [esi + 0x28]
push eax
push edi
mov dword [ebp + 0xc], eax
call fcn.10054e60
mov bh, byte [esi + 3]
mov bl, al
cmp bh, 0xa
jb 0x1005532b
test bl, bl
je 0x10055323
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [esi + 0x14]
jb 0x10055323
mov eax, dword [ebp - 0x10]
ja 0x100552f5
cmp eax, dword [esi + 0x10]
jbe 0x10055323
mov dword [esi + 0x14], ecx
mov cl, byte [esi + 4]
mov dword [esi + 0x10], eax
mov al, cl
inc al
mov byte [esi + 4], al
cmp cl, 2
jne 0x10055327
push str.Account_unlocked.
call fcn.100561a0
add esp, 4
mov word [esi + 3], 0
mov byte [esi + 5], 0xf0
jmp 0x100553a1
mov byte [esi + 4], 0
xor bl, bl
jmp 0x100553a1
push dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.10051690
add esp, 4
cmp eax, dword [esi + 0x18]
jne 0x1005536e
cmp edx, dword [esi + 0x1c]
jne 0x1005536e
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add ecx, 0xea60
adc eax, 0
cmp dword [ebp - 4], eax
jb 0x10055364
ja 0x10055327
cmp dword [ebp + 0x10], ecx
jb 0x10055364
xor bl, bl
jmp 0x100553a1
test bl, bl
je 0x100553a1
mov byte [esi + 3], 0
jmp 0x100553a1
mov edi, dword [ebp + 0x10]
mov dword [esi + 0x20], edi
mov edi, dword [ebp - 4]
mov dword [esi + 0x24], edi
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edx
test bl, bl
je 0x10055388
xor bh, bh
jmp 0x1005538a
inc bh
mov byte [esi + 3], bh
cmp bh, 0xa
jne 0x100553a1
push 0xa
push str.Account_locked_because_of__d_failed_login_attempts.
call fcn.100561a0
add esp, 8
cmp byte [esi + 3], 0xa
mov cl, byte [esi + 5]
jb 0x100553b1
mov eax, 3
jmp 0x100553bc
cmp cl, 0x1e
sbb eax, eax
and eax, 2
add eax, 2
mov byte [esi + 7], al
cmp cl, 0x1e
jb 0x100553cc
sub cl, 0x1e
mov byte [esi + 5], cl
jmp 0x100553ce
xor bl, bl
mov byte [esi + 1], bl
test bl, bl
jne 0x1005546f
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x101160c8]
test eax, eax
jne 0x10055405
push str.SystemFunction036
push str.ADVAPI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x101160c8], eax
test eax, eax
je 0x10055414
push 0x20
lea edi, [esi + 0x98]
push edi
call eax
test al, al
jne 0x1005541c
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov al, byte [esi + 6]
movups xmm0, xmmword [edi]
mov ecx, dword [ebx]
mov byte [ebp - 0x14], al
mov al, byte [esi + 7]
mov byte [ebp - 0x13], al
mov eax, dword [ebx + 8]
add ecx, eax
movups xmmword [ebp - 0x34], xmm0
add eax, 0x24
movups xmm0, xmmword [edi + 0x10]
movups xmmword [ebp - 0x24], xmm0
cmp eax, dword [ebx + 4]
ja 0x10055460
mov dword [ebx + 8], eax
lea eax, [ebp - 0x34]
push 0x22
push eax
lea eax, [ecx + 2]
mov word [ecx], 0x2222
push eax
call fcn.100a82c0
add esp, 0xc
mov byte [ebx + 0xc], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov byte [esi + 7], 0
mov byte [esi + 2], 0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14