Function at 0x140045c30
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x161b0]
mov eax, 0x162b0
call fcn.1400d6730
sub rsp, rax
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x16308], rbx
mov rax, qword [0x1401c3e90]
xor rax, rsp
mov qword [rbp + 0x161a0], rax
mov qword [rbp - 0x18], r8
mov rdi, rdx
mov qword [rbp + 0x38], rdx
mov r13, rcx
call fcn.140044cd0
xor r12d, r12d
mov r8d, dword [0x1401cbd80]
test al, al
jne 0x140045cbd
mov ecx, r8d
test r8d, r8d
je 0x140045cb0
dec ecx
je 0x140045ca4
inc r8d
jmp 0x140045cb6
mov r8d, r12d
mov dword [0x1401cbd80], r12d
jmp 0x140045cbd
mov r8d, 2
mov dword [0x1401cbd80], r8d
xor sil, sil
imul r8d, r8d
mov eax, 0x66666667
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub r8d, eax
cmp r8d, 0xb
jne 0x140045d6f
mov word [rbp + 0x910], r12w
xor edx, edx
mov r8d, 0x15886
lea rcx, [rbp + 0x912]
call fcn.1400d6ac0
mov r10, r12
mov r9, r12
nop dword [rax + rax]
mov rax, r12
test r10, r10
je 0x140045d44
test rax, rax
je 0x140045d44
lea rcx, [r9 + rax]
lea r8, [rbp + 0x910]
lea r8, [r8 + rcx*2]
lea rcx, [r9 + rax]
movzx edx, word [rbp + rcx*2 + 0x76c]
inc dx
add dx, word [r8 - 2]
mov word [r8], dx
inc rax
cmp rax, 0xd2
jl 0x140045d13
inc r10
add r9, 0xd2
cmp r9, 0xac44
jl 0x140045d10
movsx eax, word [rbp + 0x16196]
mov dword [0x1401cbd80], eax
mov r15, r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov r8d, dword [0x1401cbd80]
mov r9d, r8d
imul r9d, r8d
mov ecx, r9d
imul ecx, r8d
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 5
jne 0x140045e14
lea r10d, [r8 + 1]
mov ecx, r10d
imul ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
cmp ecx, 3
je 0x140045e0a
and r9d, 0x8000000f
jge 0x140045e02
dec r9d
or r9d, 0xfffffff0
inc r9d
cmp r9d, 2
cmove r8d, r10d
dec r8d
mov dword [0x1401cbd80], r8d
or r14, 0xffffffffffffffff
cmp byte [r13 + 0x18], 0
je 0x140046c6b
mov rdi, qword [rdi]
cmp dword [rdi - 0x10], 0
je 0x140046c6b
mov qword [rbp - 0x40], r12
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
lea r12d, [r14 + 2]
cmp dword [rdi - 8], 0
jl 0x140045e64
cmp rax, qword [rdi - 0x18]
jne 0x140045e64
lea rsi, [rdi - 0x18]
lock inc dword [rdi - 8]
mov r15, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x40]
jmp 0x140045e9a
mov rax, qword [rax]
mov r8d, r12d
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x140045e7d
call fcn.1400024a0
int3
mov eax, dword [rdi - 0x10]
mov dword [rsi + 8], eax
mov eax, dword [rdi - 0x10]
inc eax
movsxd rdx, eax
mov r8, rdi
lea rcx, [rsi + 0x18]
mov r9, rdx
call fcn.1400d2064
lea rdi, [rsi + 0x18]
mov qword [rsp + 0x48], rdi
mov ecx, dword [0x1401cbd80]
imul ecx, ecx
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
cmp ecx, 3
jne 0x140045eef
mov eax, 0xba
mov r8d, 0xf5
test r8d, r8d
je 0x140045ee6
mov ecx, r8d
cdq
idiv r8d
mov r8d, edx
mov eax, ecx
test ecx, ecx
jne 0x140045ed1
add eax, r8d
mov dword [0x1401cbd80], eax
movsxd rsi, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x140045f0b
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x48]
call fcn.14001d320
mov rdi, qword [rsp + 0x48]
mov rdx, rsi
test sil, 3
jne 0x140046a18
lea r8, [rbp - 0x40]
mov rcx, rdi
call fcn.140022c00
test al, al
je 0x140046a18
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov rdx, qword [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14002cd20
mov r8d, dword [0x1401cbd80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 5
jne 0x140045f95
mov ecx, r12d
cmp r8d, ecx
jle 0x140045f8f
nop dword [rax]
mov eax, r8d
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, r8d
jl 0x140045f80
mov dword [0x1401cbd80], ecx
movsxd rsi, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x140045fb1
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x48]
call fcn.14001d320
mov rdi, qword [rsp + 0x48]
mov rdx, rsi
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x40]
mov r12, qword [rsp + 0x60]
mov r8, r12
mov rcx, rdi
call fcn.140022cf0
test al, al
jne 0x140046147
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, [0x140158698]
test rdx, 0xffffffffffff0000
jne 0x140046022
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140046032
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400025b0
jmp 0x140046032
mov r8d, 0xd
lea rcx, [rbp - 0x50]
call fcn.1400022c0
nop
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x48]
call fcn.140023520
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400460b1
cmp dword [rbx + 0x10], 0
jl 0x1400460a2
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400460a2
call fcn.140002410
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x140046097
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x1400460b1
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400022c0
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400460ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400460e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400460fc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004611f
call fcn.1400d1660
xor r12d, r12d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
jmp 0x140046122
xor r12d, r12d
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c59
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor sil, sil
jmp 0x140046c5f
xor al, al
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x7c], 0
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x78], eax
mov ecx, dword [0x1401cbd80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 1
jne 0x1400461b7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov eax, 0xcccccccd
mul r8d
shr edx, 6
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub r8d, ecx
lea eax, [r8 + 1]
mov dword [0x1401cbd80], eax
mov eax, dword [rsp + 0x68]
sub eax, r12d
mov dword [rbp], eax
xor esi, esi
mov dword [rsp + 0x50], esi
mov ecx, dword [rsp + 0x78]
neg ecx
mov dword [rbp - 0x10], ecx
mov dword [rsp + 0x54], eax
nop word [rax + rax]
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
movsxd rdx, dword [r13 + 0x30]
lea rcx, [rbp - 0x68]
call fcn.14002cd20
movsxd r9, esi
movsxd rdx, dword [r13 + 0x30]
mov rcx, qword [rsp + 0x68]
sub rcx, r12
sub rcx, r9
mov esi, dword [rsp + 0x54]
cmp rcx, rdx
cmova esi, edx
movsxd r8, esi
lea rdx, [r12 + r9]
mov r12, qword [rbp - 0x68]
mov rcx, r12
call fcn.1400d16b0
mov edx, dword [rsp + 0x50]
lea eax, [rdx + rsi]
mov ecx, dword [rsp + 0x58]
movzx ecx, cl
cmp eax, dword [rbp]
mov eax, 1
cmovge ecx, eax
mov dword [rsp + 0x58], ecx
mov ecx, dword [rsp + 0x7c]
inc ecx
mov dword [rsp + 0x7c], ecx
add edx, dword [rsp + 0x78]
mov dword [rsp + 0x50], edx
mov eax, dword [rsp + 0x54]
add eax, dword [rbp - 0x10]
mov dword [rsp + 0x54], eax
mov esi, dword [rbp - 0x78]
sub esi, r15d
mov eax, dword [r13 + 0x30]
sub eax, 0xb
imul eax, ecx
movsxd rdx, eax
lea rcx, [rbp - 0x80]
call fcn.14002cd20
mov ecx, dword [0x1401cbd80]
cmp byte [r13 + 0x34], 0
je 0x1400462f5
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub r8d, eax
cmp r8d, 0xe
jne 0x1400462c3
inc dword [0x1401cced8]
movsxd r8, esi
mov r15, qword [rbp - 0x80]
add r8, r15
mov dword [rsp + 0x20], 1
mov r9, qword [r13 + 0x28]
mov rdx, r12
mov ecx, dword [r13 + 0x30]
call fcn.140072a10
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400463c9
jmp 0x140046375
mov eax, ecx
imul eax, ecx
and eax, 0x8000000f
jge 0x140046308
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xd
jne 0x140046348
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ecx, edx
add ecx, 0x2f4
movsxd rcx, ecx
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1400d0cc8
mov rcx, rax
call fcn.1400d272c
movsxd r8, esi
mov r15, qword [rbp - 0x80]
add r8, r15
mov dword [rsp + 0x20], 1
mov r9, qword [r13 + 0x28]
mov rdx, r12
mov ecx, dword [r13 + 0x30]
call fcn.140072a40
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400467ac
mov eax, dword [r13 + 0x30]
sub eax, 0xb
cmp ecx, eax
jge 0x140046393
lea eax, [rcx + rsi]
movsxd rdx, eax
lea rcx, [rbp - 0x80]
call fcn.14002cd20
mov r15, qword [rbp - 0x80]
test r12, r12
je 0x1400463af
mov rcx, r12
call fcn.1400d1660
xor r12d, r12d
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
mov eax, dword [rsp + 0x58]
test al, al
jne 0x1400465d7
mov r12, qword [rsp + 0x60]
mov esi, dword [rsp + 0x50]
jmp 0x1400461e0
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, str.RSA_private_decrypt_
test rdx, 0xffffffffffff0000
jne 0x140046412
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140046422
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400025b0
jmp 0x140046422
mov r8d, 0x14
lea rcx, [rbp - 0x30]
call fcn.1400022c0
nop
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x20], rax
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x50]
call fcn.140023520
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400464a1
cmp dword [rbx + 0x10], 0
jl 0x140046492
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140046492
call fcn.140002410
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x140046487
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x1400464a1
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400022c0
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400464ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400464d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400464eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r12d, r12d
mov word [rbp + 0x510], r12w
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rbp + 0x512]
call fcn.1400d6ac0
call fcn.1400740d0
mov ecx, eax
lea rdx, [rbp + 0x510]
call fcn.140074060
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140046539
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, rax
test rax, rax
jne 0x14004654d
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x20]
mov rdx, rax
mov ecx, r12d
test rdx, rdx
setne cl
test ecx, ecx
jne 0x140046565
mov ecx, 0x80004005
call fcn.140001920
int3
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x20], rbx
lea rcx, [rbp + 0x510]
lea rax, [rbp + 0x510]
test rax, 0xffffffffffff0000
jne 0x1400465ac
movzx edi, cx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x1400465c0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1400025b0
jmp 0x1400465bc
lea rdx, [rbp + 0x510]
lea rcx, [rbp - 0x20]
call fcn.140003350
mov rbx, qword [rbp - 0x20]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140010fc0
nop
jmp 0x1400469b5
mov ebx, dword [rbp - 0x78]
sub ebx, r15d
lea eax, [rbx + 2]
movsxd rdx, eax
lea rcx, [rbp - 0x80]
call fcn.14002cd20
movsxd rax, ebx
mov rsi, qword [rbp - 0x80]
mov byte [rax + rsi], 0
mov ecx, dword [0x1401cbd80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub r8d, edx
cmp r8d, 3
jne 0x140046652
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
lea eax, [rbx + 1]
movsxd rcx, eax
mov byte [rcx + rsi], 0
cmp qword [rbp - 0x78], rsi
je 0x1400466b3
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 8], rax
mov rdx, rsi
lea rcx, [rbp - 8]
call fcn.140003350
nop
lea rdx, [rbp - 8]
mov rcx, qword [rbp - 0x18]
call fcn.140002230
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400466ae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rbp - 0x18]
mov rcx, rdx
call fcn.140029f00
mov sil, 1
mov r9d, dword [0x1401cbd80]
lea r8d, [r9 + 2]
lea ecx, [r9 + 1]
imul r8d, ecx
imul r8d, r9d
mov eax, 0x66666667
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub r8d, eax
cmp r8d, 0xf
jne 0x140046725
mov eax, VariantChangeTypeEx
mov r8d, 0x8b
test r8d, r8d
je 0x14004671a
mov ecx, r8d
cdq
idiv r8d
mov r8d, edx
mov eax, ecx
test ecx, ecx
jne 0x140046705
lea r9d, [r8 + rax]
mov dword [0x1401cbd80], r9d
lea ecx, [r9 + 1]
imul ecx, r9d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 0xd
jne 0x140046771
mov edx, r12d
lea r8, [rbp + 0x60]
nop
mov eax, dword [r8]
imul eax, eax, 0x21
add r9d, eax
inc edx
lea r8, [r8 + 4]
movsxd rax, edx
cmp rax, 0xa4
jb 0x140046750
mov dword [0x1401cbd80], r9d
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004678f
call fcn.1400d1660
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140046c5f
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rdx, str.RSA_public_decrypt_
test rdx, 0xffffffffffff0000
jne 0x1400467f5
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140046805
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1400025b0
jmp 0x140046805
mov r8d, 0x13
lea rcx, [rbp - 0x28]
call fcn.1400022c0
nop
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x30]
call fcn.140023520
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140046884
cmp dword [rbx + 0x10], 0
jl 0x140046875
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140046875
call fcn.140002410
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14004686a
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x140046884
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400022c0
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004689d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400468b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400468ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r12d, r12d
mov word [rbp + 0x110], r12w
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rbp + 0x112]
call fcn.1400d6ac0
call fcn.1400740d0
mov ecx, eax
lea rdx, [rbp + 0x110]
call fcn.140074060
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14004691c
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, rax
test rax, rax
jne 0x140046930
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x20]
mov rdx, rax
mov ecx, r12d
test rdx, rdx
setne cl
test ecx, ecx
jne 0x140046948
mov ecx, 0x80004005
call fcn.140001920
int3
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x38], rbx
lea rcx, [rbp + 0x110]
lea rax, [rbp + 0x110]
test rax, 0xffffffffffff0000
jne 0x14004698f
movzx edi, cx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x1400469a3
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1400025b0
jmp 0x14004699f
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x38]
call fcn.140003350
mov rbx, qword [rbp - 0x38]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140010fc0
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400469ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400469e4
call fcn.1400d1660
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x68], r12
mov rdx, qword [rbp + 0x38]
mov rdx, qword [rdx]
mov rcx, qword [rbp - 0x18]
call fcn.140003350
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140046a13
call fcn.1400d1660
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
jmp 0x140046122
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, str.GetDecodeSize_
test rdx, 0xffffffffffff0000
jne 0x140046a61
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140046a71
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400025b0
jmp 0x140046a71
mov r8d, 0xe
lea rcx, [rbp - 0x48]
call fcn.1400022c0
nop
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
lea r8, [rbp - 0x48]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.140023520
nop
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1400234a0
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140046bed
cmp dword [rdi + 0x10], 0
jl 0x140046af3
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140046af3
call fcn.140002410
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140046aea
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
jmp 0x140046be8
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x140046b54
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140046bed
cmp dword [rdi + 0x10], 0
jge 0x140046b2f
cmp dword [rbx - 0xc], 0
jge 0x140046b1f
mov ecx, 0x80070057
call fcn.140001920
int3
xor r12d, r12d
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x140046bf0
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140046b42
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
jmp 0x140046be8
test r13, r13
jne 0x140046b64
mov ecx, 0x80070057
call fcn.140001920
int3
mov r12d, dword [rbx - 0x10]
mov r15, r13
sub r15, rbx
sar r15, 1
test esi, esi
jns 0x140046b80
mov ecx, 0x80070057
call fcn.140001920
int3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x140046ba2
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.1400023b0
mov rbx, qword [rsp + 0x40]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r15, r12
ja 0x140046bc3
lea r8, [rbx + r15*2]
call fcn.1400d1ea4
jmp 0x140046bcb
mov r8, r13
call fcn.1400d2064
cmp esi, dword [rbx - 0xc]
jg 0x140046bdd
mov dword [rbx - 0x10], esi
xor r12d, r12d
mov word [rdi + rbx], r12w
jmp 0x140046bf0
mov ecx, 0x80070057
call fcn.140001920
int3
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c3b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046c54
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140046122
xor sil, sil
xor r12d, r12d
mov rbx, qword [rsp + 0x40]
mov r8d, dword [0x1401cbd80]
lea eax, [r8 + 1]
imul eax, r8d
and eax, 0x80000003
jge 0x140046c81
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
jne 0x140046c92
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1401cbd80], eax
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140046ca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140046cc1
call fcn.1400d1660
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
movzx eax, sil
mov rcx, qword [rbp + 0x161a0]
xor rcx, rsp
call fcn.1400d1680
mov rbx, qword [rsp + 0x16308]
add rsp, 0x162b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret