Function at 0x1400435b0
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 - 0x870]
sub rsp, 0x970
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x9c8], rbx
mov rax, qword [0x1401bbe90]
xor rax, rsp
mov qword [rbp + 0x860], rax
mov qword [rbp - 0x28], r8
mov rdi, rdx
mov qword [rbp + 0x40], rdx
mov r15, rcx
xor sil, sil
xor r12d, r12d
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
call fcn.1400427f0
mov ecx, dword [0x1401c4d08]
mov edx, 0xbf05a3cb
test al, al
cmove ecx, edx
mov dword [0x1401c4d08], ecx
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
or r14, 0xffffffffffffffff
cmp byte [r15 + 0x18], r12b
je 0x14004452c
mov rdi, qword [rdi]
cmp dword [rdi - 0x10], r12d
je 0x14004452c
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], r12d
jl 0x140043685
cmp rax, qword [rdi - 0x18]
jne 0x140043685
lea rsi, [rdi - 0x18]
lock inc dword [rdi - 8]
mov rbx, qword [rsp + 0x38]
jmp 0x1400436be
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x1400436a1
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.1400ce4a4
lea rdi, [rsi + 0x18]
mov qword [rsp + 0x40], rdi
movsxd rsi, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x1400436e3
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14001ae90
mov rdi, qword [rsp + 0x40]
mov r12, rsi
test sil, 3
jne 0x1400443bc
mov eax, dword [0x1401c3d80]
mov ecx, eax
imul ecx, eax
imul ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 0xf
jne 0x140043721
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileType]
mov rax, rsi
shr rax, 2
lea rsi, [rax + rax*2]
mov qword [rbp - 0x20], rsi
cmp byte [r12 + rdi - 1], 0x3d
jne 0x14004373f
dec rsi
mov qword [rbp - 0x20], rsi
cmp byte [r12 + rdi - 2], 0x3d
jne 0x14004374e
dec rsi
mov qword [rbp - 0x20], rsi
xor r13d, r13d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140029990
movsxd r12, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x140043789
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14001ae90
mov rdi, qword [rsp + 0x40]
mov rdx, r12
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov r12, qword [rsp + 0x58]
mov r8, r12
mov rcx, rdi
call fcn.14001fc70
test al, al
jne 0x14004391e
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rdx, str.base64_Decode
test rdx, 0xffffffffffff0000
jne 0x1400437f9
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140043809
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400025b0
jmp 0x140043809
mov r8d, 0xd
lea rcx, [rbp - 0x58]
call fcn.1400022c0
nop
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r8, [rbp - 0x58]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x30]
call fcn.1400204c0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140043888
cmp dword [rbx + 0x10], 0
jl 0x140043879
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140043879
call fcn.140002410
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14004386e
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 + 0x38], rax
jmp 0x140043888
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400022c0
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400438a1
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 0x1400438ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400438d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400438f6
call fcn.1400cdaa0
xor r12d, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
jmp 0x1400438f9
xor r12d, r12d
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044521
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor sil, sil
jmp 0x140044527
xor al, al
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x30], al
mov r8d, dword [0x1401c3d80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 0xd
jne 0x14004399d
imul r8d, r8d
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r8d, eax
cmp r8d, 2
jne 0x140043981
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1401c3d80], eax
mov edx, reloc.OLEAUT32.dll_LoadRegTypeLib
lea r8d, [rdx + 1]
lea rcx, str._d__d_n
call fcn.1400ce3cc
mov r8d, dword [0x1401c3d80]
mov dword [rsp + 0x70], r13d
mov r13d, dword [r15 + 0x30]
mov dword [rbp - 0x14], r13d
lea ecx, [r8 + 1]
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, 8
jne 0x1400439db
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1401c3d80], eax
mov eax, dword [rsp + 0x60]
sub eax, r12d
mov dword [rbp - 0x10], eax
xor edx, edx
mov esi, edx
mov dword [rsp + 0x4c], edx
mov ecx, r13d
neg ecx
mov dword [rbp - 0x18], ecx
mov r13d, eax
mov dword [rsp + 0x48], eax
nop dword [rax]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rdx
movsxd rdx, dword [r15 + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140029990
movsxd rdx, esi
mov ecx, dword [r15 + 0x30]
mov rax, qword [rsp + 0x60]
sub rax, r12
sub rax, rdx
mov esi, r13d
cmp rax, rcx
cmova esi, ecx
movsxd r8, esi
add rdx, r12
mov r13, qword [rbp - 0x70]
mov rcx, r13
call fcn.1400cdaf0
mov edx, dword [rsp + 0x4c]
lea eax, [rdx + rsi]
mov ecx, dword [rsp + 0x50]
movzx ecx, cl
cmp eax, dword [rbp - 0x10]
mov eax, 1
cmovge ecx, eax
mov dword [rsp + 0x50], ecx
mov ecx, dword [rsp + 0x70]
inc ecx
mov dword [rsp + 0x70], ecx
add edx, dword [rbp - 0x14]
mov dword [rsp + 0x4c], edx
mov eax, dword [rsp + 0x48]
add eax, dword [rbp - 0x18]
mov dword [rsp + 0x48], eax
mov esi, dword [rbp - 0x80]
sub esi, dword [rsp + 0x78]
mov eax, dword [r15 + 0x30]
sub eax, 0xb
imul eax, ecx
movsxd rdx, eax
lea rcx, [rsp + 0x78]
call fcn.140029990
cmp byte [r15 + 0x34], 0
je 0x140043b5d
mov r8d, dword [0x1401c3d80]
lea eax, [r8 + 1]
imul eax, r8d
and eax, 0x8000000f
jge 0x140043ac5
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 9
jne 0x140043b30
xor r9d, r9d
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov ecx, r8d
sub ecx, eax
cmp ecx, 0xb3
je 0x140043b29
nop
mov eax, r8d
or eax, 0xffffff8a
add r8d, eax
inc r9d
mov eax, r8d
imul eax, r8d
cmp r9d, eax
jg 0x140043b29
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov ecx, r8d
sub ecx, eax
cmp ecx, 0xb3
jne 0x140043af0
mov dword [0x1401c3d80], r9d
movsxd r8, esi
add r8, qword [rsp + 0x78]
mov dword [rsp + 0x20], 1
mov r9, qword [r15 + 0x28]
mov rdx, r13
mov ecx, dword [r15 + 0x30]
call fcn.14006ee50
mov ecx, eax
cmp eax, 0xffffffff
je 0x140043bdd
jmp 0x140043b88
movsxd r8, esi
add r8, qword [rsp + 0x78]
mov dword [rsp + 0x20], 1
mov r9, qword [r15 + 0x28]
mov rdx, r13
mov ecx, dword [r15 + 0x30]
call fcn.14006ee80
mov ecx, eax
cmp eax, 0xffffffff
je 0x140043ec6
mov eax, dword [r15 + 0x30]
sub eax, 0xb
cmp ecx, eax
jge 0x140043ba4
lea eax, [rcx + rsi]
movsxd rdx, eax
lea rcx, [rsp + 0x78]
call fcn.140029990
nop
test r13, r13
je 0x140043bc1
mov rcx, r13
call fcn.1400cdaa0
xor edx, edx
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rdx
jmp 0x140043bc3
xor edx, edx
mov eax, dword [rsp + 0x50]
test al, al
jne 0x1400441f9
mov esi, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x48]
jmp 0x140043a00
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, str.RSA_private_decrypt_
test rdx, 0xffffffffffff0000
jne 0x140043c26
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140043c36
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400025b0
jmp 0x140043c36
mov r8d, 0x14
lea rcx, [rbp - 0x50]
call fcn.1400022c0
nop
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp]
lea rcx, [rbp + 0x28]
call fcn.1400204c0
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140043d9d
cmp dword [rdi + 0x10], 0
jl 0x140043ca8
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140043ca8
call fcn.140002410
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140043c9f
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
jmp 0x140043d98
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x140043d06
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140043d9d
cmp dword [rdi + 0x10], 0
jge 0x140043ce1
cmp dword [rbx - 0xc], 0
jge 0x140043cd4
mov ecx, 0x80070057
call fcn.140001920
int3
xor edi, edi
mov dword [rbx - 0x10], edi
mov word [rbx], di
jmp 0x140043d9f
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140043cf4
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 0x140043d98
test r13, r13
jne 0x140043d16
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 0x140043d32
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 0x140043d54
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.1400023b0
mov rbx, qword [rsp + 0x38]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r15, r12
ja 0x140043d75
lea r8, [rbx + r15*2]
call fcn.1400ce2e4
jmp 0x140043d7d
mov r8, r13
call fcn.1400ce4a4
cmp esi, dword [rbx - 0xc]
jg 0x140043d8d
mov dword [rbx - 0x10], esi
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x140043d9d
mov ecx, 0x80070057
call fcn.140001920
int3
mov qword [rsp + 0x38], rax
xor edi, edi
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140043db8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140043dd1
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 0x140043de9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov word [rbp + 0x60], di
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rbp + 0x62]
call fcn.1400d2f00
call fcn.1400704f0
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.140070480
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140043e2a
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, rax
test rax, rax
jne 0x140043e3e
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x20]
mov rdx, rax
mov ecx, edi
test rdx, rdx
setne cl
test ecx, ecx
jne 0x140043e55
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 - 0x40], rbx
lea rcx, [rbp + 0x60]
lea rax, [rbp + 0x60]
test rax, 0xffffffffffff0000
jne 0x140043e9a
movzx edi, cx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140043ead
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400025b0
mov rbx, qword [rbp - 0x40]
jmp 0x140043ead
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.140003290
mov rbx, qword [rbp - 0x40]
jmp 0x140043eaf
xor edi, edi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140010740
nop
jmp 0x1400441bc
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, str.RSA_public_decrypt_
test rdx, 0xffffffffffff0000
jne 0x140043f0f
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140043f1f
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400025b0
jmp 0x140043f1f
mov r8d, 0x13
lea rcx, [rbp - 0x30]
call fcn.1400022c0
nop
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
lea r8, [rbp - 0x30]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x20]
call fcn.1400204c0
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140044086
cmp dword [rdi + 0x10], 0
jl 0x140043f91
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140043f91
call fcn.140002410
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140043f88
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
jmp 0x140044081
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x140043fef
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140044086
cmp dword [rdi + 0x10], 0
jge 0x140043fca
cmp dword [rbx - 0xc], 0
jge 0x140043fbd
mov ecx, 0x80070057
call fcn.140001920
int3
xor edi, edi
mov dword [rbx - 0x10], edi
mov word [rbx], di
jmp 0x140044088
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140043fdd
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 0x140044081
test r13, r13
jne 0x140043fff
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 0x14004401b
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 0x14004403d
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.1400023b0
mov rbx, qword [rsp + 0x38]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r15, r12
ja 0x14004405e
lea r8, [rbx + r15*2]
call fcn.1400ce2e4
jmp 0x140044066
mov r8, r13
call fcn.1400ce4a4
cmp esi, dword [rbx - 0xc]
jg 0x140044076
mov dword [rbx - 0x10], esi
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x140044086
mov ecx, 0x80070057
call fcn.140001920
int3
mov qword [rsp + 0x38], rax
xor edi, edi
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400440a1
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 0x1400440ba
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 0x1400440d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov word [rbp + 0x460], di
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rbp + 0x462]
call fcn.1400d2f00
call fcn.1400704f0
mov ecx, eax
lea rdx, [rbp + 0x460]
call fcn.140070480
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14004411c
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, rax
test rax, rax
jne 0x140044130
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x20]
mov rdx, rax
mov ecx, edi
test rdx, rdx
setne cl
test ecx, ecx
jne 0x140044147
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 - 0x48], rbx
lea rcx, [rbp + 0x460]
lea rax, [rbp + 0x460]
test rax, 0xffffffffffff0000
jne 0x140044192
movzx edi, cx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x1400441a8
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400025b0
mov rbx, qword [rbp - 0x48]
jmp 0x1400441a8
lea rdx, [rbp + 0x460]
lea rcx, [rbp - 0x48]
call fcn.140003290
mov rbx, qword [rbp - 0x48]
jmp 0x1400441aa
xor edi, edi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140010740
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400441d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rsp + 0x30], 1
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400441ef
call fcn.1400cdaa0
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x70], rdi
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x58]
call fcn.1400427f0
test al, al
jne 0x140044240
mov ecx, dword [0x1401c3d80]
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, 0x63
movsxd rcx, ecx
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1400cd108
mov rcx, rax
call fcn.1400cebfc
cmp byte [rsp + 0x30], 0
je 0x140044297
mov rdx, qword [rbp + 0x40]
mov rdx, qword [rdx]
mov rcx, qword [rbp - 0x28]
call fcn.140003290
nop
test r12, r12
je 0x140044277
mov rcx, r12
call fcn.1400cdaa0
xor r12d, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044521
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor sil, sil
jmp 0x140044527
mov ebx, dword [rbp - 0x80]
sub ebx, dword [rsp + 0x78]
lea eax, [rbx + 2]
movsxd rdx, eax
lea rcx, [rsp + 0x78]
call fcn.140029990
movsxd rax, ebx
mov rsi, qword [rsp + 0x78]
mov byte [rax + rsi], 0
lea eax, [rbx + 1]
movsxd rcx, eax
mov byte [rcx + rsi], 0
cmp qword [rbp - 0x80], rsi
je 0x14004436e
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 8], rax
mov rdx, rsi
lea rcx, [rbp - 8]
call fcn.140003290
nop
mov rdx, qword [rbp - 8]
lea rdi, [rdx - 0x18]
mov r15, qword [rbp - 0x28]
mov rbx, qword [r15]
sub rbx, 0x18
cmp rdi, rbx
je 0x14004434f
cmp dword [rbx + 0x10], 0
jl 0x140044342
mov rax, qword [rbx]
cmp qword [rdi], rax
jne 0x140044342
mov rcx, rdi
call fcn.140002410
mov rsi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x140044339
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [r15], rax
jmp 0x14004434f
mov r8d, dword [rdx - 0x10]
mov rcx, r15
call fcn.1400022c0
nop
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140044362
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x58]
jmp 0x140044372
mov r15, qword [rbp - 0x28]
mov rdx, r15
mov rcx, r15
call fcn.140026c10
mov sil, 1
test r12, r12
je 0x14004439f
mov rcx, r12
call fcn.1400cdaa0
xor r12d, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044527
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140044527
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x38], rax
lea rdx, str.GetDecodeSize_
test rdx, 0xffffffffffff0000
jne 0x140044405
movzx edi, dx
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140044415
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1400025b0
jmp 0x140044415
mov r8d, 0xe
lea rcx, [rbp - 0x38]
call fcn.1400022c0
nop
lea rcx, [0x1401bb9a8]
mov rax, qword [0x1401bb9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x38]
call fcn.1400204c0
nop
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.140020440
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400444a4
cmp dword [rbx + 0x10], 0
jl 0x140044495
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140044495
call fcn.140002410
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14004448a
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 + 0x38], rax
jmp 0x1400444a4
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400022c0
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400444bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400444d6
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 0x1400444ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044508
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044521
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor sil, sil
xor r12d, r12d
mov rbx, qword [rsp + 0x38]
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140044541
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14004455d
call fcn.1400cdaa0
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
movzx eax, sil
mov rcx, qword [rbp + 0x860]
xor rcx, rsp
call fcn.1400cdac0
mov rbx, qword [rsp + 0x9c8]
add rsp, 0x970
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret