Function at 0x1400c2960
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x470]
sub rsp, 0x570
mov r15, rcx
xor r13d, r13d
mov dword [rsp + 0x68], r9d
cmp byte [r15 + 2], 9
mov ecx, r13d
mov dword [rsp + 0x74], edx
cmova rcx, qword [0x14016f738]
mov qword [rbp - 0x18], rcx
test rcx, rcx
je 0x1400c29b6
call fcn.140023100
mov rax, qword [0x140169c00]
xor r12d, r12d
mov esi, r13d
movzx edi, word [rax + 0x130]
mov dword [rbp - 0x5c], r13d
mov qword [rbp - 0x30], r12
and edi, 3
cmp edi, 2
je 0x1400c2a33
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x1400c2a33
mov rcx, rax
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x1400c2a33
mov rcx, rbx
test edi, edi
jne 0x1400c2a13
lea rdx, [rbp]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x1400c2a33
add esi, dword [rbp]
add r12d, dword [rbp + 4]
jmp 0x1400c2a2c
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x50], r13
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x1400c2a33
add esi, dword [rbp - 0x50]
add r12d, dword [rbp - 0x4c]
mov qword [rbp - 0x30], r12
mov dword [rbp - 0x5c], esi
mov rbx, qword [rbp + 0x4e8]
xor sil, sil
xor r14b, r14b
xor r8b, r8b
mov eax, 3
or edx, 0xffffffff
mov rdi, rbx
mov byte [rsp + 0x70], r14b
mov byte [rsp + 0x6d], sil
mov byte [rsp + 0x60], r8b
mov byte [rsp + 0x7d], sil
mov byte [rsp + 0x7c], sil
mov dword [rbp - 0x60], edx
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x6e], sil
mov byte [rsp + 0x6f], 1
mov qword [rbp - 0x48], r13
mov byte [rsp + 0x71], sil
mov byte [rsp + 0x6c], sil
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400c2a95
cmp ax, 9
jne 0x1400c2a9b
add rdi, 2
jmp 0x1400c2a86
cmp word [rdi], 0x2a
mov r12d, dword [rbp + 0x4d0]
mov r13d, 8
mov dword [rsp + 0x64], r12d
jne 0x1400c305e
mov r14b, 1
mov byte [rsp + 0x70], r14b
nop
lea rcx, [0x140150790]
add rdi, 2
call fcn.1400dd2e0
mov r8d, 2
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2b78
mov ecx, dword [rsp + 0x68]
add rdi, 4
test ecx, ecx
jle 0x1400c2aff
mov eax, dword [rsp + 0x74]
dec eax
xor edx, edx
jmp 0x1400c2b03
xor edx, edx
mov eax, edx
add ecx, eax
mov dword [rsp + 0x68], ecx
test r12d, r12d
jle 0x1400c2b18
mov eax, dword [rbp + 0x4c0]
dec eax
jmp 0x1400c2b1a
mov eax, edx
add r12d, eax
mov dword [rsp + 0x64], r12d
xor ebx, ebx
movzx r8d, byte [rsp + 0x60]
test rdi, rdi
je 0x1400c3055
movzx edx, word [rdi]
test dx, dx
je 0x1400c3055
nop
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c302f
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c2b50
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400c2b40
jmp 0x1400c3055
lea rcx, str._t9_4
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2cd9
add rdi, r13
lea r8d, [rax + 2]
lea rdx, [0x1401506e8]
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2bc4
mov dword [rsp + 0x78], 1
jmp 0x1400c2b22
lea rdx, [0x1401506f0]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2bea
mov dword [rsp + 0x78], 7
jmp 0x1400c2b22
lea rdx, [0x140150720]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2c10
mov dword [rsp + 0x78], 5
jmp 0x1400c2b22
lea rdx, [0x140150708]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2c36
mov dword [rsp + 0x78], 2
jmp 0x1400c2b22
lea rdx, [0x140150710]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2c59
mov dword [rsp + 0x78], r13d
jmp 0x1400c2b22
lea rdx, [0x1401506f8]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2c7d
xor ebx, ebx
mov dword [rsp + 0x78], ebx
jmp 0x1400c2b24
lea rdx, [0x140150700]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
test eax, eax
jne 0x1400c2ca3
mov dword [rsp + 0x78], 6
jmp 0x1400c2b22
lea rdx, [0x140150718]
mov r8d, 2
mov rcx, rdi
call fcn.140108e4c
movzx r8d, byte [rsp + 0x60]
xor ebx, ebx
test eax, eax
jne 0x1400c2cd1
mov dword [rsp + 0x78], 3
jmp 0x1400c2b2a
mov sil, 1
jmp 0x1400c2b2a
lea rcx, [0x140150910]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2d08
add rdi, 0x14
mov byte [rsp + 0x7d], 1
jmp 0x1400c2b22
lea rcx, [0x140150608]
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2d37
add rdi, 0xc
mov byte [rsp + 0x7c], 1
jmp 0x1400c2b22
lea rcx, [0x140150770]
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2f94
lea rcx, [0x1401505a0]
add rdi, 0xc
mov byte [rsp + 0x6e], 1
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2d92
add rdi, 0x14
mov bl, 1
mov byte [rsp + 0x6f], al
jmp 0x1400c2ded
lea rcx, [0x1401505c8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2dbe
mov bl, 1
add rdi, r13
mov byte [rsp + 0x6f], bl
jmp 0x1400c2ded
lea rcx, [0x1401505e8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2f8c
add rdi, r13
mov byte [rsp + 0x6f], 1
xor bl, bl
test sil, sil
jne 0x1400c2b22
mov r8, qword [rbp - 0x48]
test r8, r8
jne 0x1400c2b22
lea rcx, [rbp + 0x50]
mov r8d, 0x207
mov rdx, rdi
call fcn.14010a074
movzx edx, word [rbp + 0x50]
xor r9d, r9d
mov word [rbp + 0x45e], r9w
lea r8, [rbp + 0x50]
test dx, dx
je 0x1400c2e66
nop dword [rax]
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400c2e62
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400c2e40
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400c2e30
jmp 0x1400c2e66
mov word [r8], r9w
test bl, bl
je 0x1400c2ef6
lea rax, [rbp + 0x50]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400c2e81
cmp cx, 9
jne 0x1400c2e87
add rax, 2
jmp 0x1400c2e72
movzx ecx, word [rax]
test cx, cx
je 0x1400c2edf
cmp cx, 0x2d
je 0x1400c2e9b
cmp cx, 0x2b
jne 0x1400c2e9f
add rax, 2
cmp word [rax], 0x30
jne 0x1400c2edf
movzx ecx, word [rax + 2]
cmp cx, 0x78
je 0x1400c2eb5
cmp cx, 0x58
jne 0x1400c2edf
movzx ecx, word [rax + 4]
call fcn.140109c84
test eax, eax
je 0x1400c2edf
xor edx, edx
lea rcx, [rbp + 0x50]
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
xor ebx, ebx
mov r8, rax
mov qword [rbp - 0x48], rax
jmp 0x1400c2f7b
lea rcx, [rbp + 0x50]
call fcn.140109998
xor ebx, ebx
mov r8, rax
mov qword [rbp - 0x48], rax
jmp 0x1400c2f7b
lea rcx, [rbp + 0x50]
mov r8d, 0x207
mov rdx, rdi
call fcn.14010a074
xor ebx, ebx
cmp word [rbp + 0x50], 0x3c
mov word [rbp + 0x45e], bx
jne 0x1400c2f84
lea rdx, [0x14012cadc]
lea rcx, [rbp + 0x52]
call fcn.14000b9d0
test rax, rax
je 0x1400c2f84
mov word [rax], bx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x30], rbx
sub rax, rcx
lea r9, [rbp + 0x4e8]
lea rcx, [rbp + 0x52]
sar rax, 1
xor r8d, r8d
xor edx, edx
mov byte [rsp + 0x28], bl
mov dword [rsp + 0x20], ebx
lea rdi, [rdi + rax*2 + 2]
call fcn.1400e7a80
cmp dword [rbp + 0x4e8], 1
movzx esi, sil
mov r8, rax
mov qword [rbp - 0x48], rax
mov eax, 1
cmove esi, eax
test r8, r8
jne 0x1400c2b24
mov sil, 1
jmp 0x1400c2b24
mov sil, 1
jmp 0x1400c2b22
lea rcx, [0x140150648]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2fc3
add rdi, 0x14
mov byte [rsp + 0x71], 1
jmp 0x1400c2b22
lea rcx, [0x140150670]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2ff7
add rdi, 0x14
mov byte [rsp + 0x71], 1
mov byte [rsp + 0x6c], 1
jmp 0x1400c2b22
lea rcx, [0x140150938]
call fcn.1400dd2e0
mov r8d, 3
mov rcx, rdi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400c2b22
mov r8b, 1
add rdi, 6
xor ebx, ebx
mov byte [rsp + 0x60], r8b
jmp 0x1400c2b2a
lea rbx, [rdi + 2]
mov rdi, rbx
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400c3045
cmp ax, 9
jne 0x1400c304b
add rdi, 2
jmp 0x1400c3036
cmp word [rdi], 0x2a
je 0x1400c2ac0
test sil, sil
jne 0x1400c3208
movzx edi, byte [rbp + 0x4f0]
test rbx, rbx
je 0x1400c30c8
test r14b, r14b
jne 0x1400c30a0
test dil, dil
jne 0x1400c3095
lea rcx, [0x140150950]
call fcn.1400dd2e0
mov rcx, rbx
mov rdx, rax
call fcn.1400e6540
mov byte [rsp + 0x70], r14b
test rax, rax
je 0x1400c309a
mov byte [rsp + 0x70], 1
movzx r8d, byte [rsp + 0x60]
test r8b, r8b
jne 0x1400c30cd
lea rcx, [0x140150938]
call fcn.1400dd2e0
mov rcx, rbx
mov rdx, rax
call fcn.1400e6540
test rax, rax
setne r8b
mov byte [rsp + 0x60], r8b
test r8b, r8b
je 0x1400c30f4
mov ebx, dword [rbp + 0x4d8]
movzx eax, bx
shr ax, 8
movzx esi, al
mov eax, ebx
shr eax, 0x10
shl esi, 8
movzx ecx, al
movzx eax, bl
shl eax, 0x10
or esi, ecx
or esi, eax
jmp 0x1400c311a
mov esi, dword [rbp + 0x4d8]
movzx eax, si
shr ax, 8
movzx ebx, al
mov eax, esi
shr eax, 0x10
shl ebx, 8
movzx ecx, al
movzx eax, sil
shl eax, 0x10
or ebx, ecx
or ebx, eax
mov rax, qword [0x14016f6f0]
xor r13d, r13d
test dil, dil
mov qword [rbp - 0x28], rax
mov edi, r13d
jne 0x1400c313d
cmp byte [r15 + 2], 1
cmova rdi, qword [0x14016f6f8]
mov qword [rbp - 0x20], rdi
test rax, rax
je 0x1400c314e
mov rcx, rax
call fcn.140023100
test rdi, rdi
je 0x1400c315b
mov rcx, rdi
call fcn.140023100
movzx eax, byte [rsp + 0x6e]
test al, al
jne 0x1400c3181
mov ecx, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x30]
add dword [rsp + 0x74], ecx
add dword [rbp + 0x4c0], edx
add dword [rsp + 0x68], ecx
add r12d, edx
mov dword [rsp + 0x64], r12d
mov edi, dword [rbp + 0x4e0]
mov r15d, 0xff
test edi, edi
jns 0x1400c31c3
mov edi, r13d
movzx r14d, byte [rbp + 0x4b0]
movzx r13d, byte [rbp + 0x4b0]
movzx r12d, byte [rbp + 0x4b0]
xor ecx, ecx
mov word [rbp - 0x7c], r13w
mov dword [rbp - 0x80], r14d
test al, al
je 0x1400c31e7
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
jmp 0x1400c31ed
cmp edi, r15d
jle 0x1400c31cd
mov edi, r15d
jmp 0x1400c31d1
test edi, edi
jle 0x1400c3194
movzx r13d, si
mov r14d, esi
movzx r12d, sil
shr r13w, 8
shr r14d, 0x10
jmp 0x1400c31ac
call qword [sym.imp.USER32.dll_GetDC]
mov r9, rax
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1400c3530
mov r15, qword [rbp + 0x4b0]
lea r13d, [rax + 8]
cmp byte [rsp + 0x6f], 0
je 0x1400c3221
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x1400c3221
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [0x140169c00]
test byte [rax + 0x140], 1
jne 0x1400c350f
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400c3268
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 0x1400c3702
lea rsi, [0x14012ee14]
mov r14d, 1
cmp qword [rdi + 8], rsi
jne 0x1400c3284
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400c3287
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x1400c32a7
mov rdx, r12
mov rcx, rsi
call fcn.140005910
mov r14d, eax
jmp 0x1400c3702
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400c32e3
cmp rbx, qword [rdi + 0x18]
jbe 0x1400c32e3
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c3702
cmp rdx, 2
jae 0x1400c3300
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
mov eax, r14d
jmp 0x1400c3702
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400c331d
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 0x1400c3498
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400c3354
cmp al, 2
je 0x1400c3394
mov r13, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x4b0]
jmp 0x1400c348c
cmp rbx, 0x80
ja 0x1400c3394
cmp rbx, 8
jbe 0x1400c3376
mov r13d, pe_nt_image_headers64
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400dc2b0
test rax, rax
jne 0x1400c338b
mov r14d, eax
jmp 0x1400c3702
mov byte [rdi + 0x20], 1
jmp 0x1400c348c
cmp rbx, 0x20
jae 0x1400c33a5
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400c3455
cmp rbx, 0x208
jae 0x1400c33b9
mov r13d, 0x208
jmp 0x1400c3455
cmp rbx, 0x50000
jae 0x1400c3411
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c33d8
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400c3407
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400c3407
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400c3455
cmp rbx, 0x320000
jae 0x1400c3423
lea r13, [rbx + 0x8000]
jmp 0x1400c3455
cmp rbx, 0xc80000
jae 0x1400c344e
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400c3455
lea r13, [rbx + 0x20000]
cmp r13, rcx
cmova r13, rcx
cmp r9b, 2
jne 0x1400c3474
test r8, r8
je 0x1400c3474
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c3476
xor bl, bl
test r13, r13
js 0x1400c34c7
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400c34c7
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 0x1400c34ad
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 0x1400c3702
test bl, bl
je 0x1400c34de
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x1400c34e7
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 0x1400c3702
lea r9, [0x1401295d4]
lea rdx, [0x14012ee14]
xor r8d, r8d
mov rcx, r15
call fcn.14003c960
mov r14d, eax
jmp 0x1400c3702
cmp byte [rsp + 0x70], 0
mov byte [rbp + 0x4b0], 0
je 0x1400c4707
xor ecx, ecx
or r14, 0xffffffffffffffff
movaps xmmword [rsp + 0x560], xmm6
movsd xmm6, qword [0x140153038]
mov esi, ecx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 8], rcx
mov qword [rbp], rcx
cmp byte [rsp + 0x6e], cl
jne 0x1400c376c
mov eax, dword [rsp + 0x68]
mov rcx, r9
sub eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x64]
sub eax, dword [rbp + 0x4c0]
inc eax
mov dword [rsp + 0x64], eax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1400c3753
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rsi, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400c3753
mov rcx, qword [rbp - 0x38]
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 8], rax
test rax, rax
je 0x1400c3753
mov eax, dword [rbp + 0x4c0]
mov r9d, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x38]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x64]
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x1400c3753
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400c371d
mov edi, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x68]
mov r13d, dword [rbp + 0x4b0]
mov rbx, rax
lea r12, [0x140171290]
mov rdx, qword [rbp - 0x40]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1400c3691
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x1400c3688
mov rcx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rax, qword [rbp - 0x38]
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteDC]
cmp byte [rsp + 0x6f], 0
je 0x1400c36aa
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x1400c36aa
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test rsi, rsi
je 0x1400c36b8
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
test rbx, rbx
je 0x1400c36c5
mov rcx, rbx
call fcn.140108f48
mov rax, qword [rbp]
test rax, rax
je 0x1400c36d6
mov rcx, rax
call fcn.140108f48
cmp byte [rsp + 0x6d], 0
jne 0x1400c4339
mov rcx, qword [0x1401703d0]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov edx, 2
call fcn.140001370
mov eax, 1
movaps xmm6, xmmword [rsp + 0x560]
mov rbx, qword [rsp + 0x5b8]
add rsp, 0x570
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x4e8]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov rdx, rax
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x1400c38f3
mov edi, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x68]
mov r13d, dword [rbp + 0x4b0]
mov rbx, qword [rbp - 0x70]
jmp 0x1400c3656
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1400c42f6
mov r8d, dword [rbp + 0x4c0]
cmp dword [rsp + 0x74], esi
jne 0x1400c37f6
test r8d, r8d
jne 0x1400c37f6
cmp dword [rsp + 0x68], esi
jne 0x1400c37f6
cmp dword [rsp + 0x64], esi
jne 0x1400c37f6
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400c37ba
mov r13d, dword [rbp + 0x4b0]
mov rbx, rax
jmp 0x1400c430f
mov rcx, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x4e8]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov rdx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400c42f6
jmp 0x1400c38f3
cmp byte [rbp + 0x4f0], sil
je 0x1400c380c
mov edx, dword [rsp + 0x74]
mov ecx, 1
mov eax, ecx
jmp 0x1400c3855
mov rcx, qword [rbp - 0x48]
lea r8, [rbp + 0x10]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x1400c42f6
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x64]
test ecx, ecx
jne 0x1400c3841
test eax, eax
jne 0x1400c3841
mov ecx, dword [rbp + 0x14]
mov eax, dword [rbp + 0x18]
dec ecx
dec eax
mov edx, dword [rsp + 0x74]
mov r8d, dword [rbp + 0x4c0]
sub ecx, edx
sub eax, r8d
inc ecx
inc eax
mov dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], edx
mov rdx, qword [rbp - 0x48]
mov r8d, ecx
lea rcx, [rbp - 0x58]
mov r9d, eax
call fcn.1400d14b0
test al, al
je 0x1400c42f2
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400c38b5
mov r13d, dword [rbp + 0x4b0]
mov rbx, rsi
mov rsi, qword [rbp - 0x58]
jmp 0x1400c430f
mov rsi, qword [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x4e8]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], 8
mov qword [rbp - 0x50], rsi
call fcn.1400511c0
mov rdx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400c42e6
mov r10d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x64]
movzx esi, byte [rbp + 0x4e8]
mov r14d, r10d
xor r8d, r8d
mov r11, rdx
mov qword [rbp - 0x58], rdx
mov dword [rbp - 0x64], r10d
mov dword [rbp - 0x78], eax
imul r14d, eax
movsxd r9, r14d
mov qword [rbp - 0x10], r9
test sil, sil
je 0x1400c3951
mov dword [rbp - 0x68], r8d
mov eax, r8d
test r14d, r14d
jle 0x1400c395a
mov dword [rbp - 0x68], r9d
nop word [rax + rax]
and dword [rdx + rax*4], 0xf8f8f8f8
inc rax
cmp rax, r9
jl 0x1400c3940
jmp 0x1400c395a
mov ecx, dword [rbp + 0x4b0]
mov dword [rbp - 0x68], ecx
cmp byte [rsp + 0x71], 0
je 0x1400c3a47
mov dword [rbp - 0x68], r8d
test r14d, r14d
jle 0x1400c39f1
movzx r13d, byte [rsp + 0x6c]
mov dword [rbp - 0x68], r9d
xor esi, esi
nop
mov ecx, dword [rdx + r8*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 r13b, r13b
je 0x1400c39c9
mov eax, r15d
mov ecx, 0xffffff
sub eax, edi
cmp edx, eax
mov rdx, qword [rbp - 0x70]
cmovb ecx, esi
mov dword [rdx + r8*4], ecx
jmp 0x1400c39dd
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov rdx, qword [rbp - 0x70]
mov dword [rdx + r8*4], eax
inc r8
cmp r8, r9
jl 0x1400c3980
movzx r13d, word [rbp - 0x7c]
movzx esi, byte [rbp + 0x4e8]
movzx ecx, bx
mov eax, 0x55555556
shr cx, 8
movzx edx, cl
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
add edx, ecx
movzx ecx, bl
add edx, ecx
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp byte [rsp + 0x6c], 0
je 0x1400c3a37
mov eax, r15d
mov ebx, 0xffffff
sub eax, edi
cmp edx, eax
mov eax, 0
cmovb ebx, eax
mov edi, eax
jmp 0x1400c3a43
mov ebx, edx
shl ebx, 8
or ebx, edx
shl ebx, 8
or ebx, edx
mov rdx, qword [rbp - 0x70]
cmp byte [rbp + 0x4f0], 0
jne 0x1400c3fa4
mov eax, dword [rsp + 0x78]
cmp eax, 3
je 0x1400c3abe
lea rcx, [r9*4]
call fcn.1401084ac
mov rcx, rax
mov qword [rbp], rax
test rax, rax
je 0x1400c42ff
mov qword [rbp + 0x18], rcx
mov ecx, dword [rsp + 0x68]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x70]
mov dword [rbp + 0x20], r14d
mov r14d, dword [rsp + 0x64]
mov dword [rbp + 0x24], ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x28], r14d
call fcn.1400bf7b0
mov r9, qword [rbp - 0x10]
mov r10d, dword [rsp + 0x68]
mov r11, qword [rbp - 0x58]
mov eax, dword [rsp + 0x78]
jmp 0x1400c3ac3
mov r14d, dword [rsp + 0x64]
cmp byte [rsp + 0x7d], 0
je 0x1400c3cd3
cmp eax, 4
jle 0x1400c3ade
mov dword [rbp - 0x64], r14d
mov dword [rbp - 0x78], r10d
mov r14d, r10d
cmp edi, 1
jge 0x1400c3b79
test sil, sil
je 0x1400c3af2
and ebx, 0xf8f8f8f8
xor ecx, ecx
mov r13d, ecx
mov edi, ecx
test r14d, r14d
jle 0x1400c3cab
movsxd r15, dword [rbp - 0x64]
nop word [rax + rax]
mov byte [rbp + 0x4b0], 1
mov edx, ecx
test r15d, r15d
jle 0x1400c3b46
mov rax, r15
imul rax, rdi
lea rcx, [r11 + rax*4]
nop dword [rax]
mov eax, dword [rcx]
and eax, 0xffffff
cmp eax, ebx
je 0x1400c3b5f
inc edx
add rcx, 4
cmp edx, r15d
jl 0x1400c3b30
movsxd rcx, r13d
imul rcx, r15
mov ecx, dword [r11 + rcx*4]
and ecx, 0xffffff
mov dword [rbp - 0x60], ecx
jmp 0x1400c3cb9
inc r13d
inc rdi
mov byte [rbp + 0x4b0], 0
cmp r13d, r14d
jge 0x1400c3cb9
xor ecx, ecx
jmp 0x1400c3b10
mov r9d, dword [rbp - 0x80]
test sil, sil
je 0x1400c3b8e
and r12b, 0xf8
and r13b, 0xf8
and r9b, 0xf8
movzx ecx, r12b
cmp edi, ecx
jle 0x1400c3b9b
xor r14b, r14b
jmp 0x1400c3ba2
movzx r14d, r12b
sub r14b, dil
movzx edx, r13b
cmp edi, edx
jle 0x1400c3baf
xor sil, sil
jmp 0x1400c3bb6
movzx esi, r13b
sub sil, dil
movzx r8d, r9b
cmp edi, r8d
jle 0x1400c3bc4
xor r11b, r11b
jmp 0x1400c3bcb
movzx r11d, r9b
sub r11b, dil
mov eax, r15d
sub eax, ecx
cmp edi, eax
jle 0x1400c3bda
movzx ebx, r15b
jmp 0x1400c3bde
lea ebx, [r12 + rdi]
mov eax, r15d
sub eax, edx
cmp edi, eax
jle 0x1400c3bed
movzx r10d, r15b
jmp 0x1400c3bf2
lea r10d, [r13 + rdi]
sub r15d, r8d
cmp edi, r15d
jle 0x1400c3bff
mov dil, 0xff
jmp 0x1400c3c02
add dil, r9b
xor ecx, ecx
mov r13d, ecx
mov r12d, ecx
cmp dword [rbp - 0x78], ecx
jle 0x1400c3cb1
movsxd r15, dword [rbp - 0x64]
nop word [rax + rax]
mov byte [rbp + 0x4b0], 1
mov r9d, ecx
test r15d, r15d
jle 0x1400c3c78
mov rcx, qword [rbp - 0x58]
mov rax, r15
imul rax, r12
lea r8, [rcx + rax*4]
nop
mov edx, dword [r8]
mov eax, edx
movzx ecx, dx
shr eax, 0x10
shr cx, 8
cmp al, r14b
jb 0x1400c3c6c
cmp al, bl
ja 0x1400c3c6c
cmp cl, sil
jb 0x1400c3c6c
cmp cl, r10b
ja 0x1400c3c6c
cmp dl, r11b
jb 0x1400c3c6c
cmp dl, dil
jbe 0x1400c3c91
inc r9d
add r8, 4
cmp r9d, r15d
jl 0x1400c3c40
mov rax, qword [rbp - 0x58]
movsxd rcx, r13d
imul rcx, r15
mov edx, dword [rax + rcx*4]
and edx, 0xffffff
mov dword [rbp - 0x60], edx
jmp 0x1400c3cb5
inc r13d
inc r12
mov byte [rbp + 0x4b0], 0
cmp r13d, dword [rbp - 0x78]
jge 0x1400c3cb5
xor ecx, ecx
jmp 0x1400c3c20
mov r15d, dword [rbp - 0x64]
jmp 0x1400c3cb9
mov r15d, dword [rbp - 0x64]
mov r14d, dword [rbp - 0x78]
imul r13d, r15d
cmp dword [rsp + 0x78], 4
jle 0x1400c3f8b
mov edi, r15d
mov r15d, r14d
jmp 0x1400c3f8e
cmp byte [rsp + 0x7c], 0
je 0x1400c3e48
cmp edi, 1
jge 0x1400c3d47
test sil, sil
je 0x1400c3cee
and ebx, 0xf8f8f8f8
xor eax, eax
mov r13d, eax
mov ecx, eax
test r9, r9
jle 0x1400c3e3a
nop
mov edx, dword [r11 + rcx*4]
mov eax, edx
and eax, 0xffffff
cmp eax, ebx
jne 0x1400c3d28
inc rcx
inc r13d
cmp rcx, r9
jl 0x1400c3d00
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x1400c3f8e
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
mov eax, edx
and eax, 0xffffff
mov byte [rbp + 0x4b0], 1
mov dword [rbp - 0x60], eax
jmp 0x1400c3f8e
mov r14d, dword [rbp - 0x80]
test sil, sil
je 0x1400c3d5c
and r12b, 0xf8
and r13b, 0xf8
and r14b, 0xf8
movzx ecx, r12b
cmp edi, ecx
jle 0x1400c3d69
xor sil, sil
jmp 0x1400c3d70
movzx esi, r12b
sub sil, dil
movzx edx, r13b
cmp edi, edx
jle 0x1400c3d7c
xor bl, bl
jmp 0x1400c3d83
movzx ebx, r13b
sub bl, dil
movzx r8d, r14b
cmp edi, r8d
jle 0x1400c3d91
xor r11b, r11b
jmp 0x1400c3d98
movzx r11d, r14b
sub r11b, dil
mov eax, r15d
sub eax, ecx
cmp edi, eax
jle 0x1400c3da7
movzx r10d, r15b
jmp 0x1400c3dab
lea r10d, [r12 + rdi]
mov eax, r15d
sub eax, edx
cmp edi, eax
jle 0x1400c3dba
movzx r9d, r15b
jmp 0x1400c3dbf
lea r9d, [r13 + rdi]
sub r15d, r8d
cmp edi, r15d
jle 0x1400c3dcc
mov dil, 0xff
jmp 0x1400c3dcf
add dil, r14b
mov r12, qword [rbp - 0x10]
xor eax, eax
mov r13d, eax
mov r8d, eax
test r12, r12
jle 0x1400c3e3a
mov rax, qword [rbp - 0x58]
mov edx, dword [rax + r8*4]
mov eax, edx
movzx ecx, dx
shr eax, 0x10
shr cx, 8
cmp al, sil
jb 0x1400c3e2a
cmp al, r10b
ja 0x1400c3e2a
cmp cl, bl
jb 0x1400c3e2a
cmp cl, r9b
ja 0x1400c3e2a
cmp dl, r11b
jb 0x1400c3e2a
cmp dl, dil
ja 0x1400c3e2a
inc r8
inc r13d
cmp r8, r12
jl 0x1400c3de0
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x1400c3f8e
and edx, 0xffffff
mov dword [rbp - 0x60], edx
mov byte [rbp + 0x4b0], 1
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x1400c3f8e
cmp edi, 1
jge 0x1400c3e96
test sil, sil
je 0x1400c3e58
and ebx, 0xf8f8f8f8
xor eax, eax
mov r13d, eax
mov ecx, eax
test r9, r9
jle 0x1400c3e3a
nop word [rax + rax]
mov eax, dword [r11 + rcx*4]
and eax, 0xffffff
cmp eax, ebx
je 0x1400c3e33
inc rcx
inc r13d
cmp rcx, r9
jl 0x1400c3e70
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x1400c3f8e
mov r14d, dword [rbp - 0x80]
test sil, sil
je 0x1400c3eab
and r12b, 0xf8
and r13b, 0xf8
and r14b, 0xf8
movzx ecx, r12b
cmp edi, ecx
jle 0x1400c3eb8
xor sil, sil
jmp 0x1400c3ebf
movzx esi, r12b
sub sil, dil
movzx edx, r13b
cmp edi, edx
jle 0x1400c3ecb
xor bl, bl
jmp 0x1400c3ed2
movzx ebx, r13b
sub bl, dil
movzx r8d, r14b
cmp edi, r8d
jle 0x1400c3ee0
xor r11b, r11b
jmp 0x1400c3ee7
movzx r11d, r14b
sub r11b, dil
mov eax, r15d
sub eax, ecx
cmp edi, eax
jle 0x1400c3ef6
movzx r10d, r15b
jmp 0x1400c3efa
lea r10d, [r12 + rdi]
mov eax, r15d
sub eax, edx
cmp edi, eax
jle 0x1400c3f09
movzx r9d, r15b
jmp 0x1400c3f0e
lea r9d, [r13 + rdi]
sub r15d, r8d
cmp edi, r15d
jle 0x1400c3f1b
mov dil, 0xff
jmp 0x1400c3f1e
add dil, r14b
mov r12, qword [rbp - 0x10]
xor eax, eax
mov r13d, eax
mov r8d, eax
test r12, r12
jle 0x1400c3e3a
nop word [rax + rax]
mov rax, qword [rbp - 0x58]
mov edx, dword [rax + r8*4]
mov eax, edx
movzx ecx, dx
shr eax, 0x10
shr cx, 8
cmp al, sil
jb 0x1400c3f75
cmp al, r10b
ja 0x1400c3f75
cmp cl, bl
jb 0x1400c3f75
cmp cl, r9b
ja 0x1400c3f75
cmp dl, r11b
jb 0x1400c3f75
cmp dl, dil
jbe 0x1400c3e33
inc r8
inc r13d
cmp r8, r12
jl 0x1400c3f40
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
jmp 0x1400c3f8e
mov edi, dword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x50]
mov byte [rsp + 0x6d], 1
or r14, 0xffffffffffffffff
jmp 0x1400c4318
mov r8d, dword [rdx]
and r8d, 0xffffff
cmp byte [rsp + 0x60], 0
jne 0x1400c3fd9
movzx eax, r8w
shr ax, 8
movzx edx, al
mov eax, r8d
movzx r8d, r8b
shr eax, 0x10
shl edx, 8
shl r8d, 0x10
movzx ecx, al
or edx, ecx
or r8d, edx
lea rdx, str.0x_06X
lea rcx, [rbp + 0x10]
call fcn.140108924
mov r13, qword [rbp - 0x28]
movzx r11d, byte [r13 + 0x23]
test r11b, r11b
jne 0x1400c4018
mov rcx, qword [r13 + 0x10]
or r14, 0xffffffffffffffff
lea rdx, [rbp + 0x10]
mov r8, r14
xor r9d, r9d
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
jmp 0x1400c427a
lea rax, [rbp + 0x10]
cmp qword [r13 + 8], rax
jne 0x1400c402f
mov rsi, qword [r13 + 0x10]
shr rsi, 1
or r14, 0xffffffffffffffff
jmp 0x1400c4046
or r14, 0xffffffffffffffff
lea rdi, [rbp + 0x10]
xor eax, eax
mov rcx, r14
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rbx, [rax + rax]
cmp r11b, 2
jne 0x1400c4065
lea rcx, [rbp + 0x10]
mov rdx, rsi
call fcn.140005910
jmp 0x1400c427a
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400c409e
cmp rbx, qword [r13 + 0x18]
jbe 0x1400c409e
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x1400c427a
cmp rax, 2
jae 0x1400c40b8
xor r8d, r8d
mov rcx, r13
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400c427a
movzx eax, byte [r13 + 0x21]
test al, 2
je 0x1400c40d8
mov rcx, qword [r13]
and al, 0x3d
mov byte [r13 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
mov r9, qword [r13 + 0x18]
and byte [r13 + 0x21], 0x82
cmp rbx, r9
jbe 0x1400c424e
movzx r8d, byte [r13 + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400c4110
cmp al, 2
je 0x1400c4152
mov rdi, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x4b0]
jmp 0x1400c4241
cmp rbx, 0x80
ja 0x1400c4152
cmp rbx, 8
ja 0x1400c4126
mov edi, 8
jmp 0x1400c4137
mov edi, pe_nt_image_headers64
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dc2b0
test rax, rax
je 0x1400c427a
mov byte [r13 + 0x20], 1
jmp 0x1400c4241
cmp rbx, 0x20
jae 0x1400c4162
mov edi, SafeArrayAllocDescriptor
jmp 0x1400c4209
cmp rbx, 0x208
jae 0x1400c4175
mov edi, 0x208
jmp 0x1400c4209
cmp rbx, 0x50000
jae 0x1400c41c5
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c4194
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400c41bb
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400c41bb
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x1400c4209
cmp rbx, 0x320000
jae 0x1400c41d7
lea rdi, [rbx + 0x8000]
jmp 0x1400c4209
cmp rbx, 0xc80000
jae 0x1400c4202
movabs rax, 0x47ae147ae147ae15
mov rdi, rbx
mul rbx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbx
jmp 0x1400c4209
lea rdi, [rbx + 0x20000]
cmp rdi, rcx
cmova rdi, rcx
cmp r8b, 2
jne 0x1400c4228
test r9, r9
je 0x1400c4228
mov rcx, qword [r13 + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c422a
xor bl, bl
test rdi, rdi
js 0x1400c42a4
mov rcx, rdi
call fcn.1401084ac
test rax, rax
je 0x1400c42a4
mov byte [r13 + 0x20], 2
and byte [r13 + 0x21], 0x7f
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rdi
mov rcx, qword [r13 + 8]
lea rax, [rbp + 0x10]
cmp rcx, rax
je 0x1400c4268
lea r8, [rsi + rsi]
lea rdx, [rbp + 0x10]
call fcn.140109100
mov rax, qword [r13 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r13 + 0x10], rcx
lea r12, [0x140171290]
mov r13d, dword [rbp - 0x68]
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
mov rbx, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x50]
mov byte [rbp + 0x4b0], 1
mov byte [rsp + 0x6d], 1
jmp 0x1400c431f
lea r12, [0x140171290]
test bl, bl
je 0x1400c42bb
xor eax, eax
mov qword [r13 + 8], r12
mov qword [r13 + 0x18], rax
jmp 0x1400c42c6
mov rax, qword [r13 + 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 [r13 + 0x10], rax
call fcn.1400a5580
jmp 0x1400c4281
mov r13d, dword [rbp + 0x4b0]
mov rbx, rax
jmp 0x1400c430f
mov rsi, qword [rbp - 0x58]
mov r13d, dword [rbp + 0x4b0]
jmp 0x1400c430b
mov r13d, dword [rbp - 0x68]
mov rsi, qword [rbp - 0x50]
or r14, 0xffffffffffffffff
mov rbx, qword [rbp - 0x70]
mov edi, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x68]
lea r12, [0x140171290]
cmp byte [rsp + 0x6e], 0
je 0x1400c365d
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1400c3669
cmp byte [rbp + 0x4f0], 0
jne 0x1400c468d
cmp byte [rbp + 0x4b0], 0
je 0x1400c468d
mov eax, dword [rsp + 0x78]
cmp eax, 3
je 0x1400c436f
mov r9d, edi
mov r8d, r15d
mov edx, eax
mov ecx, r13d
call fcn.1400bed60
mov r13d, eax
mov eax, r13d
cdq
idiv r15d
cmp byte [rsp + 0x6e], 0
je 0x1400c438c
mov ecx, dword [rbp + 0x4c0]
add edx, dword [rsp + 0x74]
lea edi, [rax + rcx]
jmp 0x1400c439e
sub edx, dword [rbp - 0x5c]
mov edi, eax
sub edi, dword [rbp - 0x30]
add edx, dword [rsp + 0x74]
add edi, dword [rbp + 0x4c0]
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400c43b2
movsxd rdx, edx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400c43c6
movsxd rdx, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov r13, qword [rbp - 0x18]
test r13, r13
je 0x1400c468d
mov edi, dword [rbp - 0x60]
cmp edi, 0xffffffff
je 0x1400c468d
cmp byte [rsp + 0x60], 0
jne 0x1400c4406
movzx eax, di
shr ax, 8
movzx edx, al
mov eax, edi
movzx edi, dil
shr eax, 0x10
shl edx, 8
shl edi, 0x10
movzx ecx, al
or edx, ecx
or edi, edx
lea rdx, str.0x_06X
lea rcx, [rbp + 0x10]
mov r8d, edi
call fcn.140108924
movzx r11d, byte [r13 + 0x23]
test r11b, r11b
jne 0x1400c4440
mov rcx, qword [r13 + 0x10]
lea rdx, [rbp + 0x10]
xor r9d, r9d
mov r8, r14
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
jmp 0x1400c46fc
lea rax, [rbp + 0x10]
cmp qword [r13 + 8], rax
jne 0x1400c4453
mov rbx, qword [r13 + 0x10]
shr rbx, 1
jmp 0x1400c4466
lea rdi, [rbp + 0x10]
xor eax, eax
mov rcx, r14
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
lea rax, [rbx + 1]
lea rdi, [rax + rax]
cmp r11b, 2
jne 0x1400c4485
lea rcx, [rbp + 0x10]
mov rdx, rbx
call fcn.140005910
jmp 0x1400c46fc
mov rcx, qword [0x140169b08]
cmp rdi, rcx
jbe 0x1400c44ab
cmp rdi, qword [r13 + 0x18]
jbe 0x1400c44ab
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
jmp 0x1400c46e9
cmp rax, 2
jae 0x1400c44c5
xor r8d, r8d
mov rcx, r13
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400c468d
movzx eax, byte [r13 + 0x21]
test al, 2
je 0x1400c44e5
mov rcx, qword [r13]
and al, 0x3d
mov byte [r13 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
mov r8, qword [r13 + 0x18]
and byte [r13 + 0x21], 0x82
cmp rdi, r8
jbe 0x1400c4661
movzx r9d, byte [r13 + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400c451d
cmp al, 2
je 0x1400c455f
mov rsi, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x4b0]
jmp 0x1400c4654
cmp rdi, 0x80
ja 0x1400c455f
cmp rdi, 8
ja 0x1400c4533
mov esi, 8
jmp 0x1400c4544
mov esi, pe_nt_image_headers64
cmp rdi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe esi, eax
mov rcx, rsi
call fcn.1400dc2b0
test rax, rax
je 0x1400c4700
mov byte [r13 + 0x20], 1
jmp 0x1400c4654
cmp rdi, 0x20
jae 0x1400c456f
mov esi, SafeArrayAllocDescriptor
jmp 0x1400c4616
cmp rdi, 0x208
jae 0x1400c4582
mov esi, 0x208
jmp 0x1400c4616
cmp rdi, 0x50000
jae 0x1400c45d2
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400c45a1
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400c45c8
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400c45c8
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rsi, xmm0
add rsi, rax
jmp 0x1400c4616
cmp rdi, 0x320000
jae 0x1400c45e4
lea rsi, [rdi + 0x8000]
jmp 0x1400c4616
cmp rdi, 0xc80000
jae 0x1400c460f
movabs rax, 0x47ae147ae147ae15
mov rsi, rdi
mul rdi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 6
add rsi, rdi
jmp 0x1400c4616
lea rsi, [rdi + 0x20000]
cmp rsi, rcx
cmova rsi, rcx
cmp r9b, 2
jne 0x1400c4636
test r8, r8
je 0x1400c4636
mov rcx, qword [r13 + 8]
mov dil, 1
call fcn.140108f48
jmp 0x1400c4639
xor dil, dil
test rsi, rsi
js 0x1400c46c2
mov rcx, rsi
call fcn.1401084ac
test rax, rax
je 0x1400c46c2
mov byte [r13 + 0x20], 2
and byte [r13 + 0x21], 0x7f
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rsi
mov rcx, qword [r13 + 8]
lea rax, [rbp + 0x10]
cmp rcx, rax
je 0x1400c467b
lea r8, [rbx + rbx]
lea rdx, [rbp + 0x10]
call fcn.140109100
mov rax, qword [r13 + 8]
lea rcx, [rbx + rbx]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r13 + 0x10], rcx
cmp byte [rbp + 0x4b0], 0
mov rcx, qword [0x1401703d0]
lea r12, [0x1401296b4]
lea rdx, [0x14012e7cc]
mov r8, r14
mov byte [rsp + 0x20], 1
cmovne rdx, r12
xor r9d, r9d
call fcn.1400e9bc0
jmp 0x1400c36fa
test dil, dil
je 0x1400c46d3
xor eax, eax
mov qword [r13 + 8], r12
mov qword [r13 + 0x18], rax
jmp 0x1400c46de
mov rax, qword [r13 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r13 + 0x10], rax
lea rdx, str.Out_of_memory.
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
test eax, eax
jne 0x1400c468d
xor eax, eax
jmp 0x1400c36fa
mov r10d, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x64]
cmp r11d, r10d
setg cl
cmp dword [rbp + 0x4c0], r8d
setg bl
mov byte [rsp + 0x6c], cl
test edi, edi
jle 0x1400c47c7
movzx r8d, r12b
cmp edi, r8d
jle 0x1400c4744
mov byte [rbp + 0x4e8], 0
jmp 0x1400c4751
movzx edx, r12b
sub dl, dil
mov byte [rbp + 0x4e8], dl
movzx edx, r13b
cmp edi, edx
jle 0x1400c4760
mov byte [rsp + 0x6d], 0
jmp 0x1400c476b
movzx ecx, r13b
sub cl, dil
mov byte [rsp + 0x6d], cl
movzx ecx, r14b
cmp edi, ecx
jle 0x1400c4778
xor r14b, r14b
jmp 0x1400c477b
sub r14b, dil
mov eax, r15d
sub eax, r8d
cmp edi, eax
jg 0x1400c4789
lea r15d, [r12 + rdi]
mov r8d, 0xff
mov eax, r8d
sub eax, edx
cmp edi, eax
jle 0x1400c479e
movzx r13d, r8b
jmp 0x1400c47a6
movzx r13d, dil
add r13b, byte [rbp - 0x7c]
sub r8d, ecx
movzx ecx, byte [rsp + 0x6c]
cmp edi, r8d
mov r8d, dword [rsp + 0x64]
jle 0x1400c47bd
mov r12b, 0xff
jmp 0x1400c47ff
movzx r12d, dil
add r12b, byte [rbp - 0x80]
jmp 0x1400c47ff
movzx eax, byte [rbp + 0x4b0]
movzx r14d, byte [rbp + 0x4b0]
movzx r15d, byte [rbp + 0x4b0]
movzx r13d, byte [rbp + 0x4b0]
movzx r12d, byte [rbp + 0x4b0]
mov byte [rbp + 0x4e8], al
movzx eax, byte [rbp + 0x4b0]
mov byte [rsp + 0x6d], al
movsxd rax, edi
mov edi, dword [rbp + 0x4b0]
or rdx, 0xffffffffffffffff
mov qword [rbp - 0x18], rax
test cl, cl
je 0x1400c4820
xor ecx, ecx
cmp r11d, r10d
mov eax, ecx
setge al
jmp 0x1400c482a
xor ecx, ecx
cmp r11d, r10d
mov eax, ecx
setle al
test eax, eax
je 0x1400c4879
mov edi, dword [rbp + 0x4c0]
mov eax, ecx
test bl, bl
je 0x1400c4842
cmp edi, r8d
setge al
jmp 0x1400c4848
cmp edi, r8d
setle al
test eax, eax
je 0x1400c4922
mov r8d, edi
mov edx, r11d
mov rcx, r9
call qword [sym.imp.GDI32.dll_GetPixel]
cmp qword [rbp - 0x18], 1
jge 0x1400c48c8
cmp eax, esi
jne 0x1400c48fa
mov r9, qword [rbp - 0x40]
mov byte [rbp + 0x4b0], 1
mov rdx, r9
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rbp + 0x4b0], 0
jne 0x1400c4bf4
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400c4943
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14012e7cc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
mov r14d, eax
jmp 0x1400c3702
movzx ecx, ax
mov edx, eax
shr cx, 8
shr edx, 0x10
cmp al, byte [rbp + 0x4e8]
jb 0x1400c48fa
cmp al, r15b
ja 0x1400c48fa
cmp cl, byte [rsp + 0x6d]
jb 0x1400c48fa
cmp cl, r13b
ja 0x1400c48fa
cmp dl, r14b
jb 0x1400c48fa
cmp dl, r12b
jbe 0x1400c486e
mov r9, qword [rbp - 0x40]
mov r8d, dword [rsp + 0x64]
mov r11d, dword [rsp + 0x74]
test bl, bl
mov eax, 1
mov rdx, 0xffffffffffffffff
cmovne eax, edx
add edi, eax
xor ecx, ecx
jmp 0x1400c4834
movzx ecx, byte [rsp + 0x6c]
mov r10d, dword [rsp + 0x68]
mov eax, 1
test cl, cl
cmovne eax, edx
add r11d, eax
mov dword [rsp + 0x74], r11d
jmp 0x1400c4810
lea rsi, [0x14012e7cc]
mov r14d, 1
cmp qword [rdi + 8], rsi
jne 0x1400c495f
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400c4962
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x1400c4982
mov rdx, r12
mov rcx, rsi
call fcn.140005910
mov r14d, eax
jmp 0x1400c3702
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400c49be
cmp rbx, qword [rdi + 0x18]
jbe 0x1400c49be
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400c3702
cmp rdx, 2
jae 0x1400c49db
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
mov eax, r14d
jmp 0x1400c3702
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400c49f8
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 0x1400c4b7d
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400c4a2f
cmp al, 2
je 0x1400c4a79
mov r13, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x4b0]
jmp 0x1400c4b71
cmp rbx, 0x80
ja 0x1400c4a79
cmp rbx, 8
ja 0x1400c4a46
mov r13d, 8
jmp 0x1400c4a59
mov r13d, pe_nt_image_headers64
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400dc2b0
test rax, rax
jne 0x1400c4a70
xor eax, eax
mov r14d, eax
jmp 0x1400c3702
mov byte [rdi + 0x20], 1
jmp 0x1400c4b71
cmp rbx, 0x20
jae 0x1400c4a8a
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400c4b3a
cmp rbx, 0x208
jae 0x1400c4a9e
mov r13d, 0x208
jmp 0x1400c4b3a
cmp rbx, 0x50000
jae 0x1400c4af6
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c4abd
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400c4aec
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400c4aec
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400c4b3a
cmp rbx, 0x320000
jae 0x1400c4b08
lea r13, [rbx + 0x8000]
jmp 0x1400c4b3a
cmp rbx, 0xc80000
jae 0x1400c4b33
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400c4b3a
lea r13, [rbx + 0x20000]
cmp r13, rcx
cmova r13, rcx
cmp r9b, 2
jne 0x1400c4b59
test r8, r8
je 0x1400c4b59
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c4b5b
xor bl, bl
test r13, r13
js 0x1400c4bac
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400c4bac
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 0x1400c4b92
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.140109100
lea rcx, [r12 + r12]
mov rax, qword [rdi + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400c3702
test bl, bl
je 0x1400c4bc3
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x1400c4bcc
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 0x1400c3702
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400c4c0f
mov eax, dword [rsp + 0x74]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
sub eax, dword [rbp - 0x5c]
movsxd rdx, eax
call fcn.140001370
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400c4c26
sub edi, dword [rbp - 0x30]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
movsxd rdx, edi
call fcn.140001370
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400c4c59
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 0x1400c3702
lea r12, [0x1401296b4]
mov r14d, 1
cmp qword [rdi + 8], r12
jne 0x1400c4c75
mov rsi, qword [rdi + 0x10]
shr rsi, 1
jmp 0x1400c4c78
mov rsi, r14
lea rdx, [rsi + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x1400c4c97
mov rdx, rsi
mov rcx, r12
call fcn.140005910
mov r14d, eax
jmp 0x1400c3702
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400c4cad
cmp rbx, qword [rdi + 0x18]
ja 0x1400c4994
cmp rdx, 2
jb 0x1400c49c4
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400c4cd4
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 0x1400c4e5b
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400c4d0b
cmp al, 2
je 0x1400c4d4f
mov r13, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x4b0]
jmp 0x1400c4e4f
cmp rbx, 0x80
ja 0x1400c4d4f
cmp rbx, 8
ja 0x1400c4d22
mov r13d, 8
jmp 0x1400c4d35
mov r13d, pe_nt_image_headers64
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r13d, eax
mov rcx, r13
call fcn.1400dc2b0
test rax, rax
je 0x1400c4a66
mov byte [rdi + 0x20], 1
jmp 0x1400c4e4f
cmp rbx, 0x20
jae 0x1400c4d60
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400c4e10
cmp rbx, 0x208
jae 0x1400c4d74
mov r13d, 0x208
jmp 0x1400c4e10
cmp rbx, 0x50000
jae 0x1400c4dcc
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400c4d93
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400c4dc2
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400c4dc2
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400c4e10
cmp rbx, 0x320000
jae 0x1400c4dde
lea r13, [rbx + 0x8000]
jmp 0x1400c4e10
cmp rbx, 0xc80000
jae 0x1400c4e09
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400c4e10
lea r13, [rbx + 0x20000]
cmp r13, rcx
cmova r13, rcx
cmp r9b, 2
jne 0x1400c4e2f
test r8, r8
je 0x1400c4e2f
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400c4e31
xor bl, bl
test r13, r13
js 0x1400c4bac
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400c4bac
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 0x1400c4e70
lea r8, [rsi + rsi]
mov rdx, r12
call fcn.140109100
lea rcx, [rsi + rsi]
jmp 0x1400c4b96