Function at 0x544730
Capabilities:
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
push rbp
sub rsp, 0xb0
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rdx
mov rcx, qword [rbp + 0xc8]
call fcn.0040e780
nop
lea rcx, [rbp + 0xac]
lea rdx, [rbp + 0xa0]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x98]
call fcn.00536aa0
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x3b
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0xa8]
jle 0x5447f9
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa0]
imul eax, eax, 0x8c
mov dword [rbp + 0xa4], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x5447b7
nop
nop
mov eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xac]
jle 0x544864
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xac]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x544877
call fcn.0053b710
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x5448b2
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
call fcn.00544370
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd0]
call fcn.0040fe40
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x544945
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1f3
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0xa4]
add eax, 0x1a
mov dword [rbp + 0xac], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed30]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
sub eax, 0x1c0
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd0]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecc8]
call fcn.0040fe40
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0x8c]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x5449e7
mov eax, dword [rbp + 0x98]
sub eax, 0x1b0
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecb8]
call fcn.0040fe40
mov eax, dword [rbp + 0xac]
add eax, 0x3d7
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x40]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
cmp dword [rbp + 0xa4], eax
jne 0x544a4b
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x222
mov dword [rbp + 0x98], eax
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
call fcn.0040fe40
mov eax, dword [rbp + 0xa4]
add eax, 8
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x60]
lea rdx, [0x005469f4]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
sub eax, 0x1ae
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x544af9
mov eax, dword [rbp + 0x9c]
add eax, 0x15f
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
lea rcx, [rbp + 0xac]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x94]
mov qword [rsp + 0x28], rax
call fcn.005382d0
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x544b7d
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.00544370
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0x78]
xor edx, edx
xor r8, r8
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
call sub.advapi32.dll_CryptAcquireContextA
test eax, eax
je 0x54613d
nop
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x544c8b
add dword [rbp + 0xac], 1
mov eax, 0x373
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0xa0], eax
jne 0x544c3e
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, 0x3a4
sub eax, dword [rbp + 0xa0]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x544c7e
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x22f
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0xac], 2
jl 0x544bff
nop
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x544d07
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov eax, 0x7f
sub eax, dword [rbp + 0xa0]
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x544cf2
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x229
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0xa8], eax
cmp dword [rbp + 0xac], 2
jl 0x544c9f
nop
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x544d57
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0xa8]
call fcn.0053be40
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.005438f0
mov rcx, qword [rbp + 0x78]
mov edx, 0x8003
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
call sub.advapi32.dll_CryptCreateHash
test eax, eax
je 0x545a3a
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x98]
sub eax, 0x19f
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0xac]
lea rdx, [rbp + 0xa0]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x98]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x94]
mov qword [rsp + 0x28], rax
call fcn.005382d0
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x544e52
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.00544370
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 1
jge 0x544f18
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
shl eax, 4
lea rax, [rax + rax*2]
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x98]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0xa0], eax
jne 0x544efd
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xa4]
add eax, 0x380
mov dword [rbp + 0xa8], eax
cmp dword [rbp + 0xac], 1
jl 0x544eaa
nop
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x544f5a
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
call fcn.0053c530
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1f8
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x9c]
call fcn.005444f0
nop
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0x5c], 0
cmp qword [rbp + 0xc8], 0
je 0x544fb8
mov rax, qword [rbp + 0xc8]
mov eax, dword [rax - 4]
mov dword [rbp + 0x5c], eax
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0xc8]
mov r8d, dword [rbp + 0x5c]
xor r9, r9
call sub.advapi32.dll_CryptHashData
test eax, eax
je 0x5455e3
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545009
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x90]
call fcn.0053d210
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x98]
sub eax, 0x1a9
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.005438f0
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov rcx, qword [rbp + 0x80]
mov edx, 2
xor r8, r8
lea r9, [rbp + 0x74]
mov dword [rsp + 0x20], 0
call sub.advapi32.dll_CryptGetHashParam
test eax, eax
je 0x5455e3
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5450f1
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov eax, dword [rbp + 0x98]
sub eax, 0x1c5
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x94]
call fcn.00536080
lea rcx, [rbp + 0x68]
mov rdx, qword [0x005446f0]
mov r8d, 1
mov r9d, dword [rbp + 0x74]
call fcn.00411b50
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x98], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x5451df
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0xa4]
add eax, 0x377
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
cmp dword [rbp + 0xa4], eax
jne 0x545192
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, 0x3a8
sub eax, dword [rbp + 0xa0]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x5451d2
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0x94]
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0xac], 2
jl 0x545153
nop
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x83
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0xa8]
cmp dword [rbp + 0x8c], eax
jne 0x54522e
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xac]
add eax, 0x3d3
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x98
mov dword [rbp + 0xa0], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 4
jne 0x5451ea
nop
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x5452ac
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0xa8]
lea rax, [rbp + 0xac]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x5452db
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
call fcn.0053c530
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x217
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545323
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x90]
call fcn.0053cbe0
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x57
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0xa8]
jle 0x54537b
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa4]
add eax, 0x3e8
mov dword [rbp + 0x94], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x545339
nop
mov rcx, qword [rbp + 0x80]
mov edx, 2
mov r8, qword [rbp + 0x68]
lea r9, [rbp + 0x74]
mov dword [rsp + 0x20], 0
call sub.advapi32.dll_CryptGetHashParam
test eax, eax
je 0x5455e3
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1d1
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545417
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0x94]
call fcn.0053d350
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x545454
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0xa8]
call fcn.0053be40
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x98]
sub eax, 0x197
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
call fcn.00543a90
mov eax, dword [rbp + 0x98]
sub eax, 0x1a4
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x50], rax
cmp qword [rbp + 0x50], 0
je 0x5454cc
mov rax, qword [rbp + 0x50]
mov rax, qword [rax - 8]
mov qword [rbp + 0x50], rax
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x50]
lea r8, [rax - 1]
call fcn.00543c60
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa4]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.005438f0
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0x94]
add eax, 0x368
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x54557a
mov eax, dword [rbp + 0x98]
sub eax, 0x1b3
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xa8]
jge 0x5455a0
mov eax, dword [rbp + 0xac]
add eax, 0x37d
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x5455ce
mov eax, dword [rbp + 0x98]
sub eax, 0x1a8
mov dword [rbp + 0x8c], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x54553a
nop
nop
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0xa4]
add eax, 0x376
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x54562e
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa4]
add eax, 0xc
mov dword [rbp + 0x94], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x5455ee
nop
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x61
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x90]
cmp dword [rbp + 0xa0], eax
jne 0x5456b7
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x545676
nop
mov eax, dword [rbp + 0x98]
sub eax, 0x178
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0xac]
lea rdx, [rbp + 0xa0]
lea r8, [rbp + 0x9c]
call fcn.00536390
mov eax, dword [rbp + 0x98]
imul eax, eax, 0x1d5
mov dword [rbp + 0x9c], eax
mov rcx, qword [rbp + 0x80]
call sub.advapi32.dll_CryptDestroyHash
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545786
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov eax, dword [rbp + 0x98]
sub eax, 0x180
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
call fcn.00544370
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x545830
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0xa8]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xac]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x9c]
call fcn.005444f0
mov eax, dword [rbp + 0x98]
sub eax, 0x1b4
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xa0], 0
mov eax, 0x3a2
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x5458b9
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x20d
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, 0x3d8
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x54590c
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 4
jne 0x545879
nop
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0x94]
add eax, 0x34c
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x92
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0xa8]
cmp dword [rbp + 0x8c], eax
jne 0x545975
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
add eax, 0x362
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x54592b
nop
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x545a1b
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x38
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0xa8]
cmp dword [rbp + 0xa0], eax
jne 0x545a06
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
cmp dword [rbp + 0xac], 2
jl 0x5459b7
nop
mov eax, dword [rbp + 0x98]
sub eax, 0x18e
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
nop
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x98]
sub eax, 0x1a3
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0xac]
lea rdx, [rbp + 0xa0]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x90]
call fcn.00536aa0
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0x8c]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545ac2
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x98]
call fcn.0053d210
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545b1d
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0xa8]
lea rax, [rbp + 0x94]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x545b5a
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0xa8]
call fcn.0053be40
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
sub eax, 0x166
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov rcx, qword [rbp + 0x78]
xor edx, edx
call sub.advapi32.dll_CryptReleaseContext
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x545bf1
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xac]
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x20], rax
call fcn.0053d670
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0x94]
add eax, 0x365
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x545c3b
mov eax, dword [rbp + 0x98]
imul eax, eax, 0x1d0
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x90], eax
mov eax, 0x39b
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x545bfb
nop
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x71
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x90]
cmp dword [rbp + 0xa0], eax
jne 0x545ccd
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x545c8c
nop
mov eax, dword [rbp + 0x98]
sub eax, 0x187
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0x94]
add eax, 0x376
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x9c]
add eax, 0xbc
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0xa8]
cmp dword [rbp + 0x8c], eax
jne 0x545d63
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x94]
add eax, 0x36b
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0x8c]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545da3
mov eax, dword [rbp + 0x98]
sub eax, 0x1b6
mov dword [rbp + 0x9c], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 4
jne 0x545d19
nop
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x545df5
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0xa8]
call fcn.0053be40
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x9c]
cmp eax, ecx
jge 0x545e24
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
call fcn.0053bc90
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1f8
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xac]
jle 0x545e7d
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xac]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0xac]
jle 0x545eb8
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0x94], eax
jmp 0x54613d
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa4]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x54617e
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x90]
call fcn.0053d210
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0x94]
add eax, 0x36b
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x5461d4
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1f6
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xac]
add eax, 0x380
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x9c]
cmp eax, ecx
jle 0x546226
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1eb
mov dword [rbp + 0x9c], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x546194
nop
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x5462b8
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0x94]
imul eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x5a
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0xa8]
cmp dword [rbp + 0xa0], eax
jne 0x54629d
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
mov eax, 0x3ab
sub eax, dword [rbp + 0xa0]
mov dword [rbp + 0xa8], eax
cmp dword [rbp + 0xac], 2
jl 0x54624e
nop
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov dword [rbp + 0xa4], 0
mov eax, dword [rbp + 0xac]
sub dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0x94], eax
mov eax, 0x45
sub eax, dword [rbp + 0xa0]
mov dword [rbp + 0xac], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
sub ecx, dword [rbp + 0x98]
cmp eax, ecx
jle 0x546327
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x22f
mov dword [rbp + 0x98], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x5462cf
nop
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0xa0]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x546359
call fcn.0053b710
nop
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0040e6b0
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
lea rcx, [rbp + 0x68]
mov rdx, qword [0x005446f0]
call fcn.00411d20
lea rcx, [rbp + 0xc8]
call fcn.0040e620
mov rax, qword [rbp + 0xc0]
lea rsp, [rbp + 0xb0]
pop rbp
ret