Function at 0x4117b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x1a0], xmm9
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1c0], xmm11
movaps xmmword [rsp + 0x1d0], xmm12
movaps xmmword [rsp + 0x1e0], xmm13
movaps xmmword [rsp + 0x1f0], xmm14
movaps xmmword [rsp + 0x200], xmm15
mov qword [rsp + 0x260], rcx
mov rcx, r8
mov qword [rsp + 0x268], rdx
mov qword [rsp + 0x270], r8
mov qword [rsp + 0x278], r9
mov qword [rsp + 0x58], 0
call fcn.00405510
mov rcx, rax
call qword [0x00539768]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xb0]
cmp qword [rsp + 0x288], 0
mov qword [rsp + 0x60], rax
mov rax, qword [0x00539790]
lea rdi, [rsp + 0x170]
mov qword [rsp + 0xb0], 0
lea rbx, [0x00411a80]
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0xc0], 0
mov qword [0x00539790], rax
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], rsp
mov qword [rsp + 0x138], 0
jne 0x411df0
mov rax, qword [rsp + 0x268]
xor r9d, r9d
mov rbx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x278]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0xd8], rdx
lea rdx, [rsp + 0x80]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0x260]
mov rax, qword [rax]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x30], rbx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], 0
call qword [rax + 0x1c8]
test eax, eax
mov dword [0x00539788], eax
jne 0x411b50
mov rax, qword [rsp + 0xb0]
cmp byte [0x0053b178], 0
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
jne 0x4119cd
xor ecx, ecx
call qword [0x0053b170]
mov byte [0x0053b178], 1
call fcn.00407760
cmp qword [0x0053b120], 0
lea rdi, [rax + 0x10]
mov qword [rsp + 0x60], rax
mov qword [rax + 8], 1
mov qword [rsp + 0x40], rdi
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
je 0x41209f
mov rcx, qword [0x0053b118]
test rcx, rcx
je 0x41208b
mov rdx, qword [rsp + 0x40]
mov r8d, 1
call fcn.0040f350
mov rax, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x58], rbx
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x120]
mov qword [rbx + 0x10], rax
mov rax, qword [0x00539790]
mov rax, qword [rax]
mov qword [0x00539790], rax
jmp 0x411a9d
mov rcx, qword [rsp + 0x50]
call qword [0x00539760]
cmp qword [rsp + 0x138], 0
jne 0x411b30
mov rax, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm12, xmmword [rsp + 0x1d0]
movaps xmm13, xmmword [rsp + 0x1e0]
movaps xmm14, xmmword [rsp + 0x1f0]
movaps xmm15, xmmword [rsp + 0x200]
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x00539790]
test rcx, rcx
je 0x4120c4
add rcx, 0x10
call fcn.00402ab0
nop dword [rax]
mov rax, qword [rsp + 0x270]
mov rax, qword [rax]
lea rdi, [rax + 0x23]
mov eax, 7
cmp rdi, 7
cmovge rax, rdi
lea rcx, [rax + 0x21]
mov qword [rsp + 0x40], rax
call fcn.00403db0
lea rdi, [rax + 0x10]
mov qword [rax + 8], 1
xor edx, edx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x40]
mov rcx, rdi
mov qword [rsp + 0x68], rdi
lea r8, [rax + 0x11]
call sub.msvcrt.dll_memset
mov rdi, qword [rsp + 0x68]
mov rdx, qword [0x0041e1b0]
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
lea rcx, [rdi + 0x33]
mov qword [rdi + 0x10], rdx
mov rdx, qword [0x0041e1b8]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x270]
mov qword [rdi + 0x18], rdx
mov rdx, qword [0x0041e1c0]
lea r8, [rax + 0x10]
mov qword [rdi + 0x20], rdx
mov rdx, qword [0x0041e1c8]
mov qword [rdi + 0x28], rdx
mov edx, dword [0x0041e1d0]
mov dword [rdi + 0x30], edx
mov qword [rsi + 0x10], 0x23
mov rdx, qword [rax]
test rdx, rdx
js 0x412070
lea rax, [rdi + 0x43]
cmp r8, rax
mov rax, qword [rsp + 0x270]
setae r8b
add rax, 0x20
cmp rcx, rax
setae al
or r8b, al
je 0x412048
cmp rdx, 0xe
jbe 0x412048
lea r9, [rdx + 1]
xor eax, eax
mov r8, r9
and r8, 0xfffffffffffffff0
nop dword [rax]
mov rbx, qword [rsp + 0x270]
movdqu xmm0, xmmword [rbx + rax + 0x10]
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, r8
movaps xmmword [rsp + 0x40], xmm0
jne 0x411c50
mov rax, r9
and rax, 0xfffffffffffffff0
cmp rax, r9
je 0x411dc0
movzx ecx, byte [rbx + rax + 0x10]
cmp rax, rdx
mov rsi, qword [rsp + 0x68]
mov byte [rsi + rax + 0x33], cl
lea rcx, [rax + 1]
jge 0x411dc0
movzx r8d, byte [rax + rbx + 0x11]
cmp rdx, rcx
mov byte [rsi + rax + 0x34], r8b
lea r8, [rax + 2]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x12]
cmp rdx, r8
mov byte [rsi + rax + 0x35], cl
lea rcx, [rax + 3]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x13]
cmp rdx, rcx
mov byte [rsi + rax + 0x36], r8b
lea r8, [rax + 4]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x14]
cmp rdx, r8
mov byte [rsi + rax + 0x37], cl
lea rcx, [rax + 5]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x15]
cmp rdx, rcx
mov byte [rsi + rax + 0x38], r8b
lea r8, [rax + 6]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x16]
cmp rdx, r8
mov byte [rsi + rax + 0x39], cl
lea rcx, [rax + 7]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x17]
cmp rdx, rcx
mov byte [rsi + rax + 0x3a], r8b
lea r8, [rax + 8]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x18]
cmp rdx, r8
mov byte [rsi + rax + 0x3b], cl
lea rcx, [rax + 9]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x19]
cmp rdx, rcx
mov byte [rsi + rax + 0x3c], r8b
lea r8, [rax + 0xa]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x1a]
cmp rdx, r8
mov byte [rsi + rax + 0x3d], cl
lea rcx, [rax + 0xb]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x1b]
cmp rdx, rcx
mov byte [rsi + rax + 0x3e], r8b
lea r8, [rax + 0xc]
jle 0x411dc0
movzx ecx, byte [rax + rbx + 0x1c]
cmp rdx, r8
mov byte [rsi + rax + 0x3f], cl
lea rcx, [rax + 0xd]
jle 0x411dc0
movzx r8d, byte [rax + rbx + 0x1d]
mov byte [rsi + rax + 0x40], r8b
add rax, 0xe
cmp rdx, rcx
jle 0x411dc0
movzx edx, byte [rbx + rax + 0x10]
mov byte [rsi + rax + 0x33], dl
nop dword [rax + rax]
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x270]
mov rax, qword [rax + 0x10]
mov rdx, qword [rdi]
add rdx, rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rdx
xor edx, edx
call fcn.0040caf0
nop dword [rax]
cmp byte [0x0053b178], 0
jne 0x411e08
xor ecx, ecx
call qword [0x0053b170]
mov byte [0x0053b178], 1
call fcn.00407760
cmp qword [0x0053b120], 0
lea rdi, [rax + 0x10]
mov qword [rsp + 0x78], rax
mov qword [rax + 8], 1
mov qword [rsp + 0x68], rdi
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
je 0x41207a
mov rcx, qword [0x0053b118]
test rcx, rcx
je 0x4120b0
mov rdx, qword [rsp + 0x68]
mov r8d, 1
call fcn.0040f350
mov rsi, qword [rsp + 0x78]
mov eax, 0x200c
mov edx, 1
mov ecx, 0xc
lea r8, [rsp + 0xa8]
mov word [rsi + 0x10], ax
mov esi, dword [rsp + 0x288]
mov dword [rsp + 0xac], 0
mov dword [rsp + 0xa8], esi
call qword [0x0053b110]
mov qword [rsp + 0x40], 0
mov rcx, rax
mov rax, qword [rsp + 0x68]
test rcx, rcx
mov qword [rax + 8], rcx
lea rax, [rsp + 0xa4]
mov qword [rsp + 0x70], rax
jne 0x411f59
call fcn.00407fe0
lea rdx, str.VariantConversionError
mov ecx, 0x200c
mov qword [rsp + 0x40], rax
lea rsi, [0x0053b090]
mov qword [rax + 0x10], rdx
mov edx, 1
mov qword [rax], rsi
call fcn.00408370
lea rcx, [0x005338e0]
mov rdx, rax
call fcn.00404b80
mov rsi, qword [rsp + 0x40]
lea r9, str.com.avs
lea r8, str.toVariant
lea rdx, str.VariantConversionError
mov qword [rsi + 0x18], rax
mov rcx, rsi
mov qword [rsi + 8], 0
mov qword [rsp + 0x20], 0x1e5
call fcn.0040a550
nop word [rax + rax]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0xa4], eax
mov r8, qword [rbx + rax*8]
call qword [0x0053b088]
add qword [rsp + 0x40], 1
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x288], rax
jne 0x411f50
mov rsi, qword [rsp + 0x68]
xor r9d, r9d
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsi + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp + 0x268]
mov qword [rsp + 0x110], rax
mov rax, qword [rsi + 8]
mov rsi, qword [rsp + 0x260]
mov r8, qword [rdx]
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x118], rax
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdx
mov r10, qword [rsi]
mov qword [rsp + 0x100], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0xf0], r8
mov r8d, dword [rsp + 0x278]
mov qword [rsp + 0xf8], rcx
mov rcx, rsi
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [r10 + 0x1c8]
jmp 0x411977
add rdx, 1
xor eax, eax
nop
mov rbx, qword [rsp + 0x270]
movzx r8d, byte [rbx + rax + 0x10]
mov byte [rcx + rax], r8b
add rax, 1
cmp rax, rdx
jne 0x412050
jmp 0x411dc0
mov eax, 0x23
jmp 0x411dd4
call fcn.0040d200
mov qword [0x0053b120], rax
jmp 0x411e49
call fcn.0040d200
mov rcx, rax
mov qword [0x0053b118], rax
jmp 0x411a1e
call fcn.0040d200
mov qword [0x0053b120], rax
jmp 0x411a0e
call fcn.0040d200
mov rcx, rax
mov qword [0x0053b118], rax
jmp 0x411e59
call fcn.0040a510
nop
nop word [rax + rax]