Function at 0x1400bfac0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x6f0]
sub rsp, 0x7f0
mov rax, qword [0x14016f6f0]
mov r15d, r9d
mov rdi, rcx
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x1400bfb0e
mov rcx, rax
call fcn.140023100
xor r14d, r14d
cmp byte [rdi + 2], 1
mov eax, r14d
cmova rax, qword [0x14016f6f8]
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x1400bfb34
mov rcx, rax
call fcn.140023100
cmp byte [rdi + 2], 2
mov rax, r14
cmova rax, qword [0x14016f700]
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x1400bfb57
mov rcx, rax
call fcn.140023100
mov rax, qword [0x140169c00]
xor r12d, r12d
mov esi, r14d
movzx edi, word [rax + 0x130]
mov dword [rbp + 0x20], r14d
mov qword [rbp + 0x80], r12
and edi, 3
cmp edi, 2
je 0x1400bfbe3
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x1400bfbe3
mov rcx, rax
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x1400bfbe3
mov rcx, rbx
test edi, edi
jne 0x1400bfbc0
lea rdx, [rbp + 0xc0]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x1400bfbe3
add esi, dword [rbp + 0xc0]
add r12d, dword [rbp + 0xc4]
jmp 0x1400bfbd9
lea rdx, [rbp + 0x18]
mov qword [rbp + 0x18], r14
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x1400bfbe3
add esi, dword [rbp + 0x18]
add r12d, dword [rbp + 0x1c]
mov qword [rbp + 0x80], r12
mov dword [rbp + 0x20], esi
mov rbx, qword [rbp + 0x758]
mov eax, r14d
mov edx, r14d
or ecx, 0xffffffff
xor r10b, r10b
xor r9b, r9b
xor r13b, r13b
mov rsi, rbx
mov byte [rsp + 0x74], r14b
mov byte [rsp + 0x61], r10b
mov dword [rsp + 0x6c], r14d
mov dword [rbp - 0x60], 0xffffffff
mov dword [rbp - 0x14], edx
mov dword [rbp - 0x40], edx
mov dword [rbp - 0x7c], r14d
mov dword [rbp - 0x74], r14d
mov qword [rbp - 0x20], r14
mov qword [rbp + 0x48], r14
mov byte [rsp + 0x60], r9b
mov byte [rbp - 0x80], 1
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x78], 3
mov qword [rbp + 0x60], r14
mov qword [rbp + 0xb8], r14
mov dword [rbp - 0x34], 3
mov byte [rbp - 0x70], dl
mov byte [rsp + 0x62], dl
mov byte [rsp + 0x69], dl
mov byte [rsp + 0x72], dl
mov dword [rbp - 0x2c], r14d
mov qword [rbp + 0x38], r14
xor r12b, r12b
mov dword [rbp + 0x54], r14d
mov dword [rbp + 0x40], r14d
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x58], r14d
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x5c], r14d
mov dword [rbp - 0x3c], r14d
mov byte [rbp - 0x50], al
mov byte [rbp - 0x7e], al
mov byte [rbp - 0x7f], al
mov dword [rbp - 0x30], r14d
mov dword [rbp - 0x18], r14d
mov byte [rsp + 0x71], al
mov byte [rsp + 0x73], 1
mov r8, r14
mov qword [rbp + 0x28], r14
mov byte [rsp + 0x70], al
mov byte [rsp + 0x68], al
movzx eax, word [rsi]
cmp ax, 0x20
je 0x1400bfcc1
cmp ax, 9
jne 0x1400bfcc7
add rsi, 2
jmp 0x1400bfcb2
cmp word [rsi], 0x2a
mov r14d, dword [rbp + 0x750]
mov edi, 8
jne 0x1400c09c2
nop dword [rax]
movzx ecx, word [rsi + 2]
add rsi, 2
lea rbx, [0x140000000]
call fcn.14010a054
add eax, 0xffffffba
cmp eax, 0x11
ja case.0x1400bfd0c.71
cdqe
mov ecx, dword [rbx + rax*4 + 0xc2918]
add rcx, rbx
jmp rcx
lea rcx, [0x140150648]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bfd3d
add rsi, 0x14
mov byte [rsp + 0x70], 1
jmp 0x1400c08b7
lea rcx, [0x140150670]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bfd71
add rsi, 0x14
mov byte [rsp + 0x70], 1
mov byte [rsp + 0x68], 1
jmp 0x1400c08b7
lea rdx, [0x140150888]
mov r8d, 3
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
movzx eax, word [rsi + 6]
add rsi, 6
mov byte [rbp - 0x50], 1
cmp ax, 0x57
jne 0x1400bfdab
cmp word [rsi + 2], 0x48
je 0x1400c08af
cmp ax, 0x48
jne 0x1400bfdbc
cmp word [rsi + 2], 0x57
je 0x1400c08af
cmp ax, 0x57
je 0x1400c08b3
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
cmp ax, 0x48
jne 0x1400bfde1
mov byte [rbp - 0x7f], 1
jmp 0x1400c08c3
mov r13b, 1
jmp 0x1400c08c3
lea rcx, [0x1401505a0]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bfe1e
mov r9b, 1
add rsi, 0x14
mov byte [rbp - 0x80], al
mov byte [rsp + 0x60], r9b
jmp 0x1400c08bd
lea rcx, [0x1401505c8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
movzx r10d, byte [rsp + 0x61]
test eax, eax
jne 0x1400c08a7
mov r9b, 1
add rsi, 8
mov byte [rsp + 0x60], r9b
jmp 0x1400c08c3
lea rcx, [0x140150890]
call fcn.1400dd2e0
mov r8d, 7
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
add rsi, 0xe
cmp word [rsi], ax
je 0x1400bfe9c
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.1400cdb80
test al, al
jne 0x1400c08b7
mov r13b, 1
jmp 0x1400c08b7
lea rcx, [0x140133090]
call fcn.1400dd2e0
mov r8d, 3
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
test eax, eax
jne 0x1400c08c3
add rsi, 6
mov byte [rbp - 0x70], 1
jmp 0x1400c08c3
lea rdx, str.Result
mov r8d, 6
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
lea rcx, [0x1401506b8]
add rsi, 0xc
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bff30
mov dword [rbp - 0x34], 1
jmp 0x1400c08b7
lea rdx, str.CENTER
mov r8d, 6
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bff55
mov dword [rbp - 0x34], 2
jmp 0x1400c08b7
lea rdx, [0x1401506e8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0059
lea rdx, [0x1401506f0]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0059
lea rdx, [0x1401506f8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c004d
lea rdx, [0x140150700]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c004d
lea rdx, [0x140150708]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0041
lea rdx, [0x140150710]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0041
lea rdx, [0x140150718]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0035
lea rdx, [0x140150720]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400c0035
mov r13b, 1
jmp 0x1400c08b7
mov dword [rbp - 0x34], 6
jmp 0x1400c08b7
mov dword [rbp - 0x34], 5
jmp 0x1400c08b7
mov dword [rbp - 0x34], 4
jmp 0x1400c08b7
mov dword [rbp - 0x34], 3
jmp 0x1400c08b7
lea rcx, str._t9_4
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c01be
add rsi, 8
lea r8d, [rax + 2]
lea rdx, [0x1401506e8]
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c00b1
mov dword [rbp - 0x78], 1
jmp 0x1400c08b7
lea rdx, [0x1401506f0]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c00d6
mov dword [rbp - 0x78], 7
jmp 0x1400c08b7
lea rdx, [0x140150720]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c00fb
mov dword [rbp - 0x78], 5
jmp 0x1400c08b7
lea rdx, [0x140150708]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c0120
mov dword [rbp - 0x78], 2
jmp 0x1400c08b7
lea rdx, [0x140150710]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c0141
mov dword [rbp - 0x78], edi
jmp 0x1400c08b7
lea rdx, [0x1401506f8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c0164
xor eax, eax
mov dword [rbp - 0x78], eax
jmp 0x1400c08b7
lea rdx, [0x140150700]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c0189
mov dword [rbp - 0x78], 6
jmp 0x1400c08b7
lea rdx, [0x140150718]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
test eax, eax
jne 0x1400bfde1
mov dword [rbp - 0x78], 3
jmp 0x1400c08c3
lea rdx, str.Select
mov r8d, 6
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
add rsi, 0xc
mov rdi, rsi
je 0x1400c035f
movzx edx, word [rsi]
test dx, dx
je 0x1400c0223
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c0291
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c0200
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400c01f0
xor ebx, ebx
mov edi, ebx
cmp rsi, rdi
je 0x1400c035f
lea rcx, [rbp + 0x140]
mov r8d, 0xc7
mov rdx, rsi
call fcn.14010a074
movzx edx, word [rbp + 0x140]
mov word [rbp + 0x2ce], bx
lea rdi, [rbp + 0x140]
test dx, dx
je 0x1400c0298
nop
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c0295
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c0270
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400c0260
jmp 0x1400c0298
xor ebx, ebx
jmp 0x1400c0227
mov word [rdi], bx
lea rcx, [rbp + 0x140]
nop
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400c02af
cmp ax, 9
jne 0x1400c02b5
add rcx, 2
jmp 0x1400c02a0
movzx eax, word [rcx]
test ax, ax
je 0x1400c0304
cmp ax, 0x2d
je 0x1400c02c9
cmp ax, 0x2b
jne 0x1400c02cd
add rcx, 2
cmp word [rcx], 0x30
jne 0x1400c0304
movzx eax, word [rcx + 2]
cmp ax, 0x78
je 0x1400c02e3
cmp ax, 0x58
jne 0x1400c0304
movzx ecx, word [rcx + 4]
call fcn.140109c84
test eax, eax
je 0x1400c0304
xor edx, edx
lea rcx, [rbp + 0x140]
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
jmp 0x1400c0310
lea rcx, [rbp + 0x140]
call fcn.140109998
movzx edx, word [rbp + 0x140]
test eax, eax
lea rdi, [rbp + 0x140]
cmovs eax, ebx
mov qword [rbp - 0x48], rax
test dx, dx
je 0x1400c035f
nop dword [rax]
lea rcx, [0x14012fb88]
mov eax, 0x3a
nop dword [rax]
cmp dx, ax
je 0x1400c0369
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c0340
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400c0330
mov edi, 8
jmp 0x1400c08b7
cmp word [rdi + 2], 0
lea rdx, [rdi + 2]
je 0x1400c0385
lea rcx, [rbp - 0x3c]
call fcn.1400cdb80
mov edi, dword [rbp - 0x3c]
mov dword [rbp - 0x5c], edi
jmp 0x1400c0388
mov edi, dword [rbp - 0x5c]
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
test edi, edi
mov edi, 8
jns 0x1400c08c3
mov dword [rbp - 0x5c], ebx
mov dword [rbp - 0x3c], ebx
jmp 0x1400c08c3
lea rcx, [0x140150748]
call fcn.1400dd2e0
mov r8, rdi
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c03f3
add rsi, 0x10
cmp word [rsi], ax
je 0x1400bfe9c
lea rcx, [rbp - 0x38]
mov rdx, rsi
call fcn.1400cdf50
test al, al
jne 0x1400c08b7
mov r13b, 1
jmp 0x1400c08b7
lea rcx, [0x140150538]
call fcn.1400dd2e0
mov r8d, 5
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c0427
add rsi, 0xa
cmp word [rsi], ax
je 0x1400bfe9c
lea rcx, [rbp - 0x60]
jmp 0x1400c03db
lea rcx, [0x140150770]
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
lea rcx, [0x1401505a0]
add rsi, 0xc
mov byte [rsp + 0x71], 1
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c0482
add rsi, 0x14
mov bl, 1
mov byte [rsp + 0x73], al
jmp 0x1400c04df
lea rcx, [0x1401505c8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c04af
mov bl, 1
add rsi, 8
mov byte [rsp + 0x73], bl
jmp 0x1400c04df
lea rcx, [0x1401505e8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bfe9c
add rsi, 8
mov byte [rsp + 0x73], 1
xor bl, bl
test r13b, r13b
jne 0x1400c08b7
cmp qword [rbp + 0x28], 0
jne 0x1400c08b7
lea rcx, [rbp + 0x2d0]
mov r8d, 0x207
mov rdx, rsi
call fcn.14010a074
movzx edx, word [rbp + 0x2d0]
xor r8d, r8d
mov word [rbp + 0x6de], r8w
lea rdi, [rbp + 0x2d0]
test dx, dx
je 0x1400c0565
nop word [rax + rax]
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c0561
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c0540
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400c0530
jmp 0x1400c0565
mov word [rdi], r8w
lea rcx, [rbp + 0x2d0]
test bl, bl
je 0x1400c05fa
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400c0583
cmp ax, 9
jne 0x1400c0589
add rcx, 2
jmp 0x1400c0574
movzx eax, word [rcx]
test ax, ax
je 0x1400c05e2
cmp ax, 0x2d
je 0x1400c059d
cmp ax, 0x2b
jne 0x1400c05a1
add rcx, 2
cmp word [rcx], 0x30
jne 0x1400c05e2
movzx eax, word [rcx + 2]
cmp ax, 0x78
je 0x1400c05b7
cmp ax, 0x58
jne 0x1400c05e2
movzx ecx, word [rcx + 4]
call fcn.140109c84
test eax, eax
je 0x1400c05e2
xor edx, edx
lea rcx, [rbp + 0x2d0]
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
mov r8, rax
mov qword [rbp + 0x28], rax
jmp 0x1400c0688
lea rcx, [rbp + 0x2d0]
call fcn.140109998
mov r8, rax
mov qword [rbp + 0x28], rax
jmp 0x1400c0688
mov r8d, 0x207
mov rdx, rsi
call fcn.14010a074
xor ebx, ebx
cmp word [rbp + 0x2d0], 0x3c
mov word [rbp + 0x6de], bx
jne 0x1400c0691
lea rdx, [0x14012cadc]
lea rcx, [rbp + 0x2d2]
call fcn.14000b9d0
test rax, rax
je 0x1400c0691
mov word [rax], bx
lea rcx, [rbp + 0x2d0]
mov qword [rsp + 0x30], rbx
sub rax, rcx
lea r9, [rbp + 0x758]
lea rcx, [rbp + 0x2d2]
sar rax, 1
xor r8d, r8d
xor edx, edx
mov byte [rsp + 0x28], bl
mov dword [rsp + 0x20], ebx
lea rsi, [rsi + rax*2 + 2]
call fcn.1400e7a80
cmp dword [rbp + 0x758], 1
movzx r13d, r13b
mov r8, rax
mov qword [rbp + 0x28], rax
mov eax, 1
cmove r13d, eax
test r8, r8
jne 0x1400c035f
mov r13b, 1
mov edi, 8
jmp 0x1400c08b7
lea rcx, [0x1401508c0]
call fcn.1400dd2e0
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
movzx r9d, byte [rsp + 0x60]
test eax, eax
jne 0x1400c08bd
mov r10b, 1
add rsi, 0x18
mov byte [rsp + 0x61], r10b
jmp 0x1400c08c3
lea rcx, str._f_63_
call fcn.1400dd2e0
mov r8d, 5
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
add rsi, 0xa
movzx eax, word [rsi]
cmp ax, 0x57
jne 0x1400c071c
mov byte [rsp + 0x69], 1
mov byte [rsp + 0x62], 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x48
jne 0x1400c0732
mov byte [rsp + 0x72], 1
mov byte [rsp + 0x62], 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x4c
jne 0x1400c0748
mov dword [rbp + 0x54], 1
mov r12b, 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x54
jne 0x1400c075e
mov dword [rbp + 0x40], 1
mov r12b, 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x52
jne 0x1400c0774
mov dword [rbp + 0x50], 1
mov r12b, 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x42
jne 0x1400c078d
mov dword [rbp + 0x58], 1
mov r12b, 1
add rsi, 2
jmp 0x1400c0703
cmp ax, 0x20
je 0x1400c08b7
cmp ax, 9
je 0x1400c08b7
mov r13b, 1
add rsi, 2
jmp 0x1400c0703
lea rcx, [0x140150790]
call fcn.1400dd2e0
mov r8d, 2
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c08b7
add rsi, 4
test r15d, r15d
jle 0x1400c07e7
mov eax, dword [rbp + 0x738]
dec eax
xor ebx, ebx
jmp 0x1400c07eb
xor ebx, ebx
mov eax, ebx
add r15d, eax
test r14d, r14d
jle 0x1400c0803
mov eax, dword [rbp + 0x740]
dec eax
add r14d, eax
jmp 0x1400c08b7
mov eax, ebx
add r14d, ebx
jmp 0x1400c08b7
mov rax, rsi
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400c081f
cmp cx, 9
jne 0x1400c0825
add rax, 2
jmp 0x1400c0810
movzx ecx, word [rax]
test cx, cx
je 0x1400c0870
cmp cx, 0x2d
je 0x1400c0839
cmp cx, 0x2b
jne 0x1400c083d
add rax, 2
cmp word [rax], 0x30
jne 0x1400c0870
movzx ecx, word [rax + 2]
cmp cx, 0x78
je 0x1400c0853
cmp cx, 0x58
jne 0x1400c0870
movzx ecx, word [rax + 4]
call fcn.140109c84
test eax, eax
je 0x1400c0870
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x10]
call fcn.140109ef0
jmp 0x1400c0878
mov rcx, rsi
call fcn.14010998c
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
mov r8d, eax
test eax, eax
jns 0x1400c0893
xor eax, eax
mov dword [rsp + 0x6c], eax
jmp 0x1400c08c3
mov r11d, 0xff
cmp r8d, r11d
cmovg r8d, r11d
mov dword [rsp + 0x6c], r8d
jmp 0x1400c08c3
movzx r9d, byte [rsp + 0x60]
jmp 0x1400c08c3
mov byte [rbp - 0x7f], 1
mov byte [rbp - 0x7e], 1
movzx r9d, byte [rsp + 0x60]
movzx r10d, byte [rsp + 0x61]
test rsi, rsi
je 0x1400c0903
movzx edx, word [rsi]
test dx, dx
je 0x1400c0903
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c0984
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c08e0
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x1400c08d0
mov rsi, qword [rbp + 0x48]
movzx edi, byte [rsp + 0x60]
cmp byte [rsp + 0x73], 0
je 0x1400c0925
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1400c0925
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test dil, dil
je 0x1400c0930
cmp byte [rbp - 0x80], 0
je 0x1400c0939
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [0x140169c00]
test byte [rax + 0x140], 1
jne 0x1400c28f1
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400c2642
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14012ee14]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
mov r14d, eax
jmp 0x1400c211c
lea rbx, [rsi + 2]
mov rsi, rbx
nop dword [rax + rax]
movzx eax, word [rsi]
cmp ax, 0x20
je 0x1400c099f
cmp ax, 9
jne 0x1400c09a5
add rsi, 2
jmp 0x1400c0990
cmp word [rsi], 0x2a
je 0x1400bfce0
cmp byte [rsp + 0x71], 0
mov eax, dword [rbp - 0x40]
mov ecx, dword [rbp - 0x38]
mov dword [rbp - 0x14], eax
mov dword [rbp - 0x28], ecx
jne 0x1400c09de
mov eax, dword [rbp + 0x20]
mov rcx, qword [rbp + 0x80]
add dword [rbp + 0x738], eax
add dword [rbp + 0x740], ecx
add r15d, eax
add r14d, ecx
xor edx, edx
cmp dword [rbp - 0x60], 0xffffffff
mov edi, edx
mov dword [rbp + 0x758], edx
jne 0x1400c09fc
or ecx, 0xffffffff
mov dword [rbp - 0x28], ecx
xor cl, cl
mov byte [rsp + 0x62], cl
jmp 0x1400c0a01
movzx ecx, byte [rsp + 0x62]
test r10b, r10b
jne 0x1400c0a13
mov rax, qword [rbp - 0x48]
dec eax
cmovs eax, edx
mov qword [rbp - 0x48], rax
test cl, cl
movzx eax, r12b
mov r12, rdx
cmove eax, r12d
mov rcx, rbx
mov dword [rbp + 0x98], eax
test r9b, r9b
je 0x1400c0a4e
call fcn.140013c70
mov rcx, rbx
test al, al
je 0x1400c0a47
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
jmp 0x1400c0a71
call fcn.140109998
jmp 0x1400c0a71
mov qword [rsp + 0x30], r12
mov byte [rsp + 0x28], dl
lea r9, [rbp + 0x758]
xor r8d, r8d
mov dword [rsp + 0x20], r12d
call fcn.1400e7a80
mov edi, dword [rbp + 0x758]
mov rsi, rax
mov qword [rbp + 0x48], rax
test rax, rax
je 0x1400c0907
cmp edi, 1
je 0x1400c0907
test r13b, r13b
jne 0x1400c0907
xor ecx, ecx
cmp byte [rsp + 0x71], r12b
je 0x1400c0aa4
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
jmp 0x1400c0aaa
call qword [sym.imp.USER32.dll_GetDC]
mov rdi, rax
mov qword [rbp + 0x18], rax
test rax, rax
jne 0x1400c0adb
movzx edi, byte [rsp + 0x60]
test dil, dil
je 0x1400c0aca
cmp byte [rbp - 0x80], r12b
je 0x1400c090c
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rsi, r12
jmp 0x1400c090c
xor eax, eax
xor bl, bl
mov rcx, rdi
movaps xmmword [rsp + 0x7e0], xmm6
mov qword [rbp + 0x88], r12
mov qword [rbp - 8], r12
mov r13d, eax
mov qword [rbp + 0xa8], rax
mov byte [rbp + 0x730], bl
mov qword [rbp + 8], r12
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
movsd xmm6, qword [0x140153038]
test rax, rax
jne 0x1400c0b3e
mov r15d, dword [rsp + 0x78]
mov r14d, dword [rbp + 0x730]
mov edi, dword [rsp + 0x64]
mov rsi, rax
mov eax, dword [rbp + 0x730]
mov qword [rbp - 0x48], rax
jmp 0x1400c20da
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x758]
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x10]
mov rcx, rsi
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov rsi, rax
mov qword [rbp + 0x10], rax
test rax, rax
je 0x1400c0da2
cmp byte [rsp + 0x71], r12b
jne 0x1400c0d61
sub r14d, dword [rbp + 0x740]
sub r15d, dword [rbp + 0x738]
mov rcx, rdi
inc r14d
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x1400c0c31
mov rcx, qword [rbp + 0x18]
lea edx, [r15 + 1]
mov r8d, r14d
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r12, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x1400c0c31
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp + 0xa8], rax
test rax, rax
je 0x1400c0c31
mov eax, dword [rbp + 0x740]
mov dword [rsp + 0x40], 0xcc0020
lea r9d, [r15 + 1]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x738]
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x18]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x1400c0c31
mov rcx, rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400c0d26
mov eax, dword [rbp + 0x730]
mov edi, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x78]
mov r14d, dword [rbp + 0x730]
mov qword [rbp - 0x48], rax
mov rdx, qword [rbp + 0x18]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rsp + 0x73], 0
je 0x1400c0c70
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1400c0c70
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
cmp byte [rsp + 0x60], 0
je 0x1400c0c7d
cmp byte [rbp - 0x80], 0
je 0x1400c0c87
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.GDI32.dll_DeleteObject]
test r12, r12
je 0x1400c0c95
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rbp + 0x88]
test r12, r12
je 0x1400c0cc2
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x1400c0cb9
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1400c0cd3
mov rcx, rax
call fcn.140108f48
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400c0ce4
mov rcx, rax
call fcn.140108f48
mov rax, qword [rbp + 0xb8]
test rax, rax
je 0x1400c0cf8
mov rcx, rax
call fcn.140108f48
test rsi, rsi
je 0x1400c0d05
mov rcx, rsi
call fcn.140108f48
test r13, r13
je 0x1400c0d12
mov rcx, r13
call fcn.140108f48
cmp dword [rbp - 0x14], 0
jne 0x1400c20f4
mov edx, 3
jmp 0x1400c2100
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x758]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x78]
mov rcx, r12
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov r13, rax
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x1400c0ea5
jmp 0x1400c0c31
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x1400c0da2
cmp dword [rbp + 0x738], r12d
jne 0x1400c0dca
cmp dword [rbp + 0x740], r12d
jne 0x1400c0dca
test r15d, r15d
jne 0x1400c0dca
test r14d, r14d
jne 0x1400c0dca
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400c0dc1
mov eax, dword [rbp + 0x730]
mov edi, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x78]
mov r14d, dword [rbp + 0x730]
mov qword [rbp - 0x48], rax
jmp 0x1400c20da
mov rcx, qword [rbp + 0x28]
jmp 0x1400c0e72
mov rcx, qword [rbp + 0x28]
lea r8, [rbp + 0x120]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x1400c0da2
test r15d, r15d
jne 0x1400c0e02
test r14d, r14d
jne 0x1400c0e02
mov r15d, dword [rbp + 0x124]
mov r14d, dword [rbp + 0x128]
dec r15d
dec r14d
mov eax, dword [rbp + 0x740]
mov ecx, dword [rbp + 0x738]
mov rdx, qword [rbp + 0x28]
mov dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
sub r15d, ecx
mov dword [rsp + 0x38], r12d
sub r14d, eax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r9d, [r14 + 1]
lea r8d, [r15 + 1]
lea rcx, [rbp + 8]
call fcn.1400d14b0
test al, al
je 0x1400c20bf
mov rcx, rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r12, qword [rbp + 8]
test rax, rax
je 0x1400c0da2
mov qword [rbp - 8], r12
mov rcx, r12
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x758]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov r13, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1400c0da2
mov r12d, dword [rsp + 0x78]
mov r10d, dword [rsp + 0x64]
mov r8d, dword [rbp - 0x10]
mov ecx, dword [rbp + 0x30]
mov r9d, dword [rbp - 0x14]
mov edi, r12d
imul edi, r10d
mov ebx, r8d
mov dword [rsp + 0x7c], r12d
mov dword [rbp - 0x40], r10d
mov dword [rbp - 0x24], edi
imul ebx, ecx
test r9d, r9d
jne 0x1400c0f12
mov eax, ecx
cdq
idiv r8d
mov r9d, eax
mov dword [rbp - 0x14], eax
test edx, edx
je 0x1400c0f0e
xor eax, eax
mov dword [rbp - 0x14], eax
mov eax, dword [rbp + 0x730]
mov r14d, dword [rbp + 0x730]
mov r15d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x64]
mov qword [rbp - 0x48], rax
xor bl, bl
jmp 0x1400c20d6
test eax, eax
je 0x1400c0eed
mov eax, ecx
mov r11d, r8d
mov dword [rbp - 0x7c], r8d
cdq
idiv r9d
imul r11d, eax
mov r14d, eax
mov dword [rbp - 0x74], eax
mov ecx, r11d
mov dword [rbp + 0x5c], r11d
imul ecx, r9d
cmp ebx, ecx
jne 0x1400c0ee8
mov rcx, qword [rbp - 0x48]
cmp ecx, r9d
jge 0x1400c0eed
mov eax, dword [rbp - 0x5c]
test eax, eax
jne 0x1400c0f4d
mov eax, r9d
sub eax, ecx
add eax, ecx
cmp eax, r9d
jg 0x1400c0eed
dec eax
cmp byte [rsp + 0x62], 0
mov dword [rbp + 0x68], eax
je 0x1400c0f89
lea esi, [r8 + 2]
lea eax, [r14 + 2]
imul esi, eax
movsxd rcx, esi
mov dword [rbp - 0x2c], esi
shl rcx, 2
call fcn.1401084ac
mov r10d, dword [rsp + 0x64]
mov r11d, dword [rbp + 0x5c]
mov qword [rbp + 0x38], rax
jmp 0x1400c0f8c
mov esi, dword [rbp - 0x2c]
mov dword [rbp + 0x30], r10d
mov dword [rbp - 0x38], r14d
mov r10d, r14d
xor r14d, r14d
movsxd r15, edi
mov dword [rbp + 0x78], r12d
mov dword [rbp - 0x54], r14d
mov dword [rbp - 0x58], r14d
mov dword [rbp - 0x3c], r14d
mov dword [rbp - 0x5c], r14d
mov byte [rbp + 0x758], r14b
mov byte [rbp - 0x6f], r14b
mov qword [rbp + 0xa0], r15
cmp byte [rsp + 0x70], r14b
je 0x1400c11ea
movzx r9d, byte [rsp + 0x68]
mov byte [rbp + 0x758], 1
mov edi, r14d
test r15, r15
jle 0x1400c1056
mov esi, dword [rsp + 0x6c]
nop word [rax + rax]
mov ecx, dword [r13 + rdi*4]
movzx eax, cx
shr ax, 8
movzx edx, al
mov eax, ecx
shr eax, 0x10
movzx eax, al
add edx, eax
movzx eax, cl
add edx, eax
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
test r9b, r9b
je 0x1400c103a
mov eax, 0xff
mov ecx, 0xffffff
sub eax, esi
cmp edx, eax
cmovb ecx, r14d
mov dword [r13 + rdi*4], ecx
jmp 0x1400c104b
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [r13 + rdi*4], eax
inc rdi
cmp rdi, r15
jl 0x1400c0ff0
mov esi, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x60]
xor edx, edx
mov byte [rbp - 0x6f], 1
movsxd r8, ebx
mov edi, edx
cmp eax, 0xffffffff
je 0x1400c10f9
test ebx, ebx
jle 0x1400c1176
mov esi, dword [rsp + 0x6c]
mov rbx, qword [rbp + 0x10]
mov r14d, r8d
xor r12d, r12d
mov edx, dword [rbx + rdi*4]
and edx, 0xffffff
cmp edx, eax
jne 0x1400c1095
mov dword [rbx + rdi*4], edx
jmp 0x1400c10ea
movzx eax, dx
shr ax, 8
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx eax, al
add ecx, eax
movzx eax, dl
add ecx, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
test r9b, r9b
je 0x1400c10d8
mov eax, 0xff
mov ecx, 0xffffff
sub eax, esi
cmp edx, eax
cmovb ecx, r12d
mov dword [rbx + rdi*4], ecx
jmp 0x1400c10e7
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [rbx + rdi*4], eax
mov eax, dword [rbp - 0x60]
inc rdi
cmp rdi, r8
jl 0x1400c1083
mov r12d, dword [rsp + 0x78]
jmp 0x1400c1171
test ebx, ebx
jle 0x1400c1176
mov esi, dword [rsp + 0x6c]
mov rbx, qword [rbp + 0x10]
mov r14d, r8d
xor r11d, r11d
nop dword [rax + rax]
mov ecx, dword [rbx + rdi*4]
movzx eax, cx
shr ax, 8
movzx edx, al
mov eax, ecx
shr eax, 0x10
movzx eax, al
add edx, eax
movzx eax, cl
add edx, eax
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
test r9b, r9b
je 0x1400c1156
mov eax, 0xff
mov ecx, 0xffffff
sub eax, esi
cmp edx, eax
cmovb ecx, r11d
mov dword [rbx + rdi*4], ecx
jmp 0x1400c1165
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [rbx + rdi*4], eax
inc rdi
cmp rdi, r8
jl 0x1400c1110
mov r11d, dword [rbp + 0x5c]
mov esi, dword [rbp - 0x2c]
xor edx, edx
mov eax, dword [rbp - 0x28]
mov ebx, dword [rsp + 0x6c]
cmp eax, 0xffffffff
je 0x1400c11c7
movzx ecx, ax
shr cx, 8
movzx edx, cl
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
add edx, ecx
movzx ecx, al
mov eax, 0x55555556
add edx, ecx
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
test r9b, r9b
je 0x1400c11d6
mov eax, 0xff
mov ecx, 0xffffff
sub eax, ebx
cmp edx, eax
mov edx, 0
cmovb ecx, edx
mov dword [rbp - 0x28], ecx
mov edi, dword [rbp - 0x24]
test r9b, r9b
cmovne ebx, edx
mov dword [rsp + 0x6c], ebx
jmp 0x1400c11f5
mov edi, dword [rbp - 0x24]
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [rbp - 0x28], eax
jmp 0x1400c11f5
mov r14d, dword [rbp + 0x730]
mov ebx, dword [rsp + 0x6c]
cmp dword [rbp - 0x78], 3
je 0x1400c1322
cmp byte [rsp + 0x62], 0
mov eax, r11d
cmovne eax, esi
movsxd rcx, eax
shl rcx, 2
call fcn.1401084ac
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1400c1308
lea rcx, [r15*4]
call fcn.1401084ac
mov r8, rax
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x1400c1308
xor eax, eax
mov r14d, eax
cmp byte [rbp + 0x758], al
jne 0x1400c1286
test r15, r15
jle 0x1400c12b2
mov rdi, r13
mov rcx, r8
mov rdx, r15
sub rdi, r8
mov r14d, r15d
nop word [rax + rax]
mov eax, dword [rdi + rcx]
add rcx, 4
and eax, 0xffffff
dec rdx
mov dword [rcx - 4], eax
jne 0x1400c1270
jmp 0x1400c12af
test r15, r15
jle 0x1400c12b2
mov rdi, r13
mov rcx, r8
mov rdx, r15
sub rdi, r8
mov r14d, r15d
nop word [rax + rax]
mov eax, dword [rcx + rdi]
add rcx, 4
dec rdx
mov dword [rcx - 4], eax
jne 0x1400c12a0
mov edi, dword [rbp - 0x24]
mov qword [rbp + 0xc8], r13
mov r13d, dword [rbp - 0x78]
mov dword [rbp + 0xd0], edi
mov edi, dword [rsp + 0x64]
lea rdx, [rbp + 0xc0]
mov ecx, r13d
mov byte [rbp + 0x758], 1
mov qword [rbp + 0xc0], r8
mov dword [rbp + 0xd4], r12d
mov dword [rbp + 0xd8], edi
call fcn.1400bf7b0
mov r10d, dword [rbp - 0x38]
cmp r13d, 4
jle 0x1400c1322
mov r15d, edi
mov dword [rsp + 0x7c], edi
mov dword [rbp - 0x40], r12d
jmp 0x1400c1327
mov eax, dword [rbp + 0x730]
mov r15d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x64]
mov qword [rbp - 0x48], rax
xor bl, bl
jmp 0x1400c20d2
mov r15d, dword [rsp + 0x78]
movsxd rdx, dword [rbp - 0x10]
movsxd rax, esi
movsxd r12, ebx
mov qword [rbp + 0xe0], rax
movsxd rax, dword [rbp + 0x40]
mov r13, rdx
mov qword [rbp + 0xf0], rax
movsxd rax, dword [rbp + 0x58]
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x70], r12
cmp eax, dword [rbp + 0x68]
jg 0x1400c1d5e
jmp 0x1400c1377
mov edx, dword [rbp - 0x10]
mov r10d, dword [rbp - 0x38]
movsxd rcx, dword [rbp + 0x5c]
mov rdi, qword [rbp + 0x10]
mov r14d, edx
mov dword [rbp - 0x7c], edx
mov r15d, r10d
mov dword [rbp - 0x74], r10d
imul eax, ecx
cdqe
mov r8d, ecx
lea r9, [rdi + rax*4]
movzx edi, byte [rsp + 0x62]
mov qword [rbp - 0x20], r9
test dil, dil
je 0x1400c160b
cmp byte [rbp - 0x6f], 0
jne 0x1400c13cc
test rcx, rcx
jle 0x1400c13cc
lea rax, [r9 + 3]
nop dword [rax]
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400c13c0
mov edi, dword [rbp - 0x60]
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x3c]
lea r9, [rbp - 0x5c]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x54]
call fcn.1400bee00
mov r10d, dword [rbp - 0x10]
mov esi, dword [rbp - 0x38]
xor r9d, r9d
mov ebx, r9d
mov r11d, r9d
cmp byte [rsp + 0x69], bl
je 0x1400c1417
mov r11d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x3c]
add r10d, r11d
movzx edx, byte [rsp + 0x72]
test dl, dl
je 0x1400c1428
mov ebx, dword [rbp - 0x58]
mov esi, dword [rbp - 0x5c]
add esi, ebx
movsxd r15, r11d
movsxd r12, r10d
movsxd r14, esi
mov qword [rbp + 8], r15
cmp byte [rbp + 0x98], r9b
je 0x1400c156a
mov rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x38]
test rdx, rdx
jle 0x1400c145d
mov rax, rdi
mov rcx, rdx
mov rdi, r8
rep stosd dword [rdi], eax
mov r13d, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x3c]
mov ecx, dword [rbp + 0x54]
add r13d, dword [rbp + 0x58]
add r10d, dword [rbp + 0x50]
movsxd rax, ebx
add r13d, dword [rbp + 0x40]
add r10d, ecx
mov edi, r9d
lea esi, [r13 - 1]
mov dword [rbp], r13d
cmp rax, r14
jge 0x1400c153b
mov rbx, qword [rbp + 0x90]
mov r13, qword [rbp + 0xf0]
mov r11, rax
imul r11, rbx
sub r14, rax
nop word [rax + rax]
add edi, ecx
mov r9, r15
movsxd rax, edi
cmp r15, r12
jge 0x1400c1524
mov r15, qword [rbp + 0xc0]
mov rbx, qword [rbp - 0x20]
lea r8, [r8 + rax*4]
nop dword [rax]
test r13, r13
je 0x1400c14e7
mov eax, edi
cdq
idiv r10d
test eax, eax
jne 0x1400c14e7
inc edi
add r8, 4
jmp 0x1400c1508
test r15, r15
je 0x1400c14fe
mov eax, edi
cdq
idiv r10d
cmp eax, esi
jne 0x1400c14fe
inc edi
add r8, 4
jmp 0x1400c1508
lea rax, [r9 + r11]
mov ecx, dword [rbx + rax*4]
mov dword [r8], ecx
inc r9
inc edi
add r8, 4
cmp r9, r12
jl 0x1400c14d0
mov r15, qword [rbp + 8]
mov rbx, qword [rbp + 0x90]
mov ecx, dword [rbp + 0x54]
add edi, dword [rbp + 0x50]
mov r8, qword [rbp + 0x38]
add r11, rbx
dec r14
jne 0x1400c14b0
mov r13d, dword [rbp]
cmp byte [rsp + 0x69], 0
mov r14d, dword [rbp - 0x10]
mov r15d, dword [rbp - 0x38]
mov r9, qword [rbp + 0x38]
cmovne r14d, r10d
cmp byte [rsp + 0x72], 0
cmovne r15d, r13d
mov qword [rbp - 0x20], r9
mov dword [rbp - 0x7c], r14d
mov dword [rbp - 0x74], r15d
jmp 0x1400c15f7
movsxd rcx, ebx
mov rdi, r9
cmp rcx, r14
jge 0x1400c15c4
mov rdx, qword [rbp - 0x20]
mov rax, rcx
lea r9, [r13*4]
imul rax, r13
mov r13, qword [rbp + 0x38]
add rax, r15
lea r8, [rdx + rax*4]
sub r14, rcx
cmp r15, r12
jge 0x1400c15b7
mov rdx, r12
mov rcx, r8
sub rdx, r15
mov eax, dword [rcx]
inc rdi
add rcx, 4
dec rdx
mov dword [r13 + rdi*4 - 4], eax
jne 0x1400c15a4
add r8, r9
dec r14
jne 0x1400c1596
movzx edx, byte [rsp + 0x72]
cmp byte [rsp + 0x69], 0
mov r9, qword [rbp + 0x38]
mov qword [rbp - 0x20], r9
je 0x1400c15df
mov r14d, r10d
sub r14d, r11d
mov dword [rbp - 0x7c], r14d
jmp 0x1400c15e3
mov r14d, dword [rbp - 0x7c]
test dl, dl
je 0x1400c15f3
mov r15d, esi
sub r15d, ebx
mov dword [rbp - 0x74], r15d
jmp 0x1400c15f7
mov r15d, dword [rbp - 0x74]
movzx edi, byte [rsp + 0x62]
mov r12, qword [rbp + 0x70]
mov ebx, dword [rsp + 0x6c]
mov r8d, r15d
imul r8d, r14d
cmp byte [rbp - 0x50], 0
je 0x1400c165b
xor r10d, r10d
mov ecx, r10d
mov edx, r10d
mov dword [rbp - 0x18], edx
mov dword [rbp - 0x30], ecx
cmp byte [rbp - 0x7e], cl
je 0x1400c1635
mov eax, dword [rbp + 0x78]
cmp eax, r14d
jle 0x1400c1632
mov ecx, eax
sub ecx, r14d
mov dword [rbp - 0x30], ecx
cmp byte [rbp - 0x7f], dl
je 0x1400c164a
mov eax, dword [rbp + 0x30]
cmp eax, r15d
jle 0x1400c1647
mov edx, eax
sub edx, r15d
mov dword [rbp - 0x18], edx
cmp dword [rbp - 0x78], 4
jle 0x1400c165b
mov r13d, edx
mov dword [rbp - 0x30], edx
mov dword [rbp - 0x18], ecx
jmp 0x1400c165f
mov r13d, dword [rbp - 0x30]
cmp dword [rbp - 0x78], 3
movsxd rsi, r8d
mov qword [rbp + 8], rsi
jne 0x1400c16a4
cmp byte [rbp - 0x6f], 0
jne 0x1400c1757
test dil, dil
jne 0x1400c1757
test r8d, r8d
mov r8, qword [rbp - 0x20]
jle 0x1400c175b
lea rax, [r8 + 3]
mov rcx, rsi
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400c1693
jmp 0x1400c175b
test dil, dil
je 0x1400c16d1
test r8d, r8d
jle 0x1400c1704
mov rax, qword [rbp + 0x60]
mov rdi, r9
mov rdx, rsi
mov rcx, rax
sub rdi, rax
nop
mov eax, dword [rdi + rcx]
add rcx, 4
dec rdx
mov dword [rcx - 4], eax
jne 0x1400c16c0
jmp 0x1400c1704
test r8d, r8d
jle 0x1400c1704
mov rax, qword [rbp + 0x60]
mov rdi, r9
mov rdx, rsi
mov rcx, rax
sub rdi, rax
nop word [rax + rax]
mov eax, dword [rcx + rdi]
add rcx, 4
and eax, 0xffffff
dec rdx
mov dword [rcx - 4], eax
jne 0x1400c16f0
mov rax, qword [rbp + 0x60]
mov edi, dword [rbp - 0x78]
lea rdx, [rbp + 0x100]
mov ecx, edi
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], r9
mov dword [rbp + 0x110], r8d
mov dword [rbp + 0x114], r14d
mov dword [rbp + 0x118], r15d
call fcn.1400bf7b0
mov r8, qword [rbp - 0x20]
cmp edi, 4
jle 0x1400c175b
mov eax, r14d
mov dword [rbp - 0x7c], r15d
mov r14d, r15d
mov r15d, eax
mov dword [rbp - 0x74], eax
jmp 0x1400c175b
mov r8, qword [rbp - 0x20]
cmp r12, 1
jge 0x1400c18d5
cmp byte [rbp + 0x758], 0
mov rdi, qword [rbp + 0xa0]
mov r9, qword [rbp - 0x68]
jne 0x1400c179c
test rdi, rdi
jle 0x1400c179c
lea rax, [r9 + 3]
mov rcx, rdi
nop word [rax + rax]
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400c1790
xor eax, eax
mov ebx, eax
mov dword [rsp + 0x64], eax
mov r10d, eax
test rdi, rdi
jle 0x1400c1d36
mov r11d, dword [r8]
mov ecx, dword [r9 + r10*4]
mov r15d, dword [rbp - 0x60]
cmp ecx, r11d
je 0x1400c17e9
cmp r11d, r15d
jne 0x1400c18ba
mov r14d, dword [rbp - 0x28]
xor r8d, r8d
cmp r14d, 0xffffffff
je 0x1400c17f0
cmp ecx, r14d
mov eax, r8d
setne al
test eax, eax
je 0x1400c18ba
jmp 0x1400c17f0
mov r14d, dword [rbp - 0x28]
xor r8d, r8d
mov r12d, dword [rsp + 0x7c]
mov ecx, dword [rbp - 0x40]
mov eax, ebx
cdq
idiv r12d
sub ecx, eax
sub ecx, dword [rbp - 0x18]
cmp dword [rbp - 0x74], ecx
jg 0x1400c18ba
mov eax, r12d
mov r12d, dword [rbp - 0x7c]
sub eax, edx
sub eax, r13d
cmp r12d, eax
jg 0x1400c18ba
mov r13, qword [rbp - 0x68]
mov al, 1
mov edi, r8d
mov edx, ebx
mov byte [rbp + 0x730], al
test rsi, rsi
jle 0x1400c20a0
mov byte [rbp + 0x730], al
mov r9d, ebx
nop word [rax + rax]
movsxd rax, edx
mov ecx, dword [r13 + rax*4]
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + r8*4]
cmp ecx, eax
je 0x1400c187b
cmp eax, r15d
jne 0x1400c18a9
cmp r14d, 0xffffffff
je 0x1400c187b
xor eax, eax
cmp ecx, r14d
setne al
test eax, eax
je 0x1400c18a9
inc edi
cmp edi, r12d
jge 0x1400c1886
inc edx
jmp 0x1400c1892
xor eax, eax
add r9d, dword [rsp + 0x7c]
mov edx, r9d
mov edi, eax
inc r8
cmp r8, rsi
jl 0x1400c1850
mov r14d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x7c]
jmp 0x1400c1e01
mov rdi, qword [rbp + 0xa0]
mov byte [rbp + 0x730], 0
mov r9, r13
mov r13d, dword [rbp - 0x30]
inc ebx
inc r10
mov dword [rsp + 0x64], ebx
cmp r10, rdi
jl 0x1400c17b3
jmp 0x1400c1d32
mov edx, dword [rbp - 0x28]
cmp edx, 0xffffffff
jne 0x1400c1aa2
mov edi, dword [rbp - 0x24]
xor eax, eax
mov ebx, eax
mov dword [rsp + 0x64], eax
test edi, edi
jle 0x1400c1d36
mov ecx, dword [rsp + 0x7c]
mov r10d, dword [rbp - 0x40]
nop dword [rax]
mov eax, ebx
cdq
idiv ecx
mov ecx, r10d
sub ecx, eax
sub ecx, dword [rbp - 0x18]
cmp r15d, ecx
mov ecx, dword [rsp + 0x7c]
jg 0x1400c1a87
mov eax, ecx
sub eax, edx
sub eax, r13d
cmp r14d, eax
jg 0x1400c1a87
xor edx, edx
mov al, 1
mov r13d, ebx
mov byte [rbp + 0x730], al
mov r14d, edx
mov r12d, edx
test rsi, rsi
jle 0x1400c208f
mov r9, qword [rbp - 0x68]
mov byte [rbp + 0x730], al
mov r15d, ebx
nop word [rax + rax]
movsxd rax, r13d
movzx r11d, byte [r9 + rax*4 + 2]
movzx ebx, byte [r9 + rax*4 + 1]
movzx esi, byte [r9 + rax*4]
mov eax, dword [rbp - 0x60]
cmp dword [r8 + r12*4], eax
je 0x1400c1a32
movzx edi, byte [r8 + r12*4 + 2]
mov eax, dword [rsp + 0x6c]
cmp eax, edi
jle 0x1400c1994
xor r10b, r10b
jmp 0x1400c199b
movzx r10d, dil
sub r10b, al
movzx edx, byte [r8 + r12*4 + 1]
cmp eax, edx
jle 0x1400c19aa
xor r9b, r9b
jmp 0x1400c19b1
movzx r9d, dl
sub r9b, al
movzx ecx, byte [r8 + r12*4]
cmp eax, ecx
jle 0x1400c19bf
xor r8b, r8b
jmp 0x1400c19c6
movzx r8d, cl
sub r8b, al
mov eax, 0xff
sub eax, edi
cmp dword [rsp + 0x6c], eax
jle 0x1400c19d8
mov dil, 0xff
jmp 0x1400c19dd
add dil, byte [rsp + 0x6c]
mov eax, 0xff
sub eax, edx
cmp dword [rsp + 0x6c], eax
jle 0x1400c19ee
mov dl, 0xff
jmp 0x1400c19f2
add dl, byte [rsp + 0x6c]
mov eax, 0xff
sub eax, ecx
cmp dword [rsp + 0x6c], eax
jle 0x1400c1a03
mov cl, 0xff
jmp 0x1400c1a07
add cl, byte [rsp + 0x6c]
cmp r11b, r10b
jb 0x1400c1a65
cmp r11b, dil
ja 0x1400c1a65
cmp bl, r9b
jb 0x1400c1a65
cmp bl, dl
ja 0x1400c1a65
cmp sil, r8b
jb 0x1400c1a65
cmp sil, cl
ja 0x1400c1a65
mov ecx, dword [rsp + 0x7c]
mov r9, qword [rbp - 0x68]
mov r8, qword [rbp - 0x20]
xor edx, edx
inc r14d
cmp r14d, dword [rbp - 0x7c]
jge 0x1400c1a40
inc r13d
jmp 0x1400c1a49
add r15d, ecx
mov r14d, edx
mov r13d, r15d
inc r12
cmp r12, qword [rbp + 8]
jl 0x1400c1960
mov r14d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x7c]
jmp 0x1400c1dfd
mov ebx, dword [rsp + 0x64]
mov rsi, qword [rbp + 8]
mov ecx, dword [rsp + 0x7c]
mov edi, dword [rbp - 0x24]
mov r10d, dword [rbp - 0x40]
mov r14d, dword [rbp - 0x7c]
mov r15d, dword [rbp - 0x74]
mov byte [rbp + 0x730], 0
mov r8, qword [rbp - 0x20]
mov r13d, dword [rbp - 0x30]
inc ebx
mov dword [rsp + 0x64], ebx
cmp ebx, edi
jl 0x1400c1900
jmp 0x1400c1d32
mov eax, edx
movzx ecx, dx
shr eax, 0x10
shr cx, 8
movzx r9d, al
cmp ebx, r9d
jle 0x1400c1abe
mov byte [rsp + 0x70], 0
jmp 0x1400c1ac8
movzx eax, r9b
sub al, bl
mov byte [rsp + 0x70], al
movzx r8d, cl
cmp ebx, r8d
jle 0x1400c1ad8
mov byte [rsp + 0x74], 0
jmp 0x1400c1ae2
movzx eax, r8b
sub al, bl
mov byte [rsp + 0x74], al
movzx edi, dl
cmp ebx, edi
jle 0x1400c1aee
xor r10b, r10b
jmp 0x1400c1af5
movzx r10d, dil
sub r10b, bl
mov ecx, 0xff
mov byte [rsp + 0x68], r10b
mov eax, ecx
sub eax, r9d
cmp ebx, eax
jle 0x1400c1b0e
movzx r9d, cl
jmp 0x1400c1b11
add r9b, bl
mov eax, ecx
mov dword [rbp], r9d
sub eax, r8d
cmp ebx, eax
jle 0x1400c1b24
movzx r8d, cl
jmp 0x1400c1b27
add r8b, bl
mov eax, ecx
mov dword [rsp + 0x78], r8d
sub eax, edi
cmp ebx, eax
jle 0x1400c1b39
movzx edi, cl
jmp 0x1400c1b3c
add dil, bl
xor r11d, r11d
mov dword [rbp - 0x2c], edi
mov ebx, r11d
mov dword [rsp + 0x64], ebx
cmp dword [rbp - 0x24], ebx
jle 0x1400c1d36
mov ecx, dword [rsp + 0x7c]
mov eax, ebx
cdq
idiv ecx
mov ecx, dword [rbp - 0x40]
sub ecx, eax
sub ecx, dword [rbp - 0x18]
cmp r15d, ecx
mov ecx, dword [rsp + 0x7c]
jg 0x1400c1d13
mov eax, ecx
sub eax, edx
sub eax, r13d
cmp r14d, eax
jg 0x1400c1d13
mov al, 1
mov r14d, r11d
mov r12, r11
mov r13d, ebx
mov byte [rbp + 0x730], al
test rsi, rsi
jle 0x1400c208f
mov rdx, qword [rbp - 0x68]
mov byte [rbp + 0x730], al
mov r15d, ebx
nop word [rax + rax]
mov r10, qword [rbp - 0x20]
movsxd rax, r13d
movzx r11d, byte [rdx + rax*4 + 2]
movzx ebx, byte [rdx + rax*4 + 1]
movzx esi, byte [rdx + rax*4]
mov eax, dword [rbp - 0x60]
cmp dword [r10 + r12*4], eax
movzx r10d, byte [rsp + 0x68]
jne 0x1400c1c0e
cmp r11b, byte [rsp + 0x70]
jb 0x1400c1cbe
cmp r11b, r9b
ja 0x1400c1cbe
cmp bl, byte [rsp + 0x74]
jb 0x1400c1cbe
cmp bl, r8b
ja 0x1400c1cbe
cmp sil, r10b
jb 0x1400c1cbe
cmp sil, dil
ja 0x1400c1cbe
mov rcx, qword [rbp - 0x20]
mov eax, dword [rsp + 0x6c]
movzx r8d, byte [rcx + r12*4 + 2]
cmp eax, r8d
jle 0x1400c1c26
xor r10b, r10b
jmp 0x1400c1c2d
movzx r10d, r8b
sub r10b, al
movzx edx, byte [rcx + r12*4 + 1]
cmp eax, edx
jle 0x1400c1c3c
xor r9b, r9b
jmp 0x1400c1c43
movzx r9d, dl
sub r9b, al
movzx ecx, byte [rcx + r12*4]
cmp eax, ecx
jle 0x1400c1c51
xor dil, dil
jmp 0x1400c1c57
movzx edi, cl
sub dil, al
mov eax, 0xff
sub eax, r8d
cmp dword [rsp + 0x6c], eax
jle 0x1400c1c6a
mov r8b, 0xff
jmp 0x1400c1c6f
add r8b, byte [rsp + 0x6c]
mov eax, 0xff
sub eax, edx
cmp dword [rsp + 0x6c], eax
jle 0x1400c1c80
mov dl, 0xff
jmp 0x1400c1c84
add dl, byte [rsp + 0x6c]
mov eax, 0xff
sub eax, ecx
cmp dword [rsp + 0x6c], eax
jle 0x1400c1c95
mov cl, 0xff
jmp 0x1400c1c99
add cl, byte [rsp + 0x6c]
cmp r11b, r10b
jb 0x1400c1cf5
cmp r11b, r8b
ja 0x1400c1cf5
cmp bl, r9b
jb 0x1400c1cf5
cmp bl, dl
ja 0x1400c1cf5
cmp sil, dil
jb 0x1400c1cf5
cmp sil, cl
ja 0x1400c1cf5
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp - 0x68]
inc r14d
cmp r14d, dword [rbp - 0x7c]
jge 0x1400c1ccc
inc r13d
jmp 0x1400c1cd7
xor eax, eax
add r15d, ecx
mov r13d, r15d
mov r14d, eax
inc r12
cmp r12, qword [rbp + 8]
jge 0x1400c1a56
mov edi, dword [rbp - 0x2c]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rbp]
jmp 0x1400c1bb0
mov ebx, dword [rsp + 0x64]
mov rsi, qword [rbp + 8]
mov ecx, dword [rsp + 0x7c]
mov r14d, dword [rbp - 0x7c]
mov r15d, dword [rbp - 0x74]
mov byte [rbp + 0x730], 0
xor r11d, r11d
mov edi, dword [rbp - 0x2c]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rbp]
mov r13d, dword [rbp - 0x30]
inc ebx
mov dword [rsp + 0x64], ebx
cmp ebx, dword [rbp - 0x24]
jl 0x1400c1b56
mov r12, qword [rbp + 0x70]
mov rax, qword [rbp - 0x48]
mov ebx, dword [rsp + 0x6c]
mov r13, qword [rbp + 0x90]
inc eax
mov qword [rbp - 0x48], rax
cmp eax, dword [rbp + 0x68]
jle 0x1400c1370
mov r14d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x7c]
mov rbx, qword [0x1401703d0]
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400c1d8b
mov rcx, qword [rbx + 0x10]
lea rdx, [0x14012e7cc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
jmp 0x1400c1dfd
lea r13, [0x14012e7cc]
cmp qword [rbx + 8], r13
jne 0x1400c1da1
mov r12, qword [rbx + 0x10]
shr r12, 1
jmp 0x1400c1da7
mov r12d, 1
lea rcx, [r12 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x1400c1dc1
mov rdx, r12
mov rcx, r13
call fcn.140005910
jmp 0x1400c1dfd
mov r8, qword [0x140169b08]
cmp rsi, r8
jbe 0x1400c1e82
cmp rsi, qword [rbx + 0x18]
jbe 0x1400c1e82
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
mov rdx, rax
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov r13, qword [rbp - 0x68]
movzx eax, byte [rbp + 0x730]
mov byte [rsp + 0x74], 1
test al, al
je 0x1400c20c8
cmp byte [rsp + 0x62], 0
mov ecx, dword [rbp - 0x10]
mov edx, dword [rbp - 0x38]
mov r15d, dword [rbp + 0x78]
mov edi, dword [rbp + 0x30]
mov dword [rbp - 0x7c], ecx
mov dword [rbp - 0x74], edx
jne 0x1400c20cb
cmp byte [rbp - 0x70], 0
je 0x1400c20cb
mov eax, dword [rbp - 0x60]
cmp eax, 0xffffffff
je 0x1400c20cb
cmp dword [rbp - 0x78], 3
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
lea rcx, [rbp - 0x54]
lea r9, [rbp - 0x5c]
lea r8, [rbp - 0x3c]
lea rdx, [rbp - 0x58]
jne 0x1400c20af
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.1400bee00
jmp 0x1400c20cb
cmp rcx, 2
jae 0x1400c1e9c
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400c1dfd
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400c1eb9
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140169b08]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x1400c2029
movzx ecx, byte [rbx + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x1400c1eed
cmp al, 2
je 0x1400c1f2e
mov rdi, qword [rbp + 0x730]
mov rax, qword [rbp + 0x730]
jmp 0x1400c201d
cmp rsi, 0x80
ja 0x1400c1f2e
cmp rsi, 8
ja 0x1400c1f03
mov edi, 8
jmp 0x1400c1f14
mov edi, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dc2b0
test rax, rax
je 0x1400c1dfd
mov byte [rbx + 0x20], 1
jmp 0x1400c201d
cmp rsi, 0x20
jae 0x1400c1f3e
mov edi, SafeArrayAllocDescriptor
jmp 0x1400c1fe5
cmp rsi, 0x208
jae 0x1400c1f51
mov edi, 0x208
jmp 0x1400c1fe5
cmp rsi, 0x50000
jae 0x1400c1fa1
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400c1f70
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400c1f97
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400c1f97
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x1400c1fe5
cmp rsi, 0x320000
jae 0x1400c1fb3
lea rdi, [rsi + 0x8000]
jmp 0x1400c1fe5
cmp rsi, 0xc80000
jae 0x1400c1fde
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x1400c1fe5
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp cl, 2
jne 0x1400c2004
test r9, r9
je 0x1400c2004
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.140108f48
jmp 0x1400c2007
xor sil, sil
test rdi, rdi
js 0x1400c2055
mov rcx, rdi
call fcn.1401084ac
test rax, rax
je 0x1400c2055
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x1400c203e
lea r8, [r12 + r12]
mov rdx, r13
call fcn.140109100
mov rax, qword [rbx + 8]
lea rcx, [r12 + r12]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rbx + 0x10], rcx
jmp 0x1400c1dfd
test sil, sil
je 0x1400c206d
xor eax, eax
mov qword [rbx + 0x18], rax
lea rax, [0x140171290]
mov qword [rbx + 8], rax
jmp 0x1400c2076
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
mov qword [rbx + 0x10], rax
jmp 0x1400c1df1
mov r14d, dword [rsp + 0x64]
mov r13, qword [rbp - 0x68]
mov r15d, ecx
jmp 0x1400c1e08
mov r14d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x7c]
jmp 0x1400c1e08
mov rax, qword [rbp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400bee00
jmp 0x1400c20cb
mov r12, qword [rbp + 8]
jmp 0x1400c0da2
mov edi, dword [rbp - 0x40]
movzx ebx, byte [rbp + 0x730]
mov rsi, qword [rbp + 0x10]
mov r12, qword [rbp - 8]
cmp byte [rsp + 0x71], 0
je 0x1400c0c4b
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1400c0c57
cmp byte [rsp + 0x74], 0
jne 0x1400c2137
mov edx, 2
mov rcx, qword [0x1401703d0]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov eax, 1
movaps xmm6, xmmword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x848]
add rsp, 0x7f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test bl, bl
je 0x1400c210f
mov ecx, dword [rbp - 0x78]
cmp ecx, 3
je 0x1400c2159
mov edx, ecx
mov r9d, edi
mov r8d, r15d
mov ecx, r14d
call fcn.1400bed60
mov ecx, dword [rbp - 0x78]
mov r14d, eax
mov eax, r14d
cdq
idiv r15d
cmp byte [rsp + 0x71], 0
je 0x1400c217a
mov edi, dword [rbp + 0x738]
add edi, edx
mov edx, dword [rbp + 0x740]
lea ebx, [rax + rdx]
jmp 0x1400c2193
mov edi, edx
mov ebx, eax
sub edi, dword [rbp + 0x20]
sub ebx, dword [rbp + 0x80]
add edi, dword [rbp + 0x738]
add ebx, dword [rbp + 0x740]
mov eax, dword [rbp - 0x34]
test eax, eax
je 0x1400c228f
cmp ecx, 1
je 0x1400c21e2
cmp ecx, 7
je 0x1400c21e2
cmp ecx, 2
je 0x1400c21cc
cmp ecx, 8
je 0x1400c21cc
test ecx, ecx
je 0x1400c21bb
cmp ecx, 6
jne 0x1400c2200
mov esi, dword [rbp - 0x7c]
mov eax, 1
sub eax, esi
add edi, eax
mov eax, dword [rbp - 0x34]
jmp 0x1400c2203
mov r12d, dword [rbp - 0x74]
mov esi, dword [rbp - 0x7c]
mov eax, 1
sub eax, r12d
add ebx, eax
mov eax, dword [rbp - 0x34]
jmp 0x1400c2207
mov esi, dword [rbp - 0x7c]
mov r12d, dword [rbp - 0x74]
mov ecx, 1
mov eax, ecx
sub eax, esi
add edi, eax
mov eax, ecx
sub eax, r12d
add ebx, eax
mov eax, dword [rbp - 0x34]
jmp 0x1400c2207
mov esi, dword [rbp - 0x7c]
mov r12d, dword [rbp - 0x74]
cmp byte [rsp + 0x69], 0
je 0x1400c2213
mov dword [rbp - 0x54], edi
jmp 0x1400c2216
add dword [rbp - 0x54], edi
cmp byte [rsp + 0x72], 0
je 0x1400c2222
mov dword [rbp - 0x58], ebx
jmp 0x1400c2225
add dword [rbp - 0x58], ebx
cmp eax, 1
jne 0x1400c224e
call fcn.14001ac10
movsxd rcx, esi
mov eax, eax
cqo
idiv rcx
add edi, edx
call fcn.14001ac10
movsxd rcx, r12d
mov eax, eax
cqo
idiv rcx
add ebx, edx
jmp 0x1400c22ad
cmp eax, 2
jne 0x1400c2268
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
add ebx, eax
jmp 0x1400c22ad
cmp eax, 4
jne 0x1400c2274
lea ebx, [rbx + r12 - 1]
jmp 0x1400c22ad
cmp eax, 5
jne 0x1400c227f
lea edi, [rdi + rsi - 1]
jmp 0x1400c22ad
cmp eax, 6
jne 0x1400c22ad
lea edi, [rdi + rsi - 1]
lea ebx, [rbx + r12 - 1]
jmp 0x1400c22ad
cmp byte [rsp + 0x69], 0
je 0x1400c229b
mov dword [rbp - 0x54], edi
jmp 0x1400c229e
add dword [rbp - 0x54], edi
cmp byte [rsp + 0x72], 0
je 0x1400c22aa
mov dword [rbp - 0x58], ebx
jmp 0x1400c22ad
add dword [rbp - 0x58], ebx
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x1400c22c4
movsxd rdx, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x1400c22db
movsxd rdx, ebx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
cmp byte [rsp + 0x61], 0
mov rdi, qword [rbp - 0x48]
jne 0x1400c22e8
inc edi
cmp byte [rbp - 0x70], 0
je 0x1400c2352
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x74]
test eax, eax
mov dword [rsp + 0x40], 0xffffffff
mov r8d, ecx
cmovne r8d, eax
mov eax, dword [rbp - 0x5c]
mov dword [rsp + 0x38], 0xffffffff
mov r9d, edx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edx
mov edx, dword [rbp - 0x58]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp - 0x54]
test eax, eax
cmovne r9d, eax
call fcn.1400befc0
test rax, rax
je 0x1400c234b
mov rcx, qword [rbp + 0xb0]
mov rdx, rax
call fcn.1400e9f40
test eax, eax
jne 0x1400c2369
xor eax, eax
jmp 0x1400c2114
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x1400c2369
movsxd rdx, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400c239c
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1401296b4]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
mov r14d, eax
jmp 0x1400c2114
lea r12, [0x1401296b4]
mov r14d, 1
cmp qword [rdi + 8], r12
jne 0x1400c23b8
mov rsi, qword [rdi + 0x10]
shr rsi, 1
jmp 0x1400c23bb
mov rsi, r14
lea rcx, [rsi + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x1400c23da
mov rdx, rsi
mov rcx, r12
call fcn.140005910
mov r14d, eax
jmp 0x1400c2114
mov r9, qword [0x140169b08]
cmp rbx, r9
jbe 0x1400c2416
cmp rbx, qword [rdi + 0x18]
jbe 0x1400c2416
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c2114
cmp rcx, 2
jae 0x1400c2433
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
mov eax, r14d
jmp 0x1400c2114
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400c2450
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140169b08]
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rbx, rcx
jbe 0x1400c25cb
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400c2487
cmp al, 2
je 0x1400c24cf
mov r13, qword [rbp + 0x730]
mov rax, qword [rbp + 0x730]
jmp 0x1400c25bf
cmp rbx, 0x80
ja 0x1400c24cf
cmp rbx, 8
ja 0x1400c249e
mov r13d, 8
jmp 0x1400c24b1
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400dc2b0
test rax, rax
jne 0x1400c24c6
mov r14d, eax
jmp 0x1400c2114
mov byte [rdi + 0x20], 1
jmp 0x1400c25bf
cmp rbx, 0x20
jae 0x1400c24e0
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400c2588
cmp rbx, 0x208
jae 0x1400c24f4
mov r13d, 0x208
jmp 0x1400c2588
cmp rbx, 0x50000
jae 0x1400c2544
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c2513
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400c253a
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400c253a
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400c2588
cmp rbx, 0x320000
jae 0x1400c2556
lea r13, [rbx + 0x8000]
jmp 0x1400c2588
cmp rbx, 0xc80000
jae 0x1400c2581
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400c2588
lea r13, [rbx + 0x20000]
cmp r13, r9
cmova r13, r9
cmp r8b, 2
jne 0x1400c25a7
test rcx, rcx
je 0x1400c25a7
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c25a9
xor bl, bl
test r13, r13
js 0x1400c25fa
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400c25fa
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r13
mov rcx, qword [rdi + 8]
cmp rcx, r12
je 0x1400c25e0
lea r8, [rsi + rsi]
mov rdx, r12
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400c2114
test bl, bl
je 0x1400c2611
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x1400c261a
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c2114
lea rsi, [0x14012ee14]
mov r14d, 1
cmp qword [rdi + 8], rsi
jne 0x1400c265e
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400c2661
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x1400c2681
mov rdx, r12
mov rcx, rsi
call fcn.140005910
mov r14d, eax
jmp 0x1400c211c
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400c26bd
cmp rbx, qword [rdi + 0x18]
jbe 0x1400c26bd
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c211c
cmp rdx, 2
jae 0x1400c26da
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
mov eax, r14d
jmp 0x1400c211c
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400c26f7
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rbx, r8
jbe 0x1400c287a
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400c272e
cmp al, 2
je 0x1400c2776
mov r13, qword [rbp + 0x730]
mov rax, qword [rbp + 0x730]
jmp 0x1400c286e
cmp rbx, 0x80
ja 0x1400c2776
cmp rbx, 8
ja 0x1400c2745
mov r13d, 8
jmp 0x1400c2758
mov r13d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400dc2b0
test rax, rax
jne 0x1400c276d
mov r14d, eax
jmp 0x1400c211c
mov byte [rdi + 0x20], 1
jmp 0x1400c286e
cmp rbx, 0x20
jae 0x1400c2787
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400c2837
cmp rbx, 0x208
jae 0x1400c279b
mov r13d, 0x208
jmp 0x1400c2837
cmp rbx, 0x50000
jae 0x1400c27f3
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c27ba
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400c27e9
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400c27e9
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400c2837
cmp rbx, 0x320000
jae 0x1400c2805
lea r13, [rbx + 0x8000]
jmp 0x1400c2837
cmp rbx, 0xc80000
jae 0x1400c2830
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400c2837
lea r13, [rbx + 0x20000]
cmp r13, rcx
cmova r13, rcx
cmp r9b, 2
jne 0x1400c2856
test r8, r8
je 0x1400c2856
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c2858
xor bl, bl
test r13, r13
js 0x1400c28a9
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400c28a9
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r13
mov rcx, qword [rdi + 8]
cmp rcx, rsi
je 0x1400c288f
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400c211c
test bl, bl
je 0x1400c28c0
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x1400c28c9
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c211c
mov rcx, qword [rbp + 0x730]
lea r9, [0x1401295d4]
lea rdx, [0x14012ee14]
xor r8d, r8d
call fcn.14003c960
mov r14d, eax
jmp 0x1400c211c