Function at 0x1800c5cc0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
jmp 0x1800c5cc0
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rdi
lea rbp, [rax - 0x368]
sub rsp, 0x450
mov r10d, dword [rbp + 0x398]
mov qword [rax - 0x20], r12
mov r12, r9
test ecx, ecx
jne 0x1800c62c0
mov qword [rax + 0x18], rsi
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
movzx eax, r10b
cmp r10d, 7
jle 0x1800c5d0e
movzx r8d, r10b
jmp 0x1800c5d19
mov cl, 4
mov r8b, 7
cmp r10d, 4
jle 0x1800c5d1c
movzx ecx, al
movzx edx, cl
mov r11d, 4
movzx ecx, r8b
mov bl, 4
mov word [rsp + 0x30], 0x8148
mov byte [rsp + 0x32], 0xec
mov dword [rsp + 0x37], 0x248c8948
lea r9d, [rcx*8]
mov dword [rsp + 0x3f], 0x24948948
lea eax, [rcx + rdx]
mov dword [rsp + 0x3b], r9d
lea edi, [rax*8 + 0x17]
mov dword [rsp + 0x47], 0x2484894c
and edi, 0xfffffff0
mov dword [rsp + 0x4f], 0x248c894c
lea esi, [r9 + 0x10]
add edi, 8
mov dword [rsp + 0x33], edi
lea r14d, [r9 + 8]
mov dword [rsp + 0x43], r14d
lea r15d, [rsi + 8]
mov dword [rsp + 0x4b], esi
lea r13d, [r9 + rdx*8]
mov dword [rsp + 0x53], r15d
mov eax, 0x27
cmp r10d, r11d
jle 0x1800c5e30
mov edx, r11d
nop word [rax + rax]
movsxd rcx, eax
lea r8d, [rdx*8]
inc eax
lea edx, [r8 + 8]
add edx, edi
inc bl
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], edx
lea edx, [r9 + r8]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x89
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], edx
movzx edx, bl
cmp edx, r10d
jl 0x1800c5db0
movsxd rdx, dword [rbp + 0x3a0]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xb9
movsxd rcx, eax
add eax, 8
mov qword [rsp + rcx + 0x30], rdx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x94
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
mov ecx, dword [rbp + 0x3a8]
lea edx, [r9 + rcx*8]
movsxd rcx, eax
add eax, r11d
mov dword [rbp + 0x370], edx
mov dword [rsp + rcx + 0x30], edx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 8
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov rcx, qword [rbp + 0x3d0]
mov qword [rsp + rdx + 0x30], rcx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xff
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xd0
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x89
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], r13d
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8c
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], r9d
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0x94
inc eax
movsxd rcx, eax
movzx ebx, r11b
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], r14d
mov r14, qword [rsp + 0x438]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], VarR8FromUI1
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], esi
mov rsi, qword [rsp + 0x480]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], VarR8FromUI1
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8c
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, r11d
mov dword [rsp + rcx + 0x30], r15d
mov r15, qword [rsp + 0x430]
cmp r10d, r11d
jle 0x1800c606d
movsxd rcx, eax
lea r8d, [r11*8]
inc eax
lea edx, [r8 + r9]
inc bl
movzx r11d, bl
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, 4
mov dword [rsp + rcx + 0x30], edx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x89
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, 4
mov dword [rsp + rcx + 0x30], r8d
cmp r11d, r10d
jl 0x1800c5ff1
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 8
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov rcx, qword [rbp + 0x3c8]
mov qword [rsp + rdx + 0x30], rcx
movsxd rdx, dword [rbp + 0x3b0]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xff
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xd0
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], VarR8FromUI1
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xc8
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xb9
movsxd rcx, eax
add eax, 8
mov qword [rsp + rcx + 0x30], rdx
movsxd rdx, dword [rbp + 0x3b8]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xba
movsxd rcx, eax
add eax, 8
mov qword [rsp + rcx + 0x30], rdx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], VarR8FromUI1
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 8
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov rcx, qword [rbp + 0x3c0]
mov qword [rsp + rdx + 0x30], rcx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, 4
mov dword [rsp + rcx + 0x30], r13d
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x89
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x44
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0x24
mov edx, dword [rbp + 0x3a0]
inc eax
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x20
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xc7
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x44
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x28
movsxd rcx, eax
add eax, 4
mov qword [rsp + rcx + 0x30], rdx
mov edx, dword [rbp + 0x370]
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x84
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
add eax, 4
mov dword [rsp + rcx + 0x30], edx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x89
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x44
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x24
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x30
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 8
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov rcx, qword [rbp + 0x3d8]
mov qword [rsp + rdx + 0x30], rcx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xff
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xd0
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x48
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x81
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xc4
movsxd rcx, eax
mov dword [rsp + rcx + 0x30], edi
mov r13, qword [rsp + 0x440]
add eax, 4
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0xc3
jmp 0x1800c66df
mov r9d, dword [rbp + 0x3a8]
mov word [rsp + 0x30], 0x8b55
mov byte [rsp + 0x32], 0xec
cmp r8d, 1
jne 0x1800c6327
mov word [rsp + 0x33], 0xec81
mov ecx, SafeArrayGetElement
mov dword [rsp + 0x35], reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rsp + 0x39], 0x89fc4589
mov dword [rsp + 0x3d], 0x4d89f85d
mov dword [rsp + 0x41], 0xf05589f4
mov edx, ecx
inc ecx
mov byte [rsp + rdx + 0x30], 0xff
mov byte [rsp + rcx + 0x30], 0x75
inc ecx
test r9d, r9d
jne 0x1800c65cc
mov byte [rsp + rcx + 0x30], 0xfc
inc ecx
jmp 0x1800c6355
mov ecx, 3
mov edx, r8d
test r8d, r8d
je 0x1800c633e
sub edx, 1
je 0x1800c6305
cmp edx, 1
jne 0x1800c6355
lea eax, [r9 + 2]
mov word [rsp + 0x33], 0x75ff
shl al, 2
mov ecx, 6
mov byte [rsp + 0x35], al
mov edi, dword [rbp + 0x3a0]
mov edx, r8d
mov eax, ecx
mov byte [rsp + rax + 0x30], 0x68
lea eax, [rcx + 1]
lea ecx, [rax + 4]
mov dword [rsp + rax + 0x30], edi
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
inc ecx
mov r11d, ecx
mov ebx, eax
mov eax, dword [rbp + 0x3d0]
mov dword [rsp + rcx + 0x30], eax
add ecx, 4
mov byte [rsp + rcx + 0x30], 0xff
inc ecx
mov byte [rsp + rcx + 0x30], 0xd0
inc ecx
test r8d, r8d
je 0x1800c63a9
sub edx, 1
je 0x1800c65f4
cmp edx, 1
jne 0x1800c63c8
inc ecx
mov byte [rsp + rbx + 0x3b], 0xff
add r9b, 2
shl r9b, 2
lea edx, [rcx + 1]
mov byte [rsp + rcx + 0x30], 0x75
mov byte [rsp + rdx + 0x30], r9b
lea ecx, [rdx + 1]
mov byte [rsp + rcx + 0x30], 0x68
mov edx, r8d
lea ecx, [rcx + 1]
lea eax, [rcx + 4]
mov dword [rsp + rcx + 0x30], edi
mov r11d, eax
mov byte [rsp + rax + 0x30], 0x50
inc eax
test r8d, r8d
je 0x1800c63fb
sub edx, 1
je 0x1800c663d
cmp edx, 1
jne 0x1800c6484
lea r9d, [r10 - 1]
test r9d, r9d
js 0x1800c642c
lea ecx, [r10 + rax]
lea eax, [rcx + r10*2]
lea rdx, [r11 + 1]
lea ecx, [r9 + 2]
mov word [rsp + rdx + 0x30], 0x75ff
shl cl, 2
mov byte [rsp + rdx + 0x32], cl
lea rdx, [rdx + 3]
sub r9d, 1
jns 0x1800c6410
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 4
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov ecx, dword [rbp + 0x3c8]
mov dword [rsp + rdx + 0x30], ecx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xff
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xd0
cmp r8d, 2
jne 0x1800c6484
movsxd rcx, eax
movzx edx, r10b
inc eax
mov byte [rsp + rcx + 0x30], 0x83
movsxd rcx, eax
inc eax
shl dl, 2
mov byte [rsp + rcx + 0x30], 0xc4
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], dl
inc eax
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x50
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 4
mov byte [rsp + rcx + 0x30], 0x68
mov ecx, dword [rbp + 0x3c0]
mov dword [rsp + rdx + 0x30], ecx
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 4
mov byte [rsp + rcx + 0x30], 0x68
mov ecx, dword [rbp + 0x3b8]
mov dword [rsp + rdx + 0x30], ecx
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 4
mov byte [rsp + rcx + 0x30], 0x68
mov ecx, dword [rbp + 0x3b0]
mov dword [rsp + rdx + 0x30], ecx
movsxd rcx, eax
inc eax
movsxd rdx, eax
add eax, 4
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov ecx, dword [rbp + 0x3d8]
mov dword [rsp + rdx + 0x30], ecx
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xff
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xd0
cmp r8d, 1
jne 0x1800c6588
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x45
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xec
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x5d
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xf8
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x55
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xf0
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], reloc.OLEAUT32.dll_VarR8FromUI1
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xf4
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x8b
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0xe5
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x5d
test r8d, r8d
je 0x1800c66bf
sub r8d, 1
je 0x1800c65bf
cmp r8d, 1
jne 0x1800c66e1
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0xc3
jmp 0x1800c66df
cmp r9d, 1
jne 0x1800c65de
mov byte [rsp + rdx + 0x32], 0xf0
inc ecx
jmp 0x1800c6355
cmp r9d, 2
jne 0x1800c6355
mov byte [rsp + rdx + 0x32], 0xf4
inc ecx
jmp 0x1800c6355
mov byte [rsp + rcx + 0x30], 0xff
inc ecx
mov byte [rsp + rcx + 0x30], 0x75
inc ecx
test r9d, r9d
jne 0x1800c6613
mov byte [rsp + rcx + 0x30], 0xfc
inc ecx
jmp 0x1800c63c8
cmp r9d, 1
jne 0x1800c6626
mov byte [rsp + r11 + 0x38], 0xf0
inc ecx
jmp 0x1800c63c8
cmp r9d, 2
jne 0x1800c63c8
mov byte [rsp + r11 + 0x38], 0xf4
inc ecx
jmp 0x1800c63c8
mov byte [rsp + rax + 0x30], 0x8b
lea ecx, [rax + 1]
mov byte [rsp + rcx + 0x30], 0x45
lea edx, [rcx + 1]
mov ecx, dword [rbp + 0x3c8]
mov byte [rsp + rdx + 0x30], 0xfc
inc edx
mov byte [rsp + rdx + 0x30], 0x8b
inc edx
mov byte [rsp + rdx + 0x30], 0x55
inc edx
mov byte [rsp + rdx + 0x30], 0xf0
inc edx
mov byte [rsp + rdx + 0x30], 0x8b
inc edx
mov byte [rsp + rdx + 0x30], reloc.OLEAUT32.dll_VarR8FromUI1
inc edx
mov byte [rsp + rdx + 0x30], 0xf4
inc edx
mov byte [rsp + rdx + 0x30], 0xbb
lea eax, [rdx + 1]
mov dword [rsp + rax + 0x30], ecx
add eax, 4
mov byte [rsp + rax + 0x30], 0xff
inc eax
mov byte [rsp + rax + 0x30], 0xd3
inc eax
mov byte [rsp + rax + 0x30], 0x89
inc eax
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], 0x45
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0xec
jmp 0x1800c6482
movsxd rcx, eax
inc eax
shl r10b, 2
mov byte [rsp + rcx + 0x30], 0xc2
movsxd rcx, eax
inc eax
mov byte [rsp + rcx + 0x30], r10b
movsxd rcx, eax
mov byte [rsp + rcx + 0x30], 0
inc eax
mov rbx, qword [rbp + 0x390]
lea r8, [rsp + 0x30]
mov rdx, qword [rbp + 0x378]
xor edi, edi
movsxd r9, eax
mov qword [rsp + 0x20], rdi
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx]
call qword [r10 + 0x28]
mov rcx, qword [r12]
test rcx, rcx
je 0x1800c671f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov qword [r12], rdi
mov rcx, qword [rbx]
mov r12, qword [rsp + 0x448]
test rcx, rcx
je 0x1800c6738
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov qword [rbx], rdi
add rsp, 0x450
pop rdi
pop rbx
pop rbp
ret