Function at 0x548b60
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt

Disassembly:
push rbp
sub rsp, 0x100
mov rbp, rsp
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], rbp
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rdx
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xf0], eax
jne 0x548bd2
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x24b
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x351
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x76
mov dword [rbp + 0xec], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x548ba0
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d5
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd0]
add eax, 0x173
mov dword [rbp + 0xe8], eax
mov byte [rbp + 0x97], 0
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1f9
mov dword [rbp + 0xd0], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536250
mov eax, dword [rbp + 0xd0]
sub eax, 0x1a6
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x548cdc
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xec]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x548d61
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
add eax, 6
mov dword [rbp + 0xf4], eax
mov eax, 0x8b
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x548d58
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x215
mov dword [rbp + 0xd0], eax
cmp dword [rbp + 0xfc], 2
jl 0x548cef
nop
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x548d9f
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x548e5d
add dword [rbp + 0xfc], 1
mov eax, 0x32f
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xd8]
jle 0x548e04
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x3d
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xf4]
jle 0x548e2a
mov eax, dword [rbp + 0xd4]
sub eax, 0x10b
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xf0]
jge 0x548e50
mov eax, dword [rbp + 0xd4]
add eax, 0xf7
mov dword [rbp + 0xe4], eax
cmp dword [rbp + 0xfc], 1
jl 0x548dc8
nop
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
call fcn.00536aa0
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
call fcn.0053e8e0
test eax, eax
jne 0x548f31
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe8]
mov ecx, dword [rbp + 0xd0]
sub ecx, dword [rbp + 0xdc]
cmp eax, ecx
jle 0x548edf
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf0]
lea r8, [rbp + 0xe8]
lea r9, [rbp + 0xd0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
call fcn.00542650
lea rcx, [rbp + 0xf4]
call fcn.00536080
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xf0]
jle 0x548f13
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xfc]
call fcn.0053ea20
mov byte [rbp + 0x97], 1
mov eax, dword [rbp + 0xe4]
imul eax, eax, 0x3e1
mov dword [rbp + 0xfc], eax
jmp 0x54e03c
nop
lea rcx, [rbp + 0xf4]
call fcn.00548a50
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x548f6d
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd0]
call fcn.0040fe40
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xe0]
cmp eax, ecx
jge 0x548fd6
mov eax, dword [rbp + 0xe4]
add eax, 0x3ea
mov dword [rbp + 0xf0], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed30]
call fcn.0040fe40
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd0]
call fcn.0040fe40
mov eax, dword [rbp + 0xfc]
add eax, 0x342
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecc8]
call fcn.0040fe40
mov eax, dword [rbp + 0xec]
imul eax, eax, 0x32b
mov dword [rbp + 0xf4], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecb8]
call fcn.0040fe40
mov eax, dword [rbp + 0xf4]
add eax, 0x313
mov dword [rbp + 0xf8], eax
lea rcx, [rbp + 0x50]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x50]
call fcn.0040fe40
mov eax, dword [rbp + 0xd0]
sub eax, 0x17a
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0x48]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x48]
call fcn.0040fe40
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
lea rcx, [rbp + 0x60]
lea rdx, [0x0054f338]
call fcn.0040fe40
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x5490e7
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1cb
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54917e
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xf0]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xd4]
mov qword [rsp + 0x28], rax
call fcn.0053e6e0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x549231
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x59
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x5491f6
mov eax, dword [rbp + 0xd8]
add eax, 0x325
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549224
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d0
mov dword [rbp + 0xd4], eax
cmp dword [rbp + 0xfc], 2
jl 0x5491a7
nop
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549268
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
call fcn.0053cbe0
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd0]
cmp eax, ecx
jge 0x5492bd
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xd8]
lea r9, [rbp + 0xf0]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
call fcn.0053e6e0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xf0], 0
cmp dword [rbp + 0xf0], 2
jge 0x549350
add dword [rbp + 0xf0], 1
mov eax, dword [rbp + 0xf4]
add eax, 0x353
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549329
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1de
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
cmp dword [rbp + 0xf0], 2
jl 0x5492e2
nop
lea rcx, [rbp + 0x98]
xor edx, edx
xor r8, r8
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
call sub.advapi32.dll_CryptAcquireContextA
test eax, eax
je 0x54dec2
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536250
mov eax, dword [rbp + 0xe0]
sub eax, 0x1c1
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xd8]
call fcn.00536080
nop
mov dword [rbp + 0xec], 0
mov eax, 0x3d5
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x5493f4
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xfc]
add eax, 0x385
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549434
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1f0
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x5493bc
nop
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
add eax, eax
add eax, eax
lea rax, [rax + rax*8]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xe0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x5494b2
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x59
mov dword [rbp + 0xfc], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x549465
nop
lea rcx, [0x0054f348]
lea rdx, [0x0054f36c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x5a
jge 0x549516
mov eax, 0x93
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0
cmp dword [rbp + 0xf0], 2
jge 0x5495ba
add dword [rbp + 0xf0], 1
mov eax, dword [rbp + 0xf4]
add eax, 0x362
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549582
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1cd
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xd8]
jge 0x5495a2
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xec]
add eax, 0x1d
mov dword [rbp + 0xfc], eax
cmp dword [rbp + 0xf0], 2
jl 0x54953b
nop
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, 0x36
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549637
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1e0
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x5495d8
nop
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x549683
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
call fcn.00538540
mov dword [rbp + 0xec], 0
mov eax, 0x3b2
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x5496d8
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, 0x3c3
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549718
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x22f
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x5496a0
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1db
mov dword [rbp + 0xd4], eax
mov rax, qword [rbp + 0x110]
mov rcx, qword [rax]
call fcn.0053e8e0
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x110]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 8]
mov r8d, eax
xor r9, r9
mov dword [rsp + 0x20], 0
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
call sub.advapi32.dll_CryptImportKey
test eax, eax
je 0x54dbcd
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x5497f3
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1ef
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, 0x39a
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x5497b9
nop
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd0]
sub eax, 0x188
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x5498d8
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x76
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xf0], eax
jne 0x5498bd
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
add eax, 0x325
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 2
jl 0x549872
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549940
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x343
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0xa9
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe0]
sub eax, dword [rbp + 0xf8]
cmp dword [rbp + 0xe4], eax
jne 0x549994
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xec]
add eax, 0x1e
mov dword [rbp + 0xfc], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54994a
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
nop
lea rcx, [rbp + 0xa8]
xor edx, edx
xor r8, r8
mov r9d, 0x18
mov dword [rsp + 0x20], 0xf0000000
call sub.advapi32.dll_CryptAcquireContextA
test eax, eax
je 0x54d832
mov eax, dword [rbp + 0xd0]
sub eax, 0x167
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xf4]
call fcn.00548a50
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x549a60
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x549a9b
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xf4]
lea r9, [rbp + 0xf0]
lea rax, [rbp + 0xe4]
mov qword [rsp + 0x20], rax
call fcn.00540330
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x377
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x9d
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x549aef
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x36d
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x92
mov dword [rbp + 0xe4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 4
jne 0x549aa5
nop
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1be
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd0]
cmp eax, ecx
jge 0x549bb8
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xf4]
call fcn.0053ea20
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x549bd9
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1fc
mov dword [rbp + 0xd0], eax
lea rcx, [rbp + 0xd8]
call fcn.00536080
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
call fcn.00546a00
mov rcx, qword [rbp + 0xa8]
mov edx, 0x6610
mov r8d, 1
lea r9, [rbp + 0xb0]
call sub.advapi32.dll_CryptGenKey
test eax, eax
je 0x54d31d
mov eax, dword [rbp + 0xe0]
sub eax, 0x1a1
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
call fcn.00536aa0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xf0], 0
cmp dword [rbp + 0xf0], 2
jge 0x549cf1
add dword [rbp + 0xf0], 1
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, 0x5d
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x549cdc
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
cmp dword [rbp + 0xf0], 2
jl 0x549c91
nop
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x214
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x549d4b
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549d7a
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd0]
call fcn.0053d210
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549dbf
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1e2
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, 0x31
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 4
jne 0x549d85
nop
lea rcx, [0x0054f398]
lea rdx, [0x0054f3b8]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x1c
je 0x549e31
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd0]
sub eax, 0x170
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd0]
sub eax, 0x16e
mov dword [rbp + 0xe8], eax
lea rcx, [0x0054f3d4]
lea rdx, [0x0054f3b8]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x1c
je 0x549e86
mov eax, dword [rbp + 0xf8]
imul eax, eax, 0x244
mov dword [rbp + 0xe0], eax
mov rcx, qword [rbp + 0xb0]
xor edx, edx
mov r8d, 8
xor r9, r9
mov qword [rsp + 0x20], 0
lea rax, [rbp + 0x84]
mov qword [rsp + 0x28], rax
call sub.advapi32.dll_CryptExportKey
test eax, eax
je 0x54cfdd
lea rcx, [0x0054f3f4]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4a
jge 0x549eec
mov eax, 0x32
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov ecx, pe_nt_image_headers64
call fcn.00409020
mov qword [rbp + 0xb8], rax
nop
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x354
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x549f5b
mov eax, dword [rbp + 0xe0]
sub eax, 0x1e0
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x38a
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x549fad
mov eax, dword [rbp + 0xd0]
sub eax, 0x194
mov dword [rbp + 0xe8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x549f1b
nop
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x549ffd
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a017
lea rcx, [rbp + 0xf0]
call fcn.0053a860
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xfc]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54a046
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xd0]
sub eax, 0x17b
mov dword [rbp + 0xe8], eax
lea rcx, [0x0054f430]
lea rdx, [0x0054f3b8]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x19
je 0x54a089
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a0d0
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xfc]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54a0ff
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xd0]
add eax, 0x16d
mov dword [rbp + 0xe8], eax
mov rcx, qword [rbp + 0xb0]
xor edx, edx
mov r8d, 8
xor r9, r9
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x84]
mov qword [rsp + 0x28], rax
call sub.advapi32.dll_CryptExportKey
test eax, eax
je 0x54ce21
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0xa0
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54a197
mov eax, dword [rbp + 0xf4]
add eax, 0x32b
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54a1c5
mov eax, dword [rbp + 0xe0]
sub eax, 0x1b6
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xd8]
jle 0x54a1ec
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 4
jne 0x54a153
nop
mov eax, dword [rbp + 0xe0]
sub eax, 0x1e8
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54a226
call fcn.0053b710
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a26d
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov rcx, qword [0x00539e30]
mov dl, 1
call fcn.0053c000
mov qword [rbp + 0xc0], rax
nop
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54a365
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
add eax, 1
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54a33c
mov eax, dword [rbp + 0xd0]
sub eax, 0x16b
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54a35c
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54a2e5
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1fd
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a3bf
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a406
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
mov eax, dword [rbp + 0xd4]
add eax, 0x14f
mov dword [rbp + 0xe4], eax
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
call fcn.0053e8e0
movsxd rax, eax
mov qword [rbp + 0x70], rax
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf0]
add eax, 0x3e2
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54a478
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1ec
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, 0x396
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54a4ca
mov eax, dword [rbp + 0xe0]
sub eax, 0x1e1
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54a438
nop
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54a528
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54a59f
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
add eax, 0x7e
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54a583
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54a53b
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x194
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe0]
sub eax, 0x1d2
mov dword [rbp + 0xd4], eax
lea rcx, [0x0054f450]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x49
jge 0x54a5f5
mov eax, dword [rbp + 0xf0]
add eax, 0x3c9
mov dword [rbp + 0xd8], eax
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54a652
lea rcx, [rbp + 0xd4]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xf4]
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
call fcn.0053d670
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x54a6d0
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x42
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54a6b4
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 2
jl 0x54a665
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x179
mov dword [rbp + 0xe8], eax
mov ecx, 0x100080
call fcn.00409020
mov qword [rbp + 0xc8], rax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x7f
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xd4]
sub ecx, dword [rbp + 0xe0]
cmp eax, ecx
jle 0x54a75d
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x22a
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54a711
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x196
mov dword [rbp + 0xe8], eax
lea rcx, [0x0054f474]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x49
jge 0x54a7bd
mov eax, dword [rbp + 0xf0]
add eax, 0x3ed
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x214
mov dword [rbp + 0xd0], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536250
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
add eax, 7
mov dword [rbp + 0xf4], eax
mov eax, 0x8c
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54a855
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d6
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xf8]
jge 0x54a87c
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54a7f3
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54a8ea
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xdc]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
nop
mov dword [rbp + 0x68], 0
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x54a9b4
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x78
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x54a998
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 2
jl 0x54a950
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x350
mov dword [rbp + 0xf8], eax
mov eax, 0x76
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54aa11
mov eax, dword [rbp + 0xd0]
sub eax, 0x19f
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54aa37
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54a9bf
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x195
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, 0x59
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54aac0
mov eax, dword [rbp + 0xe0]
sub eax, 0x1c3
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54aae6
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x392
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54aa74
nop
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
jmp 0x54bcdc
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54ab5e
lea rcx, [rbp + 0xd4]
call fcn.0053d840
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54abe7
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x54
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54abcb
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54ab83
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x18a
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xfc]
add eax, 0x37e
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xd4]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54ac44
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x209
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x393
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54ac04
nop
mov eax, dword [rbp + 0xf8]
add eax, 0x2ba
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x22b
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xf4]
jle 0x54ace4
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053a570
cmp qword [rbp + 0x70], 0x100000
jle 0x54af79
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x371
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54ad3c
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x21c
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54acfc
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1cd
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536390
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x85
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54adf8
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54ada1
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x19b
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0x80], 0x100000
mov eax, dword [rbp + 0xd0]
sub eax, 0x188
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe0]
sub eax, 0x1c6
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54aebf
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54aed9
lea rcx, [rbp + 0xfc]
call fcn.0053a860
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54af20
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b266
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
call fcn.0053cbe0
jmp 0x54b266
mov eax, dword [rbp + 0xd0]
sub eax, 0x18d
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536390
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xfc]
add eax, 0x39c
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54afef
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x207
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
add eax, 0x3f6
mov dword [rbp + 0xf4], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54afaf
nop
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54b096
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053c730
call fcn.00546c80
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x80], eax
mov dword [rbp + 0xec], 0
mov eax, 0x3ae
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xec], eax
jne 0x54b0f8
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, 0x3a3
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b14b
mov eax, dword [rbp + 0xe0]
sub eax, 0x1ce
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54b0c0
nop
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54b173
call fcn.0053b710
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xfc]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54b1b0
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xec]
add eax, 0x396
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b21f
mov eax, dword [rbp + 0xd0]
sub eax, 0x1a1
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54b23f
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54b1cd
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
mov rdx, qword [rbp + 0xc8]
mov r8d, dword [rbp + 0x80]
call fcn.0053fdc0
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf0]
add eax, 0x3ce
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54b2cd
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d8
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, 0x3c7
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54b28d
nop
mov eax, dword [rbp + 0xe4]
imul eax, eax, 0x2dd
mov dword [rbp + 0xf0], eax
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
call fcn.00536aa0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b3a7
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x20], rax
call fcn.0053d670
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54b3c8
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x78
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xdc]
sub eax, dword [rbp + 0xf8]
cmp dword [rbp + 0xe8], eax
jne 0x54b42f
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x3e8
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xd4]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54b46f
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x233
mov dword [rbp + 0xd0], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54b3ed
nop
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54b522
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x82
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54b4ee
mov eax, dword [rbp + 0xf8]
add eax, 0x1cc
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54b515
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54b49b
nop
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b564
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xe0]
call fcn.0053d210
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54b5a5
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053c530
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x238
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54b5d1
lea rcx, [rbp + 0xfc]
call fcn.0053a860
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xfc]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54b600
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xd0]
sub eax, 0x170
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0x7c]
sub qword [rbp + 0x70], rax
mov dword [rbp + 0xf0], 0
mov eax, 0x3b2
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x54b65b
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x362
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54b69b
mov eax, dword [rbp + 0xe0]
sub eax, 0x1cd
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54b623
nop
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xe8]
mov ecx, eax
shl eax, 6
add eax, ecx
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54b711
cmp qword [rbp + 0x70], 0
jg 0x54ab24
nop
cmp qword [rbp + 0x70], 0
jne 0x54cbcd
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54bd41
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
call fcn.0053c530
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536250
mov eax, dword [rbp + 0xd0]
sub eax, 0x19c
mov dword [rbp + 0xe8], eax
mov rcx, qword [rbp + 0xa0]
xor edx, edx
or r8d, 0xffffffff
xor r9, r9
mov qword [rsp + 0x20], 0
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0
call sub.advapi32.dll_CryptEncrypt
test eax, eax
je 0x54c1a2
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, 0x5d
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xec], eax
jne 0x54be08
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x34d
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x92
mov dword [rbp + 0xe4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 4
jne 0x54bdc4
nop
lea rcx, [0x0054f4e0]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4d
jge 0x54be6b
mov eax, dword [rbp + 0xf0]
add eax, 0xb
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54beb3
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
call fcn.0053cbe0
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54bf4d
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, 0x72
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54bf32
mov eax, dword [rbp + 0xe0]
sub eax, 0x1dc
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
cmp dword [rbp + 0xfc], 1
jl 0x54bed8
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x188
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd0]
sub eax, 0x166
mov dword [rbp + 0xe8], eax
lea rcx, [0x0054f504]
lea rdx, [0x0054f3b8]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x17
je 0x54bfa3
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x23c
mov dword [rbp + 0xd0], eax
mov rcx, qword [rbp + 0xa0]
xor edx, edx
or r8d, 0xffffffff
xor r9, r9
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x84]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x30], eax
call sub.advapi32.dll_CryptEncrypt
test eax, eax
je 0x54c1a2
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c01f
lea rcx, [rbp + 0xd4]
lea rdx, [rbp + 0xdc]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xf4]
call fcn.0053dae0
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54c040
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xe0]
sub eax, 0x1b0
mov dword [rbp + 0xd4], eax
lea rcx, [0x0054f524]
lea rdx, [0x0054f36c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x54
jge 0x54c080
mov eax, dword [rbp + 0xec]
add eax, 0x47
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov rcx, qword [rbp + 0xc0]
lea rdx, [rbp + 0x68]
mov r8d, 4
call fcn.00540650
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54c0d1
lea rcx, [rbp + 0xd4]
call fcn.0053d840
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54c120
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
lea r9, [rbp + 0xe4]
call fcn.005444f0
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xb8]
mov r8d, dword [rbp + 0x80]
call fcn.00540650
lea rcx, [rbp + 0xf4]
call fcn.00548a50
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54c1a2
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
call fcn.0053d0d0
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54c23d
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x7a
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xec], eax
jne 0x54c221
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54c1d6
nop
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d0
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54c27f
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
call fcn.0053c530
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x242
mov dword [rbp + 0xd0], eax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xd4]
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x3dd
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c339
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1e8
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54c2e7
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, 0x5f
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xd4]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c3c5
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1ea
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54c366
nop
mov rcx, qword [rbp + 0xc0]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54c440
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
call fcn.00546c80
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54c4e9
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x3b
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xec], eax
jne 0x54c4b2
mov eax, dword [rbp + 0xf0]
add eax, 0x286
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c4e0
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1da
mov dword [rbp + 0xd4], eax
cmp dword [rbp + 0xfc], 1
jl 0x54c46a
nop
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xf0]
jle 0x54c519
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x5a
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54c577
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54c536
nop
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1f1
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov rcx, qword [rbp + 0xc0]
call fcn.0053e8e0
test eax, eax
jle 0x54c8bd
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0xd4]
add eax, 0x97
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xe8]
add eax, dword [rbp + 0xdc]
cmp eax, dword [rbp + 0xf8]
jle 0x54c654
mov eax, dword [rbp + 0xf4]
add eax, 0x343
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54c682
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1ce
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54c610
nop
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c6e0
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xd8]
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
call fcn.0053d670
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x6a
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c736
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d4
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xd8]
jge 0x54c75c
mov eax, dword [rbp + 0xec]
add eax, 0x37e
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54c6ea
nop
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 2
jge 0x54c803
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xf0]
add eax, 0x14
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54c7ee
mov eax, dword [rbp + 0xdc]
mov ecx, eax
shl eax, 9
sub eax, ecx
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 2
jl 0x54c796
nop
mov eax, dword [rbp + 0xe0]
sub eax, 0x1ab
mov dword [rbp + 0xd4], eax
mov rcx, qword [rbp + 0xc0]
call fcn.0053e8e0
mov rcx, qword [rbp + 0x118]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0xc0]
mov r8d, eax
call fcn.00540d40
mov dword [rbp + 0xf0], 0
cmp dword [rbp + 0xf0], 2
jge 0x54c8bc
add dword [rbp + 0xf0], 1
mov eax, 0x3e6
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xd8]
cmp dword [rbp + 0xe8], eax
jne 0x54c88d
mov eax, 0x33
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
cmp dword [rbp + 0xe8], eax
jne 0x54c8b3
mov eax, dword [rbp + 0xd0]
sub eax, 0xe1
mov dword [rbp + 0xe8], eax
cmp dword [rbp + 0xf0], 2
jl 0x54c84e
nop
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x32b
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd4]
cmp eax, ecx
jle 0x54c919
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1f6
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x380
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54c8d9
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54c9b5
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xec]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x43
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54ca00
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54c9bf
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x19a
mov dword [rbp + 0xe8], eax
lea rcx, [0x0054f548]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4a
jge 0x54ca67
mov eax, dword [rbp + 0xf0]
add eax, 0x3f1
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1f8
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54cadc
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov rax, qword [rbp + 0x118]
mov rcx, qword [rax]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54cb2d
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xd8]
call fcn.0053d350
lea rcx, [rbp + 0xd8]
call fcn.00548a50
lea rcx, [0x0054f56c]
lea rdx, [0x0054f36c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x54
jge 0x54cb67
mov eax, dword [rbp + 0xec]
add eax, 0x24
mov dword [rbp + 0xfc], eax
mov byte [rbp + 0x97], 1
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54cb9d
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053c530
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1fb
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xd8]
call fcn.00536080
mov eax, dword [rbp + 0xd0]
add eax, 0x17c
mov dword [rbp + 0xe8], eax
nop
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54cc4b
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x44
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xe0]
sub eax, dword [rbp + 0xf8]
cmp dword [rbp + 0xe4], eax
jne 0x54cc30
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, 0x3b4
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xd8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54cbe1
nop
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x6a
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd4]
cmp eax, ecx
jle 0x54ccb4
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1f4
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xf8]
jge 0x54ccdb
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xfc], 1
cmp dword [rbp + 0xfc], 3
jne 0x54cc68
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x185
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536390
mov rcx, qword [rbp + 0xc8]
call fcn.00409050
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54cd50
lea rcx, [rbp + 0xd4]
call fcn.0053d840
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x20d
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54cd75
call fcn.0053b710
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
nop
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov rcx, qword [rbp + 0xc0]
call fcn.0040b1e0
lea rcx, [rbp + 0xf4]
call fcn.00548a50
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54ce21
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x5e
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xf0], eax
jne 0x54ce70
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x229
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54ce2c
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x195
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xf4]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xe8]
call fcn.00536250
mov eax, dword [rbp + 0xd0]
add eax, 0x161
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd0]
sub eax, 0x1bf
mov dword [rbp + 0xe8], eax
mov rcx, qword [rbp + 0xb8]
call fcn.00409050
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x32e
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x73
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54cf41
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54cefa
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54cfa6
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053c530
mov eax, dword [rbp + 0xd0]
sub eax, 0x1bb
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd0]
add eax, 0x178
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
mov eax, 0x63
sub eax, dword [rbp + 0xec]
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xec], eax
jne 0x54d02c
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54cfe8
nop
mov eax, dword [rbp + 0xe0]
sub eax, 0x1be
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xec]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
call fcn.00536aa0
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x22b
mov dword [rbp + 0xd0], eax
lea rcx, [rbp + 0xd8]
call fcn.00548a50
lea rcx, [0x0054f590]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4c
jge 0x54d0db
mov eax, dword [rbp + 0xf0]
add eax, 6
mov dword [rbp + 0xf4], eax
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
call fcn.00538f10
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1ed
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54d136
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
call fcn.0053c530
mov rcx, qword [rbp + 0xb0]
call sub.advapi32.dll_CryptDestroyKey
mov dword [rbp + 0xec], 0
mov eax, dword [rbp + 0xf4]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x4e
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54d18d
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x3c2
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xec], 1
cmp dword [rbp + 0xec], 4
jne 0x54d14c
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54d21c
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xfc]
jle 0x54d236
lea rcx, [rbp + 0xfc]
call fcn.005390e0
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54d27d
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xe0]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54d2c6
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053c730
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54d31d
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
call fcn.0053be40
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54d3b2
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54d384
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d8
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54d343
nop
mov eax, dword [rbp + 0xd0]
sub eax, 0x189
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xd8]
call fcn.00548a50
lea rcx, [0x0054f5b4]
lea rdx, [0x0054f36c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x54
jge 0x54d3ff
mov eax, dword [rbp + 0xec]
add eax, 0x25
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54d458
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54d513
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xe8]
imul eax, eax, 0x34
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xdc]
cmp dword [rbp + 0xe4], eax
jne 0x54d4fe
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xfc], 1
jl 0x54d4b6
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xd0], eax
mov dword [rbp + 0xfc], 0
cmp dword [rbp + 0xfc], 1
jge 0x54d5a7
add dword [rbp + 0xfc], 1
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xf8], eax
mov eax, 0x6d
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xd4]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54d58c
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x217
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
cmp dword [rbp + 0xfc], 1
jl 0x54d539
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
mov eax, 0x3ea
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xf0]
sub eax, dword [rbp + 0xe4]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54d605
mov eax, dword [rbp + 0xe0]
sub eax, 0x1d4
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd0]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xd8]
jge 0x54d62b
mov eax, dword [rbp + 0xf4]
add eax, 0x35f
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54d5b2
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54d69b
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54d6d8
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
call fcn.0053be40
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xf4], 0
cmp dword [rbp + 0xf4], 1
jge 0x54d76a
add dword [rbp + 0xf4], 1
mov eax, dword [rbp + 0xf8]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xdc], eax
mov eax, 0x12
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xe0]
cmp dword [rbp + 0xec], eax
jne 0x54d74f
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1fd
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xdc], eax
cmp dword [rbp + 0xf4], 1
jl 0x54d6fd
nop
mov dword [rbp + 0xf4], 0
cmp dword [rbp + 0xf4], 1
jge 0x54d7f9
add dword [rbp + 0xf4], 1
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0xdc], eax
mov eax, 0x10
sub eax, dword [rbp + 0xe4]
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0xd4]
add eax, dword [rbp + 0xd0]
cmp dword [rbp + 0xf0], eax
jne 0x54d7c9
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1da
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xd4]
sub eax, dword [rbp + 0xf8]
cmp eax, dword [rbp + 0xd8]
jge 0x54d7f0
mov eax, dword [rbp + 0xd8]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0xf8], eax
cmp dword [rbp + 0xf4], 1
jl 0x54d77e
nop
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov rcx, qword [rbp + 0xa8]
xor edx, edx
call sub.advapi32.dll_CryptReleaseContext
lea rcx, [rbp + 0xf4]
call fcn.00548a50
lea rcx, [rbp + 0xd8]
call fcn.00548a50
nop
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x34c
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54d87d
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x1f7
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
sub eax, dword [rbp + 0xfc]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xfc]
mov dword [rbp + 0xd8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54d83d
nop
mov eax, dword [rbp + 0xe0]
sub eax, 0x1a8
mov dword [rbp + 0xd4], eax
call fcn.00546c80
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54d904
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053c530
mov eax, dword [rbp + 0xe0]
sub eax, 0x1c1
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
lea r9, [rbp + 0xe4]
call fcn.005444f0
mov eax, dword [rbp + 0xfc]
sub eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
sub ecx, dword [rbp + 0xd0]
cmp eax, ecx
jle 0x54d974
lea rcx, [rbp + 0xd4]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0xf8]
lea r9, [rbp + 0xf4]
call fcn.0053dae0
lea rcx, [rbp + 0xd8]
call fcn.00536080
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54d9d0
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
call fcn.0053cbe0
mov rcx, qword [rbp + 0xa0]
call sub.advapi32.dll_CryptDestroyKey
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x33b
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54da38
mov eax, dword [rbp + 0xe0]
sub eax, 0x1c6
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x370
mov dword [rbp + 0xf8], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54d9f8
nop
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54dab5
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd0]
lea r8, [rbp + 0xdc]
call fcn.0053cbe0
mov eax, dword [rbp + 0xf8]
sub eax, dword [rbp + 0xf4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54daf6
lea rcx, [rbp + 0xe4]
lea rdx, [rbp + 0xd4]
call fcn.0053c530
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1d9
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xf4]
lea r8, [rbp + 0xf0]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54db5f
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
lea rcx, [0x0054f5d8]
lea rdx, [0x0054f3b8]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x1f
je 0x54db90
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54dbcd
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
call fcn.0053be40
nop
mov eax, dword [rbp + 0xe0]
sub eax, 0x1dd
mov dword [rbp + 0xd4], eax
call fcn.00546c80
mov eax, dword [rbp + 0xf8]
add eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54dc26
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053c530
mov eax, dword [rbp + 0xd0]
sub eax, 0x1b6
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1f4
mov dword [rbp + 0xd4], eax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
call fcn.00546a00
mov eax, dword [rbp + 0xf4]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xe4]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54dcad
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xd4]
lea r8, [rbp + 0xe0]
lea r9, [rbp + 0xf8]
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.0053c730
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54dcf4
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54dd1c
lea rcx, [rbp + 0xd4]
call fcn.0053d840
mov eax, dword [rbp + 0xdc]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xfc]
jle 0x54dd41
call fcn.0053b710
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xfc]
lea r8, [rbp + 0xec]
lea r9, [rbp + 0xe8]
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov rcx, qword [rbp + 0x98]
xor edx, edx
call sub.advapi32.dll_CryptReleaseContext
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xf0]
mov dword [rbp + 0xf8], eax
jmp 0x54dec2
mov dword [rbp + 0xf0], 0
mov eax, dword [rbp + 0xf4]
add eax, 0x34d
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xd0]
add eax, dword [rbp + 0xf8]
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0xf4]
add eax, 0x342
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xfc]
add eax, dword [rbp + 0xec]
mov ecx, dword [rbp + 0xe8]
add ecx, dword [rbp + 0xd4]
cmp eax, ecx
jge 0x54df30
mov eax, dword [rbp + 0xe0]
imul eax, eax, 0x1cd
mov dword [rbp + 0xd4], eax
add dword [rbp + 0xf0], 1
cmp dword [rbp + 0xf0], 3
jne 0x54decc
nop
mov eax, dword [rbp + 0xf4]
cmp eax, dword [rbp + 0xf0]
jle 0x54df70
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd0]
lea r9, [rbp + 0xdc]
call fcn.0053be40
lea rcx, [0x0054f61c]
lea rdx, [0x0054f418]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4d
jge 0x54dfa1
mov eax, dword [rbp + 0xf0]
add eax, 0x3f1
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0xdc]
imul eax, eax, 0x218
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0xfc]
jle 0x54dffa
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe4]
lea r8, [rbp + 0xd4]
lea r9, [rbp + 0xdc]
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
mov eax, dword [rbp + 0xd8]
add eax, dword [rbp + 0xf0]
mov ecx, dword [rbp + 0xec]
add ecx, dword [rbp + 0xe8]
cmp eax, ecx
jge 0x54e029
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0xe8]
call fcn.0053bc90
mov eax, dword [rbp + 0xd0]
sub eax, 0x195
mov dword [rbp + 0xe8], eax
nop
lea rcx, [rbp + 0x48]
mov edx, 2
call fcn.0040e6b0
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
movzx rax, byte [rbp + 0x97]
lea rsp, [rbp + 0x100]
pop rbp
ret