Function at 0x1400bb1c0
Capabilities:
Capture screenshot
Generate random numbers using a mersenne twister

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 - 0x800]
sub rsp, 0x900
movzx eax, byte [rcx + 2]
mov rcx, qword [0x14016f6f0]
xor r14d, r14d
cmp al, 1
mov edi, r14d
mov ebx, r14d
cmova rdi, qword [0x14016f6f8]
cmp al, 7
mov r13d, r9d
cmova rbx, qword [0x14016f728]
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x40], rbx
test rcx, rcx
je 0x1400bb22e
call fcn.140023100
test rdi, rdi
je 0x1400bb23b
mov rcx, rdi
call fcn.140023100
test rbx, rbx
je 0x1400bb248
mov rcx, rbx
call fcn.140023100
mov rax, qword [0x140169c00]
xor r12d, r12d
mov esi, r14d
movzx edi, word [rax + 0x130]
mov dword [rbp + 0x28], r14d
mov qword [rbp + 0x50], r12
and edi, 3
cmp edi, 2
je 0x1400bb2c5
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x1400bb2c5
mov rcx, rax
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x1400bb2c5
mov rcx, rbx
test edi, edi
jne 0x1400bb2a5
lea rdx, [rbp + 0x78]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x1400bb2c5
add esi, dword [rbp + 0x78]
add r12d, dword [rbp + 0x7c]
jmp 0x1400bb2be
lea rdx, [rbp + 0x20]
mov qword [rbp + 0x20], r14
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x1400bb2c5
add esi, dword [rbp + 0x20]
add r12d, dword [rbp + 0x24]
mov qword [rbp + 0x50], r12
mov dword [rbp + 0x28], esi
mov rbx, qword [rbp + 0x868]
xor esi, esi
or eax, 0xffffffff
lea edx, [rsi + 0x2e]
mov rcx, rbx
mov dword [rbp - 0x60], esi
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x74], esi
mov dword [rbp - 0x80], esi
mov dword [rbp - 0x18], esi
call fcn.14010a5e8
mov rdi, rax
test rax, rax
je 0x1400bb34f
add rdi, 2
lea rdx, [0x140150630]
mov rcx, rdi
call fcn.140108424
test eax, eax
je 0x1400bb333
lea rdx, [0x140150638]
mov rcx, rdi
call fcn.140108424
test eax, eax
je 0x1400bb333
lea rdx, [0x140150640]
mov rcx, rdi
call fcn.140108424
test eax, eax
jne 0x1400bb34f
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, gethostbyname
mov dword [rbp - 0x80], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbp - 0x18], eax
xor r9b, r9b
or r14d, 0xffffffff
xor r15b, r15b
xor al, al
mov byte [rbp - 0x10], sil
mov qword [rbp + 0x38], rsi
mov qword [rbp - 8], rsi
mov qword [rbp + 0x60], rsi
mov byte [rsp + 0x64], sil
mov qword [rbp - 0x20], rsi
mov dword [rbp - 0x30], esi
mov dword [rsp + 0x68], esi
mov byte [rsp + 0x7c], sil
mov qword [rbp + 0x30], rsi
mov byte [rsp + 0x75], sil
mov byte [rsp + 0x76], al
mov byte [rbp + 0x868], r9b
mov byte [rbp - 0x5c], 1
mov dword [rbp], r14d
mov dword [rbp - 0x48], 3
mov dword [rbp + 0x10], 3
mov dword [rbp - 0x34], 0x3e8
mov dword [rbp - 0x38], 0xff000000
mov byte [rbp - 0x70], 1
mov rsi, rbx
nop
movzx eax, word [rsi]
cmp ax, 0x20
je 0x1400bb3cf
cmp ax, 9
jne 0x1400bb3d5
add rsi, 2
jmp 0x1400bb3c0
cmp word [rsi], 0x2a
mov r12d, dword [rbp + 0x860]
mov edi, 8
jne 0x1400bbd9c
mov r14, qword [rbp + 0x30]
nop
movzx ecx, word [rsi + 2]
add rsi, 2
lea rbx, [0x140000000]
call fcn.14010a054
add eax, 0xffffffbf
cmp eax, 0x16
ja case.0x1400bb41c.66
cdqe
mov ecx, dword [rbx + rax*4 + 0xbecf8]
add rcx, rbx
jmp rcx
lea rdx, [0x14014d698]
mov r8d, 3
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb55a
add rsi, 6
mov byte [rsp + 0x64], 1
cmp word [rsi], ax
je 0x1400bb55a
lea rcx, [rbp - 0x30]
mov rdx, rsi
call fcn.1400cdb80
jmp 0x1400bb55a
lea rcx, [0x140150648]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb48d
add rsi, 0x14
mov byte [rsp + 0x75], 1
jmp 0x1400bb55a
lea rcx, [0x140150670]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
movzx r9d, byte [rbp + 0x868]
test eax, eax
jne 0x1400bb562
add rsi, 0x14
mov byte [rsp + 0x75], 1
mov byte [rsp + 0x76], 1
jmp 0x1400bb562
lea rcx, [0x1401505a0]
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb501
mov r9b, 1
add rsi, 0x14
mov byte [rbp - 0x5c], al
mov byte [rbp + 0x868], r9b
jmp 0x1400bb562
lea rcx, [0x1401505c8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb532
mov r9b, 1
add rsi, 8
mov byte [rbp + 0x868], r9b
jmp 0x1400bb562
lea rcx, [rsi + 2]
call fcn.140013c70
lea rcx, [rsi + 2]
test al, al
je 0x1400bb62d
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.140109ef0
mov dword [rbp - 0x18], eax
mov edi, 8
movzx r9d, byte [rbp + 0x868]
test rsi, rsi
je 0x1400bb5a3
movzx edx, word [rsi]
test dx, dx
je 0x1400bb5a3
nop
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400bbd6a
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400bb580
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x1400bb570
mov rbx, qword [rbp + 0x38]
movzx edi, byte [rbp + 0x868]
xor r15d, r15d
cmp byte [rbp - 0x70], 0
je 0x1400bb5c9
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400bb5c9
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test rbx, rbx
je 0x1400bb5e2
test dil, dil
je 0x1400bb5d9
cmp byte [rbp - 0x5c], 0
je 0x1400bb5e2
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [0x140169c00]
test byte [rax + 0x140], 1
jne 0x1400becd1
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400bea25
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 0x1400bdd0a
call fcn.14010998c
jmp 0x1400bb552
lea rdx, str.Icon
mov r8d, 4
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb55a
add rsi, 8
mov rcx, rsi
call fcn.140013c70
mov rcx, rsi
test al, al
je 0x1400bb67a
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.140109ef0
mov dword [rbp - 0x74], eax
jmp 0x1400bb55a
call fcn.14010998c
mov dword [rbp - 0x74], eax
jmp 0x1400bb55a
lea rcx, str._b___6.
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb55a
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 0x1400bb6dd
mov dword [rbp + 0x10], 1
jmp 0x1400bb55a
lea rdx, str.CENTER
mov r8d, 6
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb702
mov dword [rbp + 0x10], 2
jmp 0x1400bb55a
lea rdx, [0x1401506e8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb806
lea rdx, [0x1401506f0]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb806
lea rdx, [0x1401506f8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7fa
lea rdx, [0x140150700]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7fa
lea rdx, [0x140150708]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7ee
lea rdx, [0x140150710]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7ee
lea rdx, [0x140150718]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7e2
lea rdx, [0x140150720]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
je 0x1400bb7e2
mov r15b, 1
jmp 0x1400bb55a
mov dword [rbp + 0x10], 6
jmp 0x1400bb55a
mov dword [rbp + 0x10], 5
jmp 0x1400bb55a
mov dword [rbp + 0x10], 4
jmp 0x1400bb55a
mov dword [rbp + 0x10], 3
jmp 0x1400bb55a
lea rcx, str._t9_4
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb55a
add rsi, 8
lea r8d, [rax + 2]
lea rdx, [0x1401506e8]
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb85e
mov dword [rbp - 0x48], 1
jmp 0x1400bb55a
lea rdx, [0x1401506f0]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb883
mov dword [rbp - 0x48], 7
jmp 0x1400bb55a
lea rdx, [0x140150720]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb8a8
mov dword [rbp - 0x48], 5
jmp 0x1400bb55a
lea rdx, [0x140150708]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb8cd
mov dword [rbp - 0x48], 2
jmp 0x1400bb55a
lea rdx, [0x140150710]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb8ee
mov dword [rbp - 0x48], edi
jmp 0x1400bb55a
lea rdx, [0x1401506f8]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb911
xor eax, eax
mov dword [rbp - 0x48], eax
jmp 0x1400bb55a
lea rdx, [0x140150700]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
test eax, eax
jne 0x1400bb936
mov dword [rbp - 0x48], 6
jmp 0x1400bb55a
lea rdx, [0x140150718]
mov r8d, 2
mov rcx, rsi
call fcn.140108e4c
movzx r9d, byte [rbp + 0x868]
test eax, eax
jne 0x1400bb963
mov dword [rbp - 0x48], 3
jmp 0x1400bb562
mov r15b, 1
jmp 0x1400bb562
lea rcx, [0x140150748]
call fcn.1400dd2e0
mov r8, rdi
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb9ae
add rsi, 0x10
cmp word [rsi], ax
je 0x1400bb9a6
lea rcx, [rbp]
mov rdx, rsi
call fcn.1400cdf50
test al, al
jne 0x1400bb55a
mov r15b, 1
jmp 0x1400bb55a
lea rcx, [0x140150538]
call fcn.1400dd2e0
mov r8d, 5
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb9de
add rsi, 0xa
cmp word [rsi], ax
je 0x1400bb9a6
lea rcx, [rbp - 0x40]
jmp 0x1400bb996
lea rcx, [0x140150770]
call fcn.1400dd2e0
mov r8d, 6
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb55a
lea rcx, [0x1401505a0]
add rsi, 0xc
mov byte [rsp + 0x7c], 1
call fcn.1400dd2e0
mov r8d, 0xa
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bba38
add rsi, 0x14
mov bl, 1
mov byte [rbp - 0x70], al
jmp 0x1400bba93
lea rcx, [0x1401505c8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bba64
mov bl, 1
add rsi, 8
mov byte [rbp - 0x70], bl
jmp 0x1400bba93
lea rcx, [0x1401505e8]
call fcn.1400dd2e0
mov r8d, 4
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bb7da
add rsi, 8
mov byte [rbp - 0x70], 1
xor bl, bl
test r15b, r15b
jne 0x1400bb55a
test r14, r14
jne 0x1400bb55a
lea rcx, [rbp + 0x1a0]
mov r8d, 0x207
mov rdx, rsi
call fcn.14010a074
movzx edx, word [rbp + 0x1a0]
xor r8d, r8d
mov word [rbp + 0x5ae], r8w
lea rdi, [rbp + 0x1a0]
test dx, dx
je 0x1400bbb15
nop dword [rax + rax]
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400bbb11
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400bbaf0
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x1400bbae0
jmp 0x1400bbb15
mov word [rdi], r8w
lea rcx, [rbp + 0x1a0]
test bl, bl
je 0x1400bbbaa
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400bbb33
cmp ax, 9
jne 0x1400bbb39
add rcx, 2
jmp 0x1400bbb24
movzx eax, word [rcx]
test ax, ax
je 0x1400bbb92
cmp ax, 0x2d
je 0x1400bbb4d
cmp ax, 0x2b
jne 0x1400bbb51
add rcx, 2
cmp word [rcx], 0x30
jne 0x1400bbb92
movzx eax, word [rcx + 2]
cmp ax, 0x78
je 0x1400bbb67
cmp ax, 0x58
jne 0x1400bbb92
movzx ecx, word [rcx + 4]
call fcn.140109c84
test eax, eax
je 0x1400bbb92
xor edx, edx
lea rcx, [rbp + 0x1a0]
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
mov r8, rax
mov qword [rbp + 0x30], rax
jmp 0x1400bbc32
lea rcx, [rbp + 0x1a0]
call fcn.140109998
mov r8, rax
mov qword [rbp + 0x30], rax
jmp 0x1400bbc32
mov r8d, 0x207
mov rdx, rsi
call fcn.14010a074
xor ebx, ebx
cmp word [rbp + 0x1a0], 0x3c
mov word [rbp + 0x5ae], bx
jne 0x1400bbc3f
lea rdx, [0x14012cadc]
lea rcx, [rbp + reloc.OLEAUT32.dll_OleCreatePictureIndirect]
call fcn.14000b9d0
test rax, rax
je 0x1400bbc3f
mov word [rax], bx
lea rcx, [rbp + 0x1a0]
mov qword [rsp + 0x30], rbx
sub rax, rcx
lea r9, [rbp - 0x58]
lea rcx, [rbp + reloc.OLEAUT32.dll_OleCreatePictureIndirect]
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 - 0x58], 1
movzx r15d, r15b
mov r8, rax
mov qword [rbp + 0x30], rax
mov eax, 1
cmove r15d, eax
mov r14, qword [rbp + 0x30]
test r8, r8
jne 0x1400bb555
mov r15b, 1
jmp 0x1400bb555
lea rcx, [0x140150790]
call fcn.1400dd2e0
mov r8d, 2
mov rcx, rsi
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x1400bbca3
add rsi, 4
test r13d, r13d
jle 0x1400bbc7d
mov eax, dword [rbp + 0x848]
dec eax
xor ebx, ebx
jmp 0x1400bbc81
xor ebx, ebx
mov eax, ebx
add r13d, eax
test r12d, r12d
jle 0x1400bbc99
mov eax, dword [rbp + 0x850]
dec eax
add r12d, eax
jmp 0x1400bb55a
mov eax, ebx
add r12d, ebx
jmp 0x1400bb55a
lea rcx, [rsi + 2]
call fcn.140013c70
lea rcx, [rsi + 2]
test al, al
je 0x1400bbcc7
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.140109ef0
mov dword [rbp - 0x80], eax
jmp 0x1400bb555
call fcn.14010998c
mov dword [rbp - 0x80], eax
jmp 0x1400bb555
mov rax, rsi
movzx ecx, word [rax]
cmp cx, 0x20
je 0x1400bbce6
cmp cx, 9
jne 0x1400bbcec
add rax, 2
jmp 0x1400bbcd7
movzx ecx, word [rax]
test cx, cx
je 0x1400bbd37
cmp cx, 0x2d
je 0x1400bbd00
cmp cx, 0x2b
jne 0x1400bbd04
add rax, 2
cmp word [rax], 0x30
jne 0x1400bbd37
movzx ecx, word [rax + 2]
cmp cx, 0x78
je 0x1400bbd1a
cmp cx, 0x58
jne 0x1400bbd37
movzx ecx, word [rax + 4]
call fcn.140109c84
test eax, eax
je 0x1400bbd37
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x10]
call fcn.140109ef0
jmp 0x1400bbd3f
mov rcx, rsi
call fcn.14010998c
movzx r9d, byte [rbp + 0x868]
test eax, eax
jns 0x1400bbd55
xor eax, eax
mov dword [rbp - 0x60], eax
jmp 0x1400bb562
mov r8d, 0xff
cmp eax, r8d
cmovg eax, r8d
mov dword [rbp - 0x60], eax
jmp 0x1400bb562
lea rbx, [rsi + 2]
mov rsi, rbx
movzx eax, word [rsi]
cmp ax, 0x20
je 0x1400bbd80
cmp ax, 9
jne 0x1400bbd86
add rsi, 2
jmp 0x1400bbd71
cmp word [rsi], 0x2a
je 0x1400bb3f0
mov esi, dword [rbp - 0x40]
mov r14d, dword [rbp]
mov dword [rbp - 0x58], esi
jmp 0x1400bbd9f
mov esi, dword [rbp - 0x58]
xor eax, eax
mov edi, eax
mov dword [rbp - 0x40], eax
cmp byte [rsp + 0x7c], al
jne 0x1400bbdc7
mov eax, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x50]
add dword [rbp + 0x848], eax
add dword [rbp + 0x850], ecx
add r13d, eax
add r12d, ecx
xor eax, eax
cmp esi, 0xffffffff
jne 0x1400bbdd1
or r14d, esi
jmp 0x1400bbdd4
mov dword [rbp - 0x38], esi
mov rcx, rbx
test r9b, r9b
je 0x1400bbdfc
call fcn.140013c70
mov rcx, rbx
test al, al
je 0x1400bbdf5
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.14010a4d8
jmp 0x1400bbe20
call fcn.140109998
jmp 0x1400bbe20
mov r8d, dword [rbp - 0x18]
mov edx, dword [rbp - 0x80]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x74]
lea r9, [rbp - 0x40]
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], eax
call fcn.1400e7a80
mov edi, dword [rbp - 0x40]
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x1400bb5a7
test r15b, r15b
jne 0x1400bb5a7
xor ecx, ecx
cmp byte [rsp + 0x7c], cl
je 0x1400bbe49
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
jmp 0x1400bbe4f
call qword [sym.imp.USER32.dll_GetDC]
mov r15, rax
mov qword [rbp + 0x70], rax
test rax, rax
jne 0x1400bbe84
movzx edi, byte [rbp + 0x868]
test dil, dil
je 0x1400bbe70
cmp byte [rbp - 0x5c], al
je 0x1400bb5ae
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor r15d, r15d
mov ebx, r15d
jmp 0x1400bb5b1
xor ecx, ecx
movaps xmmword [rsp + 0x8f0], xmm6
movsd xmm6, qword [0x140153038]
mov qword [rbp + 0x68], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x68], rcx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x98], rcx
mov byte [rbp + 0x840], cl
cmp edi, 1
jne 0x1400bbf44
lea rdx, [rbp + 0x180]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x1400bbf2c
mov rdi, qword [rbp + 0x190]
mov rcx, r15
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
je 0x1400bbf0e
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x7c]
lea r8, [rbp - 0x74]
lea rdx, [rbp - 0x80]
mov rcx, rdi
mov dword [rsp + 0x20], 1
call fcn.1400511c0
mov rcx, qword [rbp + 0x198]
mov qword [rbp + 8], rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x190]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rbx
call fcn.1400e84c0
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x1400bdb2a
mov rcx, r15
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400bbf88
mov edi, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x74]
mov r9d, dword [rbp]
mov ebx, dword [rbp - 0x40]
mov r15d, dword [rbp + 0x840]
mov dword [rsp + 0x78], edi
mov rdi, rax
mov rdx, rax
mov qword [rbp - 0x50], rax
mov dword [rsp + 0x70], ecx
mov dword [rbp - 0x78], r9d
mov dword [rsp + 0x6c], ebx
mov r11, rax
jmp 0x1400bda4d
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x7c]
lea r8, [rbp - 0x74]
lea rdx, [rbp - 0x80]
mov rcx, rbx
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov rdi, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400bdb2a
cmp byte [rsp + 0x7c], 0
jne 0x1400bc0b3
sub r12d, dword [rbp + 0x850]
sub r13d, dword [rbp + 0x848]
mov rcx, r15
inc r12d
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x1400bdb2a
lea edx, [r13 + 1]
mov r8d, r12d
mov rcx, r15
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp + 0x20], rax
test rax, rax
je 0x1400bdb2a
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp + 0x98], rax
test rax, rax
je 0x1400bdb2a
mov eax, dword [rbp + 0x850]
mov dword [rsp + 0x40], 0xcc0020
lea r9d, [r13 + 1]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x848]
xor r8d, r8d
mov dword [rsp + 0x30], eax
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r12d
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x1400bdb2a
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400bc0a5
mov ebx, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x74]
mov r9d, dword [rbp]
mov r15d, dword [rbp + 0x840]
xor eax, eax
mov dword [rsp + 0x78], ebx
mov ebx, dword [rbp - 0x40]
mov edi, eax
mov dword [rsp + 0x70], ecx
mov dword [rbp - 0x78], r9d
mov r11d, eax
mov dword [rsp + 0x6c], ebx
jmp 0x1400bda49
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x28], rax
jmp 0x1400bc1ea
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x1400bdb2a
cmp dword [rbp + 0x848], 0
jne 0x1400bc103
cmp dword [rbp + 0x850], 0
jne 0x1400bc103
test r13d, r13d
jne 0x1400bc103
test r12d, r12d
jne 0x1400bc103
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
je 0x1400bc075
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rax
jmp 0x1400bc1ea
mov r15, qword [rbp + 0x30]
lea r8, [rbp + 0xa0]
mov edx, SafeArrayAllocDescriptor
mov rcx, r15
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x1400bdb2a
test r13d, r13d
jne 0x1400bc142
test r12d, r12d
jne 0x1400bc142
mov r13d, dword [rbp + 0xa4]
mov r12d, dword [rbp + 0xa8]
dec r13d
dec r12d
mov eax, dword [rbp + 0x850]
mov ecx, dword [rbp + 0x848]
xor edx, edx
mov dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], edx
sub r13d, ecx
sub r12d, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r8d, [r13 + 1]
lea rcx, [rbp - 0x28]
lea r9d, [r12 + 1]
mov rdx, r15
call fcn.1400d14b0
test al, al
je 0x1400bdb57
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
test rax, rax
jne 0x1400bc1da
mov ebx, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x74]
mov r9d, dword [rbp]
mov r15d, dword [rbp + 0x840]
mov rdi, rax
mov rax, qword [rbp - 0x28]
mov dword [rsp + 0x78], ebx
mov ebx, dword [rbp - 0x40]
mov dword [rsp + 0x70], ecx
mov qword [rbp + 0x20], rax
mov dword [rbp - 0x78], r9d
mov r11, rdi
mov dword [rsp + 0x6c], ebx
jmp 0x1400bda49
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x20], rax
mov rcx, rax
lea r9, [rsp + 0x74]
lea r8, [rbp]
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x20], 8
call fcn.1400511c0
mov qword [rbp - 0x68], rax
mov r10, rax
test rax, rax
je 0x1400bdb2a
mov eax, dword [rbp - 0x80]
mov ecx, dword [rbp]
mov r12d, eax
mov dword [rsp + 0x78], eax
mov eax, dword [rbp - 0x74]
mov dword [rsp + 0x70], eax
mov dword [rbp - 0x78], ecx
imul r12d, eax
mov eax, dword [rbp - 0x40]
movsxd r13, r12d
mov dword [rsp + 0x6c], eax
mov qword [rbp + 0x18], r13
imul eax, ecx
cmp byte [rbp - 0x7c], 0
movsxd r15, eax
mov qword [rbp - 0x28], r15
mov dword [rbp - 0x18], eax
jne 0x1400bc267
cmp byte [rsp + 0x74], 0
jne 0x1400bc267
mov r11d, dword [rbp + 0x840]
xor ecx, ecx
mov dword [rsp + 0x60], r11d
jmp 0x1400bc2cf
cmp r14d, 0xffffffff
je 0x1400bc274
and r14d, 0xf8f8f8
cmp esi, 0xffffffff
je 0x1400bc282
and esi, 0xf8f8f8
mov dword [rbp - 0x58], esi
xor ecx, ecx
mov eax, ecx
test r15, r15
jle 0x1400bc2a0
nop dword [rax + rax]
and dword [r10 + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x1400bc290
mov r11d, ecx
mov dword [rsp + 0x60], ecx
mov rax, rcx
test r12d, r12d
jle 0x1400bc2cf
mov r11d, r13d
mov dword [rsp + 0x60], r13d
nop word [rax + rax]
and dword [rdi + rax*4], 0xf8f8f8
inc rax
cmp rax, r13
jl 0x1400bc2c0
xor bl, bl
xor sil, sil
cmp byte [rsp + 0x75], bl
je 0x1400bc511
movzx r8d, byte [rsp + 0x76]
mov r9d, dword [rbp - 0x60]
mov sil, 1
mov rdi, rcx
test r15, r15
jle 0x1400bc366
xor r13d, r13d
nop word [rax + rax]
mov ecx, dword [r10 + 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 r8b, r8b
je 0x1400bc349
mov eax, 0xff
mov ecx, 0xffffff
sub eax, r9d
cmp edx, eax
cmovb ecx, r13d
mov dword [r10 + rdi*4], ecx
jmp 0x1400bc359
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [r10 + rdi*4], eax
inc rdi
cmp rdi, r15
jl 0x1400bc300
movsxd r13, r12d
xor ecx, ecx
mov eax, dword [rbp - 0x58]
mov bl, 1
mov r11d, ecx
mov rdi, rcx
mov dword [rsp + 0x60], ecx
cmp eax, 0xffffffff
je 0x1400bc416
test r13, r13
jle 0x1400bc497
mov r10, qword [rbp - 0x50]
mov r11d, r13d
mov dword [rsp + 0x60], r13d
xor r15d, r15d
nop word [rax + rax]
mov edx, dword [r10 + rdi*4]
and edx, 0xffffff
cmp edx, eax
jne 0x1400bc3b4
mov dword [r10 + rdi*4], edx
jmp 0x1400bc40c
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 r8b, r8b
je 0x1400bc3f9
mov eax, 0xff
mov ecx, 0xffffff
sub eax, r9d
cmp edx, eax
cmovb ecx, r15d
mov dword [r10 + rdi*4], ecx
jmp 0x1400bc409
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [r10 + rdi*4], eax
mov eax, dword [rbp - 0x58]
inc rdi
cmp rdi, r13
jl 0x1400bc3a0
jmp 0x1400bc491
test r13, r13
jle 0x1400bc497
mov r10, qword [rbp - 0x50]
mov r11d, r13d
mov dword [rsp + 0x60], r13d
xor r15d, r15d
nop word [rax + rax]
mov ecx, dword [r10 + 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 r8b, r8b
je 0x1400bc479
mov eax, 0xff
mov ecx, 0xffffff
sub eax, r9d
cmp edx, eax
cmovb ecx, r15d
mov dword [r10 + rdi*4], ecx
jmp 0x1400bc489
mov eax, edx
shl eax, 8
or eax, edx
shl eax, 8
or eax, edx
mov dword [r10 + rdi*4], eax
inc rdi
cmp rdi, r13
jl 0x1400bc430
mov r15, qword [rbp - 0x28]
xor ecx, ecx
mov r13d, dword [rbp - 0x60]
cmp r14d, 0xffffffff
je 0x1400bc4e9
movzx ecx, r14w
mov eax, 0x55555556
shr cx, 8
movzx edx, cl
mov ecx, r14d
shr ecx, 0x10
movzx ecx, cl
add edx, ecx
movzx ecx, r14b
add edx, ecx
imul edx
mov eax, edx
shr eax, 0x1f
add edx, eax
test r8b, r8b
je 0x1400bc4fa
mov eax, 0xff
mov r14d, 0xffffff
mov ecx, 0
sub eax, r13d
cmp edx, eax
cmovb r14d, ecx
mov rdi, qword [rbp - 0x50]
test r8b, r8b
cmovne r13d, ecx
mov dword [rbp - 0x60], r13d
jmp 0x1400bc515
mov rdi, qword [rbp - 0x50]
mov r14d, edx
shl r14d, 8
or r14d, edx
shl r14d, 8
or r14d, edx
jmp 0x1400bc515
mov r13d, dword [rbp - 0x60]
cmp dword [rbp - 0x48], 3
jne 0x1400bc589
test bl, bl
jne 0x1400bc54c
mov rdx, qword [rbp + 0x18]
xor eax, eax
mov r11d, eax
mov dword [rsp + 0x60], eax
test rdx, rdx
jle 0x1400bc54c
lea rax, [rdi + 3]
mov rcx, rdx
mov r11d, edx
mov dword [rsp + 0x60], edx
nop
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400bc540
mov ebx, dword [rbp - 0x18]
mov rdi, qword [rbp - 0x68]
movzx eax, byte [rsp + 0x64]
xor r9d, r9d
mov ecx, r9d
cmp qword [rbp + 0x40], rcx
cmovne ecx, eax
movzx eax, cl
mov byte [rsp + 0x64], cl
test cl, cl
je 0x1400bc748
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x1400bc724
inc eax
mov dword [rbp - 0x34], eax
jmp 0x1400bc729
movsxd rax, r12d
lea rcx, [rax*4]
call fcn.1401084ac
mov r11, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x1400bdbad
lea rcx, [r15*4]
call fcn.1401084ac
mov r9, rax
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1400bdb98
mov r8, qword [rbp - 8]
movsxd rax, r12d
test bl, bl
jne 0x1400bc5f6
test r12d, r12d
jle 0x1400bc61f
mov rcx, r8
sub rdi, r8
mov rdx, rax
nop
mov eax, dword [rdi + rcx]
add rcx, 4
and eax, 0xffffff
dec rdx
mov dword [rcx - 4], eax
jne 0x1400bc5e0
jmp 0x1400bc61f
test r12d, r12d
jle 0x1400bc61f
mov rcx, r8
sub rdi, r8
mov rdx, rax
nop word [rax + rax]
mov eax, dword [rcx + rdi]
add rcx, 4
dec rdx
mov dword [rcx - 4], eax
jne 0x1400bc610
xor eax, eax
mov r11d, eax
mov dword [rsp + 0x60], eax
test sil, sil
jne 0x1400bc666
test r15, r15
jle 0x1400bc68f
mov rdi, qword [rbp - 0x68]
mov rcx, r9
mov rdx, r15
mov r11d, r15d
mov dword [rsp + 0x60], r15d
sub rdi, r9
nop word [rax + rax]
mov eax, dword [rdi + rcx]
add rcx, 4
and eax, 0xffffff
dec rdx
mov dword [rcx - 4], eax
jne 0x1400bc650
jmp 0x1400bc68f
test r15, r15
jle 0x1400bc68f
mov rdi, qword [rbp - 0x68]
mov rcx, r9
mov rdx, r15
mov r11d, r15d
mov dword [rsp + 0x60], r15d
sub rdi, r9
mov eax, dword [rcx + rdi]
add rcx, 4
dec rdx
mov dword [rcx - 4], eax
jne 0x1400bc680
mov rax, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x68]
mov ebx, dword [rbp - 0x18]
mov ecx, dword [rbp - 0x48]
mov qword [rbp + 0xc8], rax
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp - 0x74]
mov dword [rbp + 0xd0], r12d
mov r12d, dword [rbp - 0x40]
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp]
mov qword [rbp + 0xc0], r8
lea rdx, [rbp + 0xc0]
lea r8, [rbp + 0x78]
mov dword [rbp + 0x90], eax
mov sil, 1
mov qword [rbp + 0x78], r9
mov qword [rbp + 0x80], rdi
mov dword [rbp + 0x88], ebx
mov dword [rbp + 0x8c], r12d
call fcn.1400bf210
cmp dword [rbp - 0x48], 4
jle 0x1400bc553
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x78], r12d
mov dword [rsp + 0x78], ecx
mov ecx, dword [rbp]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x6c], ecx
jmp 0x1400bc553
mov eax, 0x3e8
movsxd rcx, eax
shl rcx, 2
call fcn.1401084ac
mov r11, rax
mov qword [rbp - 0x20], rax
test rax, rax
je 0x1400bda38
xor r9d, r9d
cmp r14d, 0xffffffff
je 0x1400bd277
cmp r13d, 1
jge 0x1400bcbb1
mov r10, qword [rbp - 0x68]
test sil, sil
jne 0x1400bc77d
test r15, r15
jle 0x1400bc77d
lea rax, [r10 + 3]
mov rcx, r15
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400bc771
mov rdx, qword [rbp + 8]
mov r11d, r9d
mov dword [rsp + 0x60], r9d
mov r12, r9
mov qword [rbp - 0x18], r9
test rdx, rdx
je 0x1400bc9d4
test r15, r15
jle 0x1400bc9b5
mov r13, r9
nop word [rax + rax]
mov rax, qword [rbp - 0x50]
mov ecx, dword [r10 + r12*4]
mov eax, dword [rax]
cmp ecx, eax
je 0x1400bc7d5
cmp dword [rdx], 0
jne 0x1400bc7d5
cmp eax, dword [rbp - 0x58]
jne 0x1400bc99d
cmp ecx, r14d
je 0x1400bc99d
mov edi, dword [rsp + 0x6c]
mov ecx, dword [rbp - 0x78]
mov eax, r11d
cdq
idiv edi
movsxd rsi, eax
movsxd rbx, edx
sub ecx, esi
cmp dword [rsp + 0x70], ecx
jg 0x1400bc999
mov ecx, edi
sub ecx, ebx
cmp dword [rsp + 0x78], ecx
jg 0x1400bc999
cmp qword [rbp + 0x18], 0
mov byte [rbp + 0x840], 1
mov r8d, r9d
mov r10, r9
mov edx, r11d
jle 0x1400bc89a
mov rax, qword [rbp + 8]
mov r9d, r11d
mov r11, qword [rbp - 0x50]
sub r11, rax
mov byte [rbp + 0x840], 1
mov rdi, rax
nop word [rax + rax]
mov rcx, qword [rbp - 0x68]
movsxd rax, edx
mov ecx, dword [rcx + rax*4]
mov eax, dword [r11 + rdi]
cmp ecx, eax
je 0x1400bc86d
cmp dword [rdi], 0
jne 0x1400bc86d
mov r15, qword [rbp - 0x28]
cmp eax, dword [rbp - 0x58]
jne 0x1400bc900
cmp ecx, r14d
je 0x1400bc900
inc r8d
cmp r8d, dword [rsp + 0x78]
jge 0x1400bc87b
inc edx
jmp 0x1400bc888
xor eax, eax
add r9d, dword [rsp + 0x6c]
mov edx, r9d
mov r8d, eax
inc r10
add rdi, 4
cmp r10, qword [rbp + 0x18]
jl 0x1400bc840
mov r11d, dword [rsp + 0x60]
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bc911
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bda34
movsxd r8, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
call fcn.140109100
mov rcx, qword [rbp - 0x20]
call fcn.140108f48
mov r11d, dword [rsp + 0x60]
mov rax, rdi
mov edi, dword [rsp + 0x68]
mov qword [rbp - 0x20], rax
jmp 0x1400bc915
mov r11d, dword [rsp + 0x60]
mov byte [rbp + 0x840], 0
jmp 0x1400bc992
mov rax, qword [rbp - 0x20]
mov dword [r13 + rax], r11d
mov eax, dword [rsp + 0x70]
inc edi
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
add r13, 4
add eax, ebx
movsxd r10, ecx
mov dword [rsp + 0x68], edi
movsxd r9, eax
mov rdx, rsi
cmp rsi, r10
jge 0x1400bc987
mov r15, qword [rbp - 0x68]
movsxd r11, dword [rsp + 0x6c]
mov r12d, dword [rbp - 0x38]
nop dword [rax]
cmp rbx, r9
jge 0x1400bc96e
mov rax, r11
mov rcx, r9
imul rax, rdx
add rax, rbx
sub rcx, rbx
lea rdi, [r15 + rax*4]
mov rax, r12
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bc950
mov r12, qword [rbp - 0x18]
mov r15, qword [rbp - 0x28]
mov r11d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bc992
cmp eax, edi
jle 0x1400bc9b9
mov r10, qword [rbp - 0x68]
xor r9d, r9d
mov rdx, qword [rbp + 8]
inc r12
inc r11d
mov dword [rsp + 0x60], r11d
mov qword [rbp - 0x18], r12
cmp r12, r15
jl 0x1400bc7b0
mov edi, dword [rsp + 0x68]
cmp byte [rsp + 0x64], 0
je 0x1400bd74f
test edi, edi
setne al
mov byte [rbp + 0x840], al
jmp 0x1400bd756
test r15, r15
jle 0x1400bc9b5
mov r13, r9
nop dword [rax]
mov rax, qword [rbp - 0x50]
mov ecx, dword [r10 + r12*4]
mov eax, dword [rax]
cmp ecx, eax
je 0x1400bca00
cmp eax, dword [rbp - 0x58]
jne 0x1400bcb94
cmp ecx, r14d
je 0x1400bcb94
mov edi, dword [rsp + 0x6c]
mov ecx, dword [rbp - 0x78]
mov eax, r11d
cdq
idiv edi
movsxd rsi, eax
movsxd rbx, edx
sub ecx, esi
cmp dword [rsp + 0x70], ecx
jg 0x1400bcb94
mov ecx, edi
sub ecx, ebx
cmp dword [rsp + 0x78], ecx
jg 0x1400bcb94
cmp qword [rbp + 0x18], 0
mov byte [rbp + 0x840], 1
mov edi, r9d
mov r8, r9
mov edx, r11d
jle 0x1400bca9a
mov byte [rbp + 0x840], 1
mov r9d, r11d
nop
movsxd rax, edx
mov ecx, dword [r10 + rax*4]
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + r8*4]
cmp ecx, eax
je 0x1400bca79
mov r15, qword [rbp - 0x28]
cmp eax, dword [rbp - 0x58]
jne 0x1400bcb00
cmp ecx, r14d
je 0x1400bcb00
inc edi
cmp edi, dword [rsp + 0x78]
jge 0x1400bca85
inc edx
jmp 0x1400bca91
xor eax, eax
add r9d, dword [rsp + 0x6c]
mov edx, r9d
mov edi, eax
inc r8
cmp r8, qword [rbp + 0x18]
jl 0x1400bca50
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bcb0c
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bda34
movsxd r8, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
call fcn.140109100
mov rcx, qword [rbp - 0x20]
call fcn.140108f48
mov r11d, dword [rsp + 0x60]
mov rax, rdi
mov edi, dword [rsp + 0x68]
mov qword [rbp - 0x20], rax
jmp 0x1400bcb10
mov byte [rbp + 0x840], 0
jmp 0x1400bcb91
mov rax, qword [rbp - 0x20]
mov dword [r13 + rax], r11d
mov eax, dword [rsp + 0x70]
inc edi
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
add r13, 4
add eax, ebx
movsxd r10, ecx
mov dword [rsp + 0x68], edi
movsxd r9, eax
mov rdx, rsi
cmp rsi, r10
jge 0x1400bcb7e
mov r15, qword [rbp - 0x68]
movsxd r11, dword [rsp + 0x6c]
mov r12d, dword [rbp - 0x38]
cmp rbx, r9
jge 0x1400bcb65
mov rax, r11
mov rcx, r9
imul rax, rdx
add rax, rbx
sub rcx, rbx
lea rdi, [r15 + rax*4]
mov rax, r12
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bcb47
mov r12, qword [rbp - 0x18]
mov r15, qword [rbp - 0x28]
mov r11d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bcb8d
cmp eax, edi
jle 0x1400bc9b9
mov r10, qword [rbp - 0x68]
xor r9d, r9d
inc r12
inc r11d
mov dword [rsp + 0x60], r11d
mov qword [rbp - 0x18], r12
cmp r12, r15
jl 0x1400bc9e0
jmp 0x1400bc9b5
mov eax, r14d
movzx ecx, r14w
shr eax, 0x10
shr cx, 8
movzx edi, al
cmp r13d, edi
jle 0x1400bcbcd
mov byte [rbp - 0x7c], 0
jmp 0x1400bcbd7
movzx eax, dil
sub al, r13b
mov byte [rbp - 0x7c], al
movzx edx, cl
cmp r13d, edx
jle 0x1400bcbe4
xor r11b, r11b
jmp 0x1400bcbeb
movzx r11d, dl
sub r11b, r13b
movzx ecx, r14b
mov byte [rsp + 0x74], r11b
cmp r13d, ecx
jle 0x1400bcbfe
xor r10b, r10b
jmp 0x1400bcc05
movzx r10d, cl
sub r10b, r13b
mov esi, 0xff
mov byte [rsp + 0x75], r10b
mov eax, esi
sub eax, edi
cmp r13d, eax
jle 0x1400bcc1e
movzx r9d, sil
jmp 0x1400bcc22
lea r9d, [rdi + r13]
mov eax, esi
mov byte [rsp + 0x76], r9b
sub eax, edx
cmp r13d, eax
jle 0x1400bcc36
movzx r8d, sil
jmp 0x1400bcc3a
lea r8d, [rdx + r13]
mov eax, esi
mov byte [rbp - 0x6e], r8b
sub eax, ecx
cmp r13d, eax
jle 0x1400bcc4d
movzx edi, sil
jmp 0x1400bcc51
lea edi, [rcx + r13]
xor r14d, r14d
mov byte [rbp - 0x6f], dil
mov eax, r14d
mov dword [rsp + 0x60], eax
cmp qword [rbp + 8], r14
je 0x1400bcf83
test ebx, ebx
jle 0x1400bd748
mov r12d, r14d
mov qword [rbp - 0x28], r14
nop dword [rax + rax]
mov r13d, dword [rsp + 0x6c]
mov ecx, dword [rbp - 0x78]
cdq
idiv r13d
sub ecx, eax
mov ebx, edx
mov dword [rbp - 0x74], edx
mov esi, eax
mov dword [rbp - 0x40], eax
cmp dword [rsp + 0x70], ecx
jg 0x1400bcf50
mov ecx, r13d
sub ecx, edx
cmp dword [rsp + 0x78], ecx
jg 0x1400bcf50
cmp qword [rbp + 0x18], 0
mov eax, dword [rsp + 0x60]
mov rdx, r14
mov r15d, r14d
mov byte [rbp + 0x840], 1
mov qword [rbp], rdx
mov r14d, eax
jle 0x1400bce6a
mov rbx, qword [rbp - 0x50]
mov ecx, eax
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 8]
mov byte [rbp + 0x840], 1
mov r13, rbx
sub rax, rbx
mov qword [rbp + 0x78], rax
mov r12, qword [rbp - 0x68]
movsxd rax, r14d
movzx ebx, byte [r12 + rax*4 + 2]
movzx esi, byte [r12 + rax*4 + 1]
movzx r12d, byte [r12 + rax*4]
mov eax, dword [rbp - 0x58]
cmp dword [r13], eax
jne 0x1400bcd49
cmp bl, byte [rbp - 0x7c]
jb 0x1400bcdfc
cmp bl, r9b
ja 0x1400bcdfc
cmp sil, r11b
jb 0x1400bcdfc
cmp sil, r8b
ja 0x1400bcdfc
cmp r12b, r10b
jb 0x1400bcdfc
cmp r12b, dil
ja 0x1400bcdfc
movzx ecx, byte [r13 + 2]
mov r8d, dword [rbp - 0x60]
cmp r8d, ecx
jle 0x1400bcd5c
xor r11b, r11b
jmp 0x1400bcd63
movzx r11d, cl
sub r11b, r8b
movzx edx, byte [r13 + 1]
cmp r8d, edx
jle 0x1400bcd72
xor r10b, r10b
jmp 0x1400bcd79
movzx r10d, dl
sub r10b, r8b
movzx edi, byte [r13]
cmp r8d, edi
jle 0x1400bcd88
xor r9b, r9b
jmp 0x1400bcd8f
movzx r9d, dil
sub r9b, r8b
mov eax, 0xff
sub eax, ecx
cmp r8d, eax
jle 0x1400bcda0
mov r8b, 0xff
jmp 0x1400bcda3
add r8b, cl
mov ecx, dword [rbp - 0x60]
mov eax, 0xff
sub eax, edx
cmp ecx, eax
jle 0x1400bcdb5
mov cl, 0xff
jmp 0x1400bcdb7
add cl, dl
mov edx, dword [rbp - 0x60]
mov eax, 0xff
sub eax, edi
cmp edx, eax
jle 0x1400bcdc9
mov al, 0xff
jmp 0x1400bcdcc
lea eax, [rdi + rdx]
cmp bl, r11b
jb 0x1400bcdea
cmp bl, r8b
ja 0x1400bcdea
cmp sil, r10b
jb 0x1400bcdea
cmp sil, cl
ja 0x1400bcdea
cmp r12b, r9b
jb 0x1400bcdea
cmp r12b, al
jbe 0x1400bcdf5
mov rax, qword [rbp + 0x78]
cmp dword [rax + r13], 0
je 0x1400bce4b
mov rdx, qword [rbp]
mov ecx, dword [rbp - 0x80]
inc r15d
cmp r15d, dword [rsp + 0x78]
jge 0x1400bce0b
inc r14d
jmp 0x1400bce1a
xor eax, eax
add ecx, dword [rsp + 0x6c]
mov dword [rbp - 0x80], ecx
mov r14d, ecx
mov r15d, eax
inc rdx
add r13, 4
mov qword [rbp], rdx
cmp rdx, qword [rbp + 0x18]
jge 0x1400bce5b
movzx edi, byte [rbp - 0x6f]
movzx r8d, byte [rbp - 0x6e]
movzx r9d, byte [rsp + 0x76]
movzx r10d, byte [rsp + 0x75]
movzx r11d, byte [rsp + 0x74]
jmp 0x1400bccf2
mov r12, qword [rbp - 0x28]
mov byte [rbp + 0x840], 0
jmp 0x1400bcf4d
mov ebx, dword [rbp - 0x74]
mov esi, dword [rbp - 0x40]
mov r12, qword [rbp - 0x28]
mov r13d, dword [rsp + 0x6c]
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bcecd
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bda34
movsxd r8, dword [rsp + 0x68]
mov r14, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
mov rdx, r14
call fcn.140109100
mov rcx, r14
call fcn.140108f48
mov r11, rdi
mov qword [rbp - 0x20], rdi
mov edi, dword [rsp + 0x68]
jmp 0x1400bced1
mov r11, qword [rbp - 0x20]
mov eax, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x60]
inc edi
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
add r12, 4
add eax, ebx
mov dword [r12 + r11 - 4], r15d
movsxd rdx, esi
movsxd r10, ecx
mov dword [rsp + 0x68], edi
mov qword [rbp - 0x28], r12
movsxd r9, eax
movsxd r8, ebx
cmp rdx, r10
jge 0x1400bcf3e
mov r12, qword [rbp - 0x68]
nop dword [rax + rax]
cmp r8, r9
jge 0x1400bcf2e
movsxd rax, r13d
mov rcx, r9
imul rax, rdx
add rax, r8
sub rcx, r8
lea rdi, [r12 + rax*4]
mov eax, dword [rbp - 0x38]
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bcf10
mov r12, qword [rbp - 0x28]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bcf4d
cmp eax, edi
jle 0x1400bc9b9
xor r14d, r14d
mov eax, dword [rsp + 0x60]
movzx edi, byte [rbp - 0x6f]
movzx r8d, byte [rbp - 0x6e]
movzx r9d, byte [rsp + 0x76]
movzx r10d, byte [rsp + 0x75]
movzx r11d, byte [rsp + 0x74]
inc eax
mov dword [rsp + 0x60], eax
cmp eax, dword [rbp - 0x18]
jl 0x1400bcc80
jmp 0x1400bc9b5
test ebx, ebx
jle 0x1400bd748
mov r13d, dword [rsp + 0x6c]
mov r12, r14
mov qword [rbp - 0x28], r14
nop word [rax + rax]
mov ecx, dword [rbp - 0x78]
cdq
idiv r13d
sub ecx, eax
mov ebx, edx
mov dword [rbp - 0x74], edx
mov esi, eax
mov dword [rbp - 0x40], eax
cmp dword [rsp + 0x70], ecx
jg 0x1400bd248
mov ecx, r13d
sub ecx, edx
cmp dword [rsp + 0x78], ecx
jg 0x1400bd248
cmp qword [rbp + 0x18], 0
mov eax, dword [rsp + 0x60]
mov r15d, r14d
mov r13, r14
mov byte [rbp + 0x840], 1
mov r14d, eax
jle 0x1400bd160
mov rdx, qword [rbp - 0x68]
mov byte [rbp + 0x840], 1
mov ecx, eax
mov dword [rbp - 0x80], eax
nop dword [rax + rax]
mov edi, dword [rbp - 0x58]
movsxd rax, r14d
movzx ebx, byte [rdx + rax*4 + 2]
movzx esi, byte [rdx + rax*4 + 1]
movzx r12d, byte [rdx + rax*4]
mov rax, qword [rbp - 0x50]
cmp dword [rax + r13*4], edi
movzx edi, byte [rbp - 0x6f]
jne 0x1400bd059
cmp bl, byte [rbp - 0x7c]
jb 0x1400bd103
cmp bl, r9b
ja 0x1400bd103
cmp sil, r11b
jb 0x1400bd103
cmp sil, r8b
ja 0x1400bd103
cmp r12b, r10b
jb 0x1400bd103
cmp r12b, dil
ja 0x1400bd103
movzx ecx, byte [rax + r13*4 + 2]
mov r8d, dword [rbp - 0x60]
cmp r8d, ecx
jle 0x1400bd06d
xor r11b, r11b
jmp 0x1400bd074
movzx r11d, cl
sub r11b, r8b
movzx edx, byte [rax + r13*4 + 1]
cmp r8d, edx
jle 0x1400bd084
xor r10b, r10b
jmp 0x1400bd08b
movzx r10d, dl
sub r10b, r8b
movzx edi, byte [rax + r13*4]
cmp r8d, edi
jle 0x1400bd09a
xor r9b, r9b
jmp 0x1400bd0a1
movzx r9d, dil
sub r9b, r8b
mov eax, 0xff
sub eax, ecx
cmp r8d, eax
jle 0x1400bd0b2
mov r8b, 0xff
jmp 0x1400bd0b5
add r8b, cl
mov ecx, dword [rbp - 0x60]
mov eax, 0xff
sub eax, edx
cmp ecx, eax
jle 0x1400bd0c7
mov cl, 0xff
jmp 0x1400bd0c9
add cl, dl
mov edx, dword [rbp - 0x60]
mov eax, 0xff
sub eax, edi
cmp edx, eax
jle 0x1400bd0db
mov al, 0xff
jmp 0x1400bd0de
lea eax, [rdi + rdx]
cmp bl, r11b
jb 0x1400bd146
cmp bl, r8b
ja 0x1400bd146
cmp sil, r10b
jb 0x1400bd146
cmp sil, cl
ja 0x1400bd146
cmp r12b, r9b
jb 0x1400bd146
cmp r12b, al
ja 0x1400bd146
mov ecx, dword [rbp - 0x80]
mov rdx, qword [rbp - 0x68]
inc r15d
cmp r15d, dword [rsp + 0x78]
jge 0x1400bd112
inc r14d
jmp 0x1400bd121
xor eax, eax
add ecx, dword [rsp + 0x6c]
mov dword [rbp - 0x80], ecx
mov r14d, ecx
mov r15d, eax
inc r13
cmp r13, qword [rbp + 0x18]
jge 0x1400bd156
movzx r8d, byte [rbp - 0x6e]
movzx r9d, byte [rsp + 0x76]
movzx r10d, byte [rsp + 0x75]
movzx r11d, byte [rsp + 0x74]
jmp 0x1400bd000
mov r12, qword [rbp - 0x28]
mov byte [rbp + 0x840], 0
jmp 0x1400bd240
mov ebx, dword [rbp - 0x74]
mov esi, dword [rbp - 0x40]
mov r12, qword [rbp - 0x28]
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bd1c3
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bda34
movsxd r8, dword [rsp + 0x68]
mov r13, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
mov rdx, r13
call fcn.140109100
mov rcx, r13
call fcn.140108f48
mov rax, rdi
mov edi, dword [rsp + 0x68]
mov qword [rbp - 0x20], rax
jmp 0x1400bd1c7
mov rax, qword [rbp - 0x20]
mov r11d, dword [rsp + 0x60]
inc edi
add r12, 4
mov dword [r12 + rax - 4], r11d
mov eax, dword [rsp + 0x70]
movsxd rdx, esi
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x68], edi
add eax, ebx
movsxd r10, ecx
mov qword [rbp - 0x28], r12
movsxd r9, eax
movsxd r8, ebx
cmp rdx, r10
jge 0x1400bd231
mov r12, qword [rbp - 0x68]
cmp r8, r9
jge 0x1400bd221
movsxd rax, dword [rsp + 0x6c]
mov rcx, r9
imul rax, rdx
add rax, r8
sub rcx, r8
lea rdi, [r12 + rax*4]
mov eax, dword [rbp - 0x38]
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bd201
mov r12, qword [rbp - 0x28]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bd240
cmp eax, edi
jle 0x1400bc9b9
mov r13d, dword [rsp + 0x6c]
xor r14d, r14d
mov eax, dword [rsp + 0x60]
movzx r8d, byte [rbp - 0x6e]
movzx r9d, byte [rsp + 0x76]
movzx r10d, byte [rsp + 0x75]
movzx r11d, byte [rsp + 0x74]
inc eax
mov dword [rsp + 0x60], eax
cmp eax, dword [rbp - 0x18]
jl 0x1400bcfa0
jmp 0x1400bc9b5
mov edi, dword [rbp - 0x60]
cmp edi, 1
jge 0x1400bd49e
mov r14, qword [rbp - 0x68]
test sil, sil
jne 0x1400bd2ac
test r15, r15
jle 0x1400bd2ac
lea rax, [r14 + 3]
mov rcx, r15
nop dword [rax + rax]
mov byte [rax], 0
add rax, 4
dec rcx
jne 0x1400bd2a0
mov r11d, r9d
mov dword [rsp + 0x60], r9d
mov r12, r9
test r15, r15
jle 0x1400bc9b5
mov r13, r9
mov rax, qword [rbp - 0x50]
mov eax, dword [rax]
cmp dword [r14 + r12*4], eax
je 0x1400bd2e6
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1400bd2dd
cmp dword [rcx], 0
jne 0x1400bd2e6
cmp eax, dword [rbp - 0x58]
jne 0x1400bd485
mov edi, dword [rsp + 0x6c]
mov ecx, dword [rbp - 0x78]
mov eax, r11d
cdq
idiv edi
movsxd rsi, eax
movsxd rbx, edx
sub ecx, esi
cmp dword [rsp + 0x70], ecx
jg 0x1400bd485
mov ecx, edi
sub ecx, ebx
cmp dword [rsp + 0x78], ecx
jg 0x1400bd485
cmp qword [rbp + 0x18], 0
mov byte [rbp + 0x840], 1
mov r8d, r9d
mov r10, r9
mov edi, r11d
jle 0x1400bd391
mov rax, qword [rbp + 8]
mov r9d, r11d
mov r11, qword [rbp - 0x50]
sub r11, rax
mov byte [rbp + 0x840], 1
mov rdx, rax
mov ecx, dword [rdx + r11]
movsxd rax, edi
cmp dword [r14 + rax*4], ecx
je 0x1400bd364
cmp qword [rbp + 8], 0
je 0x1400bd35b
cmp dword [rdx], 0
jne 0x1400bd364
cmp ecx, dword [rbp - 0x58]
jne 0x1400bd3f7
inc r8d
cmp r8d, dword [rsp + 0x78]
jge 0x1400bd372
inc edi
jmp 0x1400bd37f
xor eax, eax
add r9d, dword [rsp + 0x6c]
mov edi, r9d
mov r8d, eax
inc r10
add rdx, 4
cmp r10, qword [rbp + 0x18]
jl 0x1400bd342
mov r11d, dword [rsp + 0x60]
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bd405
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bda34
movsxd r8, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
call fcn.140109100
mov rcx, qword [rbp - 0x20]
call fcn.140108f48
mov r11d, dword [rsp + 0x60]
mov rax, rdi
mov edi, dword [rsp + 0x68]
mov qword [rbp - 0x20], rax
jmp 0x1400bd409
mov r11d, dword [rsp + 0x60]
mov byte [rbp + 0x840], 0
jmp 0x1400bd482
mov rax, qword [rbp - 0x20]
mov dword [r13 + rax], r11d
mov eax, dword [rsp + 0x70]
inc edi
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
add r13, 4
add eax, ebx
movsxd r10, ecx
mov dword [rsp + 0x68], edi
movsxd r9, eax
mov rdx, rsi
cmp rsi, r10
jge 0x1400bd473
movsxd r15, dword [rsp + 0x6c]
mov r11d, dword [rbp - 0x38]
nop dword [rax]
cmp rbx, r9
jge 0x1400bd45e
mov rax, r15
mov rcx, r9
imul rax, rdx
add rax, rbx
sub rcx, rbx
lea rdi, [r14 + rax*4]
mov rax, r11
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bd440
mov r15, qword [rbp - 0x28]
mov r11d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bd482
cmp eax, edi
jle 0x1400bc9b9
xor r9d, r9d
inc r11d
inc r12
mov dword [rsp + 0x60], r11d
cmp r12, r15
jl 0x1400bd2c3
jmp 0x1400bc9b5
mov eax, r9d
mov dword [rsp + 0x60], eax
test ebx, ebx
jle 0x1400bc9b5
mov r8d, dword [rsp + 0x6c]
mov r12, r9
mov qword [rbp - 0x28], r9
nop dword [rax]
mov ecx, dword [rbp - 0x78]
cdq
idiv r8d
sub ecx, eax
mov ebx, edx
mov dword [rbp - 0x80], edx
mov esi, eax
mov dword [rbp - 0x74], eax
cmp dword [rsp + 0x70], ecx
jg 0x1400bd730
mov ecx, r8d
sub ecx, edx
cmp dword [rsp + 0x78], ecx
jg 0x1400bd730
cmp qword [rbp + 0x18], 0
mov r15d, dword [rsp + 0x60]
mov byte [rbp + 0x840], 1
mov r14d, r15d
mov r13d, r9d
mov qword [rbp - 0x40], r9
jle 0x1400bd64b
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 8]
mov byte [rbp + 0x840], 1
sub rax, rcx
mov r12, rcx
mov qword [rbp + 0x78], rax
movzx ecx, byte [r12 + 2]
cmp edi, ecx
jle 0x1400bd535
xor sil, sil
jmp 0x1400bd53b
movzx esi, cl
sub sil, dil
movzx edx, byte [r12 + 1]
cmp edi, edx
jle 0x1400bd549
xor bl, bl
jmp 0x1400bd54f
movzx ebx, dl
sub bl, dil
movzx r8d, byte [r12]
cmp edi, r8d
jle 0x1400bd55e
xor r11b, r11b
jmp 0x1400bd565
movzx r11d, r8b
sub r11b, dil
mov eax, 0xff
sub eax, ecx
cmp edi, eax
jle 0x1400bd575
mov r10b, 0xff
jmp 0x1400bd579
lea r10d, [rcx + rdi]
mov ecx, 0xff
mov eax, ecx
sub eax, edx
cmp edi, eax
jle 0x1400bd58c
movzx r9d, cl
jmp 0x1400bd590
lea r9d, [rdx + rdi]
mov eax, ecx
sub eax, r8d
cmp edi, eax
jle 0x1400bd59e
movzx edi, cl
jmp 0x1400bd5a1
add dil, r8b
mov r8, qword [rbp - 0x68]
movsxd rax, r14d
movzx ecx, byte [r8 + rax*4 + 2]
movzx edx, byte [r8 + rax*4 + 1]
movzx r8d, byte [r8 + rax*4]
mov eax, dword [rbp - 0x58]
cmp dword [r12], eax
je 0x1400bd5f3
cmp cl, sil
jb 0x1400bd5df
cmp cl, r10b
ja 0x1400bd5df
cmp dl, bl
jb 0x1400bd5df
cmp dl, r9b
ja 0x1400bd5df
cmp r8b, r11b
jb 0x1400bd5df
cmp r8b, dil
jbe 0x1400bd5f3
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1400bd62c
mov rax, qword [rbp + 0x78]
cmp dword [rax + r12], 0
je 0x1400bd62c
inc r13d
cmp r13d, dword [rsp + 0x78]
jge 0x1400bd602
inc r14d
jmp 0x1400bd60f
xor eax, eax
add r15d, dword [rsp + 0x6c]
mov r14d, r15d
mov r13d, eax
mov rax, qword [rbp - 0x40]
add r12, 4
inc rax
mov qword [rbp - 0x40], rax
cmp rax, qword [rbp + 0x18]
jge 0x1400bd63c
mov edi, dword [rbp - 0x60]
jmp 0x1400bd526
mov r12, qword [rbp - 0x28]
mov byte [rbp + 0x840], 0
jmp 0x1400bd725
mov ebx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x74]
mov r12, qword [rbp - 0x28]
mov r15d, dword [rsp + 0x60]
cmp byte [rsp + 0x64], 0
je 0x1400bda30
mov eax, dword [rbp - 0x34]
mov edi, dword [rsp + 0x68]
cmp edi, eax
jne 0x1400bd6ae
add eax, 0x3e8
movsxd rcx, eax
mov dword [rbp - 0x34], eax
shl rcx, 2
call fcn.1401084ac
mov rdi, rax
test rax, rax
je 0x1400bdb8f
movsxd r8, dword [rsp + 0x68]
mov r13, qword [rbp - 0x20]
mov rcx, rax
shl r8, 2
mov rdx, r13
call fcn.140109100
mov rcx, r13
call fcn.140108f48
mov r11, rdi
mov qword [rbp - 0x20], rdi
mov edi, dword [rsp + 0x68]
jmp 0x1400bd6b2
mov r11, qword [rbp - 0x20]
mov eax, dword [rsp + 0x70]
inc edi
mov dword [r12 + r11], r15d
lea ecx, [rsi + rax]
mov eax, dword [rsp + 0x78]
add r12, 4
add eax, ebx
movsxd rdx, esi
movsxd r10, ecx
mov dword [rsp + 0x68], edi
mov qword [rbp - 0x28], r12
movsxd r8, ebx
movsxd r9, eax
cmp rdx, r10
jge 0x1400bd716
mov r12, qword [rbp - 0x68]
cmp r8, r9
jge 0x1400bd706
movsxd rax, dword [rsp + 0x6c]
mov rcx, r9
imul rax, rdx
add rax, r8
sub rcx, r8
lea rdi, [r12 + rax*4]
mov eax, dword [rbp - 0x38]
rep stosd dword [rdi], eax
inc rdx
cmp rdx, r10
jl 0x1400bd6e6
mov r12, qword [rbp - 0x28]
mov edi, dword [rsp + 0x68]
mov eax, dword [rbp - 0x30]
test eax, eax
jle 0x1400bd725
cmp eax, edi
jle 0x1400bc9b9
mov edi, dword [rbp - 0x60]
mov r8d, dword [rsp + 0x6c]
xor r9d, r9d
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
cmp eax, dword [rbp - 0x18]
jl 0x1400bd4c0
jmp 0x1400bc9b5
mov edi, eax
jmp 0x1400bc9b9
movzx eax, byte [rbp + 0x840]
test al, al
jne 0x1400bda30
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400bd78e
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14012e7cc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
jmp 0x1400bda30
lea r13, [0x14012e7cc]
cmp qword [rdi + 8], r13
jne 0x1400bd7a4
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400bd7aa
mov r12d, 1
lea rcx, [r12 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x1400bd7c7
mov rdx, r12
mov rcx, r13
call fcn.140005910
jmp 0x1400bda30
mov r8, qword [0x140169b08]
cmp rsi, r8
jbe 0x1400bd800
cmp rsi, qword [rdi + 0x18]
jbe 0x1400bd800
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x1400bda30
movzx eax, byte [rdi + 0x21]
cmp rcx, 2
jae 0x1400bd878
test al, 2
je 0x1400bd81c
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx ecx, byte [rdi + 0x20]
and byte [rdi + 0x21], 0x82
xor ebx, ebx
dec ecx
mov qword [rdi + 0x10], rbx
je 0x1400bd84b
dec ecx
jne 0x1400bda30
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1400bda30
cmp rax, 0x1000
ja 0x1400bd857
mov rax, qword [rdi + 8]
mov word [rax], bx
jmp 0x1400bda30
mov rcx, qword [rdi + 8]
call fcn.140108f48
and byte [rdi + 0x21], 0x7f
lea rax, [0x140171290]
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
jmp 0x1400bda30
test al, 2
je 0x1400bd891
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140169b08]
mov r9, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r9
jbe 0x1400bda09
movzx ecx, byte [rdi + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x1400bd8c5
cmp al, 2
je 0x1400bd906
mov rbx, qword [rbp + 0x840]
mov rax, qword [rbp + 0x840]
jmp 0x1400bd9fd
cmp rsi, 0x80
ja 0x1400bd906
cmp rsi, 8
ja 0x1400bd8db
mov ebx, 8
jmp 0x1400bd8ec
mov ebx, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400dc2b0
test rax, rax
je 0x1400bda30
mov byte [rdi + 0x20], 1
jmp 0x1400bd9fd
cmp rsi, 0x20
jae 0x1400bd916
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400bd9bd
cmp rsi, 0x208
jae 0x1400bd929
mov ebx, 0x208
jmp 0x1400bd9bd
cmp rsi, 0x50000
jae 0x1400bd979
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400bd948
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400bd96f
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400bd96f
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400bd9bd
cmp rsi, 0x320000
jae 0x1400bd98b
lea rbx, [rsi + 0x8000]
jmp 0x1400bd9bd
cmp rsi, 0xc80000
jae 0x1400bd9b6
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x1400bd9bd
lea rbx, [rsi + 0x20000]
cmp rbx, r8
cmova rbx, r8
cmp cl, 2
jne 0x1400bd9dc
test r9, r9
je 0x1400bd9dc
mov rcx, qword [rdi + 8]
mov sil, 1
call fcn.140108f48
jmp 0x1400bd9df
xor sil, sil
test rbx, rbx
js 0x1400bdae8
mov rcx, rbx
call fcn.1401084ac
test rax, rax
je 0x1400bdae8
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x1400bda1e
lea r8, [r12 + r12]
mov rdx, r13
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 byte [rbp - 0x10], 1
mov rdi, qword [rbp - 0x68]
mov r15d, dword [rsp + 0x60]
mov r9d, dword [rbp - 0x78]
mov ebx, dword [rsp + 0x6c]
mov r11, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
mov r8d, dword [rsp + 0x70]
xor ecx, ecx
mov esi, ecx
mov dword [rbp - 0x74], ecx
mov dword [rbp - 0x30], ecx
mov r12d, ecx
mov dword [rbp - 0x40], ecx
mov dword [rbp - 0x80], ecx
mov ecx, dword [rsp + 0x78]
mov r14d, r8d
mov dword [rbp - 0x38], r8d
mov r13d, ecx
mov dword [rbp - 0x18], ecx
cmp byte [rbp + 0x840], sil
je 0x1400bdbe6
mov r10d, dword [rbp - 0x48]
cmp r10d, 4
jle 0x1400bdaa5
mov dword [rsp + 0x70], ecx
mov ecx, r8d
mov dword [rbp - 0x78], ebx
mov ebx, r9d
mov r8d, r13d
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x6c], ebx
cmp qword [rbp + 0x40], rsi
je 0x1400bdbe6
mov eax, dword [rbp - 0x58]
cmp eax, 0xffffffff
je 0x1400bdbe6
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], ecx
lea r9, [rbp - 0x38]
mov dword [rsp + 0x28], eax
lea rcx, [rbp - 0x30]
lea r8, [rbp - 0x18]
cmp r10d, 3
jne 0x1400bdbc2
mov qword [rsp + 0x20], rdx
jmp 0x1400bdbc7
xor ebx, ebx
test sil, sil
je 0x1400bdb00
lea rax, [0x140171290]
mov qword [rdi + 0x18], rbx
mov qword [rdi + 8], rax
jmp 0x1400bdb07
mov rax, qword [rdi + 8]
mov word [rax], bx
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rbx
call fcn.1400a5580
jmp 0x1400bda30
mov edi, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x74]
mov r9d, dword [rbp]
mov ebx, dword [rbp - 0x40]
mov r15d, dword [rbp + 0x840]
mov dword [rsp + 0x78], edi
mov rdi, qword [rbp - 0x68]
mov dword [rsp + 0x70], ecx
mov dword [rbp - 0x78], r9d
mov dword [rsp + 0x6c], ebx
jmp 0x1400bda45
mov rcx, qword [rbp - 0x28]
mov edi, dword [rbp - 0x80]
mov r9d, dword [rbp]
mov ebx, dword [rbp - 0x40]
mov r15d, dword [rbp + 0x840]
mov qword [rbp + 0x20], rcx
mov ecx, dword [rbp - 0x74]
mov dword [rsp + 0x78], edi
mov rdi, qword [rbp - 0x68]
mov dword [rsp + 0x70], ecx
mov r11, rdi
mov dword [rbp - 0x78], r9d
mov dword [rsp + 0x6c], ebx
jmp 0x1400bda49
mov rdi, qword [rbp - 0x68]
jmp 0x1400bda3d
mov rdi, qword [rbp - 0x68]
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rbp - 0x40]
mov r9d, dword [rbp]
jmp 0x1400bda45
mov rdi, qword [rbp - 0x68]
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rbp - 0x40]
mov r9d, dword [rbp]
jmp 0x1400bda49
mov qword [rsp + 0x20], r11
lea rdx, [rbp - 0x80]
call fcn.1400bee00
mov r12d, dword [rbp - 0x80]
mov esi, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x38]
mov r13d, dword [rbp - 0x18]
mov dword [rbp - 0x40], r12d
mov dword [rbp - 0x74], esi
cmp byte [rsp + 0x7c], 0
je 0x1400bdbf9
mov rcx, qword [rbp + 0x70]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1400bdc05
mov rdx, qword [rbp + 0x70]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rbp - 0x70], 0
je 0x1400bdc1d
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400bdc1d
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1400bdc3b
cmp byte [rbp + 0x868], 0
je 0x1400bdc35
cmp byte [rbp - 0x5c], 0
je 0x1400bdc3b
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x1400bdc66
mov rdx, qword [rbp + 0x98]
test rdx, rdx
je 0x1400bdc5d
mov rcx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rax, qword [rbp + 0x68]
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1400bdc78
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400bdc86
call fcn.140108f48
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400bdc97
mov rcx, rax
call fcn.140108f48
cmp byte [rbp + 0x840], 0
jne 0x1400bdcb4
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400bdcb4
call fcn.140108f48
xor eax, eax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1400bdcc5
mov rcx, rax
call fcn.140108f48
mov rax, qword [rbp + 8]
test rax, rax
je 0x1400bdcd6
mov rcx, rax
call fcn.140108f48
test rdi, rdi
je 0x1400bdce3
mov rcx, rdi
call fcn.140108f48
cmp byte [rbp - 0x10], 0
jne 0x1400bdd25
mov rcx, qword [0x1401703d0]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov edx, 2
call fcn.140001370
mov eax, 1
movaps xmm6, xmmword [rsp + 0x8f0]
mov rbx, qword [rsp + 0x958]
add rsp, 0x900
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbp + 0x840], 0
je 0x1400bdcfd
cmp byte [rsp + 0x64], 0
jne 0x1400bdfa8
mov ecx, dword [rbp - 0x48]
cmp ecx, 3
je 0x1400bdd58
mov r9d, dword [rbp - 0x78]
mov edx, ecx
mov r8d, ebx
mov ecx, r15d
call fcn.1400bed60
mov ecx, dword [rbp - 0x48]
mov r15d, eax
mov eax, r15d
cdq
idiv ebx
cmp byte [rsp + 0x7c], 0
je 0x1400bdd78
mov edi, dword [rbp + 0x848]
add edi, edx
mov edx, dword [rbp + 0x850]
lea ebx, [rax + rdx]
jmp 0x1400bdd8e
mov edi, edx
mov ebx, eax
sub edi, dword [rbp + 0x28]
sub ebx, dword [rbp + 0x50]
add edi, dword [rbp + 0x848]
add ebx, dword [rbp + 0x850]
mov edx, dword [rbp + 0x10]
test edx, edx
je 0x1400bdf13
cmp ecx, 1
je 0x1400bdddb
cmp ecx, 7
je 0x1400bdddb
cmp ecx, 2
je 0x1400bddc7
cmp ecx, 8
je 0x1400bddc7
test ecx, ecx
je 0x1400bddb6
cmp ecx, 6
jne 0x1400bddf8
mov r15d, dword [rsp + 0x78]
mov eax, 1
sub eax, r15d
add edi, eax
jmp 0x1400bddfd
mov ecx, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x78]
mov eax, 1
sub eax, ecx
add ebx, eax
jmp 0x1400bde01
mov r15d, dword [rsp + 0x78]
mov ecx, 1
mov eax, ecx
sub eax, r15d
add edi, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
sub eax, ecx
add ebx, eax
jmp 0x1400bde01
mov r15d, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
add esi, edi
add r12d, ebx
cmp edx, 1
jne 0x1400bded2
mov r9d, dword [0x140169a24]
dec r9d
mov dword [0x140169a24], r9d
jne 0x1400bde2e
call fcn.14001ab20
mov r9d, dword [0x140169a24]
mov r8, qword [0x14016e6d8]
add r8, 4
mov ecx, dword [r8 - 4]
mov qword [0x14016e6d8], r8
mov eax, ecx
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr rax, 0x12
xor rax, rcx
movsxd rcx, r15d
cqo
idiv rcx
add edi, edx
dec r9d
mov dword [0x140169a24], r9d
jne 0x1400bde8e
call fcn.14001ab20
mov r8, qword [0x14016e6d8]
mov ecx, dword [r8]
add r8, 4
mov eax, ecx
mov qword [0x14016e6d8], r8
movsxd r8, dword [rsp + 0x70]
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr rax, 0x12
xor rax, rcx
cqo
idiv r8
add ebx, edx
jmp 0x1400bdf1d
cmp edx, 2
jne 0x1400bdeec
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add ebx, eax
jmp 0x1400bdf18
cmp edx, 4
jne 0x1400bdef7
lea ebx, [rbx + rcx - 1]
jmp 0x1400bdf18
cmp edx, 5
jne 0x1400bdf03
lea edi, [rdi + r15 - 1]
jmp 0x1400bdf18
cmp edx, 6
jne 0x1400bdf18
lea edi, [rdi + r15 - 1]
lea ebx, [rbx + rcx - 1]
jmp 0x1400bdf18
add esi, edi
add r12d, ebx
mov r8d, dword [rsp + 0x70]
mov r15, qword [rbp + 0x40]
test r15, r15
je 0x1400bdf77
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], r8d
mov r9d, r14d
mov r8d, r13d
mov edx, r12d
mov ecx, esi
mov dword [rsp + 0x20], eax
call fcn.1400befc0
test rax, rax
je 0x1400be6df
mov rdx, rax
mov rcx, r15
call fcn.1400e9f40
test eax, eax
je 0x1400be6df
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400bdf8b
movsxd rdx, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x1400be6ef
movsxd rdx, ebx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140001370
jmp 0x1400be6ef
mov ecx, 0x40
call fcn.140109b60
xor edi, edi
mov r11d, 1
mov r12, rax
test rax, rax
je 0x1400bdff1
mov dword [rax + 8], r11d
lea rax, vtable.Object.0
mov qword [r12 + 0x10], rdi
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rdi
mov qword [r12 + 0x28], rdi
mov qword [r12], rax
mov qword [r12 + 0x30], rdi
mov qword [r12 + 0x38], rdi
jmp 0x1400bdff4
mov r12, rdi
movsxd r15, dword [rsp + 0x68]
movsxd r13, dword [rbp + 0x10]
mov r14, rdi
test r15, r15
jle 0x1400be348
mov rax, qword [rbp - 0x20]
mov r10d, dword [rbp - 0x48]
lea rsi, str.xywh
mov ecx, dword [rax + r14*4]
cmp r10d, 3
je 0x1400be037
mov r9d, dword [rbp - 0x78]
mov r8d, ebx
mov edx, r10d
call fcn.1400bed60
mov r10d, dword [rbp - 0x48]
mov ecx, eax
mov eax, ecx
cdq
idiv ebx
cmp byte [rsp + 0x7c], 0
je 0x1400be057
mov ecx, dword [rbp + 0x848]
lea ebx, [rdx + rcx]
mov ecx, dword [rbp + 0x850]
lea edi, [rax + rcx]
jmp 0x1400be06d
mov ebx, edx
mov edi, eax
sub ebx, dword [rbp + 0x28]
sub edi, dword [rbp + 0x50]
add ebx, dword [rbp + 0x848]
add edi, dword [rbp + 0x850]
test r13, r13
je 0x1400be1c6
cmp r10d, 1
je 0x1400be0b7
cmp r10d, 7
je 0x1400be0b7
cmp r10d, 2
je 0x1400be0a6
cmp r10d, 8
je 0x1400be0a6
test r10d, r10d
je 0x1400be099
cmp r10d, 6
jne 0x1400be0cf
mov esi, dword [rsp + 0x78]
mov eax, r11d
sub eax, esi
add ebx, eax
jmp 0x1400be0d3
mov ecx, dword [rsp + 0x70]
mov esi, dword [rsp + 0x78]
mov eax, r11d
sub eax, ecx
add edi, eax
jmp 0x1400be0d7
mov esi, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
mov eax, r11d
sub eax, esi
add ebx, eax
mov eax, r11d
sub eax, ecx
add edi, eax
jmp 0x1400be0d7
mov esi, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
cmp r13, 1
jne 0x1400be185
dec dword [0x140169a24]
jne 0x1400be0ee
call fcn.14001ab20
mov rax, qword [0x14016e6d8]
add qword [0x14016e6d8], 4
mov ecx, dword [rax]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr rax, 0x12
xor rax, rcx
movsxd rcx, esi
cqo
idiv rcx
add ebx, edx
dec dword [0x140169a24]
jne 0x1400be13e
call fcn.14001ab20
mov rax, qword [0x14016e6d8]
add qword [0x14016e6d8], 4
mov ecx, dword [rax]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr rax, 0x12
xor rax, rcx
movsxd rcx, dword [rsp + 0x70]
cqo
idiv rcx
add edi, edx
jmp 0x1400be1bf
cmp r13, 2
jne 0x1400be19f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add ebx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add edi, eax
jmp 0x1400be1bf
cmp r13, 4
je 0x1400be1bb
cmp r13, 5
jne 0x1400be1b1
lea ebx, [rbx + rsi - 1]
jmp 0x1400be1bf
cmp r13, 6
jne 0x1400be1bf
lea ebx, [rbx + rsi - 1]
lea edi, [rdi + rcx - 1]
lea rsi, str.xywh
cmp qword [rbp + 0x40], 0
je 0x1400be2fc
xor r9d, r9d
lea rax, [rbp + 0xe0]
lea rcx, [rbp + 0x5b0]
mov r8d, r9d
mov edx, reloc.OLEAUT32.dll_SafeArrayGetUBound
nop word [rax + rax]
mov qword [rax], rcx
add rax, 8
add rcx, 0x20
dec rdx
jne 0x1400be1f0
cmp edi, 0xffffffff
jle 0x1400be253
movsxd rax, ebx
mov ecx, 1
mov dword [rbp + 0x5c0], r9d
mov qword [rbp + 0x5d0], rax
lea rax, [0x140150468]
mov qword [rbp + 0x5b0], rsi
mov qword [rbp + 0x5f0], rax
movsxd rax, edi
mov dword [rbp + 0x5e0], ecx
mov dword [rbp + 0x600], r9d
mov dword [rbp + 0x620], ecx
mov r8d, 4
mov qword [rbp + 0x610], rax
test r8b, 1
je 0x1400be25e
mov rsi, r9
jmp 0x1400be270
lea rcx, [rbp + 0xe0]
mov edx, r8d
call fcn.1400d59c0
mov rsi, rax
test rsi, rsi
je 0x1400be6df
mov rdx, qword [r12 + 0x30]
lea rax, [rbp + 0xa0]
mov dword [rbp + 0xb0], 6
mov qword [rbp + 0x840], rax
mov qword [rbp + 0xa0], rsi
test rdx, rdx
je 0x1400be2b8
mov rax, qword [r12 + 0x18]
mov rcx, rdx
shl rcx, 5
mov r8, qword [rcx + rax - 0x10]
inc r8
jmp 0x1400be2be
mov r8d, 1
lea r9, [rbp + 0x840]
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.1400d76b0
test al, al
jne 0x1400be2f3
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test r14, r14
jne 0x1400be32f
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x1400be318
movsxd rdx, ebx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rax
call fcn.140001370
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x1400be32f
movsxd rdx, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rax
call fcn.140001370
inc r14
cmp r14, r15
jge 0x1400be346
mov ebx, dword [rsp + 0x6c]
mov r11d, 1
jmp 0x1400be009
xor edi, edi
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x1400be6cb
lea rax, [rbp + 0x1a0]
lea rcx, str.__63_5_
mov dword [rbp + 0x1b0], edi
mov qword [rbp + 0xe0], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0x260]
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x118], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x120], rax
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x130], rax
lea rax, [rbp + 0x300]
mov qword [rbp + 0x138], rax
lea rax, [rbp + 0x320]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x340]
mov qword [rbp + 0x148], rax
lea rax, [rbp + 0x360]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x380]
mov qword [rbp + 0x158], rax
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x160], rax
lea rax, [rbp + 0x3c0]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x3e0]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x400]
mov qword [rbp + 0x178], rax
call fcn.1400dd2e0
lea rcx, str.__63_5
mov qword [rbp + 0x1a0], rax
movsxd rax, dword [rbp - 0x74]
mov r13d, 1
mov dword [rbp + 0x1d0], r13d
mov dword [rbp + 0x1f0], edi
mov qword [rbp + 0x1c0], rax
call fcn.1400dd2e0
lea rcx, [0x1401507e8]
mov dword [rbp + 0x210], r13d
mov qword [rbp + 0x1e0], rax
movsxd rax, dword [rbp - 0x40]
mov dword [rbp + 0x230], edi
mov qword [rbp + 0x200], rax
call fcn.1400dd2e0
lea rcx, str.__63_2
mov qword [rbp + 0x220], rax
movsxd rax, dword [rbp - 0x18]
mov dword [rbp + 0x250], r13d
mov qword [rbp + 0x240], rax
mov dword [rbp + 0x270], edi
call fcn.1400dd2e0
mov qword [rbp + 0x260], rax
movsxd rax, dword [rbp - 0x38]
mov dword [rbp + 0x290], r13d
mov qword [rbp + 0x280], rax
lea rax, [0x14015046c]
mov dword [rbp + 0x2b0], edi
mov qword [rbp + 0x2a0], rax
movsxd rax, dword [rsp + 0x78]
mov dword [rbp + 0x2d0], r13d
mov qword [rbp + 0x2c0], rax
lea rax, [0x140150470]
mov dword [rbp + 0x2f0], edi
mov qword [rbp + 0x2e0], rax
movsxd rax, dword [rsp + 0x70]
mov dword [rbp + 0x310], r13d
mov qword [rbp + 0x300], rax
mov rsi, qword [rbp + 0xa8]
lea rax, str.count
mov dword [rbp + 0x330], edi
mov qword [rbp + 0x320], rax
mov dword [rbp + 0x350], r13d
mov qword [rbp + 0x340], r15
mov rbx, rdi
nop dword [rax]
mov rdi, qword [rbp + rbx*8 + 0xe0]
mov rcx, rdi
call fcn.140070520
mov rdx, rdi
mov rcx, r12
cmp eax, r13d
jne 0x1400be646
lea rax, [rbp + 0x48]
lea r9, [rbp + 0x840]
mov r8, rsi
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.1400d8fd0
mov ecx, dword [rbp + 0x840]
cmp ecx, r13d
je 0x1400be610
test ecx, ecx
lea rdi, [0x1401295d4]
lea rcx, str._n___7_.__zykz34__63_t
cmove rdi, qword [rbp + 0x58]
call fcn.1400dd2e0
mov r8, rdi
mov rdx, rax
jmp 0x1400be6ad
test rax, rax
je 0x1400be624
sub rax, qword [r12 + 0x18]
sar rax, 5
mov qword [rbp + 0x48], rax
jmp 0x1400be628
mov rax, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
lea r9, [rbp + rbx*8 + 0xe8]
mov rdx, rax
mov rcx, r12
mov dword [rsp + 0x20], r13d
call fcn.1400d76b0
jmp 0x1400be69b
lea rax, [rbp + 0x78]
lea r9, [rbp + 0x868]
lea r8, [rbp + 0x5b0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400d8fd0
test rax, rax
jne 0x1400be68b
mov r9, qword [rbp + 0x78]
mov r8, qword [rbp + 0x60]
mov edx, dword [rbp + 0x868]
mov rcx, r12
call fcn.1400d90d0
test rax, rax
je 0x1400be69f
mov rdx, qword [rbp + rbx*8 + 0xe8]
mov rcx, rax
call fcn.1400d8ad0
test al, al
jne 0x1400be6b9
lea rdx, str.Out_of_memory.
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
add rbx, 2
cmp rbx, 0xe
jl 0x1400be5a0
mov rax, qword [rbp + 0x40]
test r12, r12
je 0x1400be6e6
mov rdx, r12
mov rcx, rax
call fcn.1400e9f40
test eax, eax
jne 0x1400be6e6
xor eax, eax
jmp 0x1400bdd02
mov rcx, qword [rbp - 0x20]
call fcn.140108f48
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400be722
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 0x1400bdd02
lea r12, [0x1401296b4]
mov r14d, 1
cmp qword [rdi + 8], r12
jne 0x1400be73e
mov rsi, qword [rdi + 0x10]
shr rsi, 1
jmp 0x1400be741
mov rsi, r14
lea rcx, [rsi + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x1400be760
mov rdx, rsi
mov rcx, r12
call fcn.140005910
mov r14d, eax
jmp 0x1400bdd02
mov r9, qword [0x140169b08]
cmp rbx, r9
jbe 0x1400be79c
cmp rbx, qword [rdi + 0x18]
jbe 0x1400be79c
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400bdd02
movzx eax, byte [rdi + 0x21]
cmp rcx, 2
jae 0x1400be81a
test al, 2
je 0x1400be7b8
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx ecx, byte [rdi + 0x20]
and byte [rdi + 0x21], 0x82
xor ebx, ebx
dec ecx
mov qword [rdi + 0x10], rbx
je 0x1400be80b
dec ecx
jne 0x1400be9d5
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1400be9d5
cmp rax, 0x1000
jbe 0x1400be80b
mov rcx, qword [rdi + 8]
call fcn.140108f48
and byte [rdi + 0x21], 0x7f
lea rax, [0x140171290]
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov eax, r14d
jmp 0x1400bdd02
mov rax, qword [rdi + 8]
mov word [rax], bx
mov eax, r14d
jmp 0x1400bdd02
test al, 2
je 0x1400be833
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 0x1400be9ae
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, 1
jbe 0x1400be86a
cmp al, 2
je 0x1400be8b2
mov r13, qword [rbp + 0x840]
mov rax, qword [rbp + 0x840]
jmp 0x1400be9a2
cmp rbx, 0x80
ja 0x1400be8b2
cmp rbx, 8
ja 0x1400be881
mov r13d, 8
jmp 0x1400be894
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 0x1400be8a9
mov r14d, eax
jmp 0x1400bdd02
mov byte [rdi + 0x20], 1
jmp 0x1400be9a2
cmp rbx, 0x20
jae 0x1400be8c3
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400be96b
cmp rbx, 0x208
jae 0x1400be8d7
mov r13d, 0x208
jmp 0x1400be96b
cmp rbx, 0x50000
jae 0x1400be927
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400be8f6
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400be91d
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400be91d
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400be96b
cmp rbx, 0x320000
jae 0x1400be939
lea r13, [rbx + 0x8000]
jmp 0x1400be96b
cmp rbx, 0xc80000
jae 0x1400be964
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400be96b
lea r13, [rbx + 0x20000]
cmp r13, r9
cmova r13, r9
cmp r8b, 2
jne 0x1400be98a
test rcx, rcx
je 0x1400be98a
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400be98c
xor bl, bl
test r13, r13
js 0x1400be9dd
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400be9dd
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 0x1400be9c3
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 0x1400bdd02
test bl, bl
je 0x1400be9f4
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x1400be9fd
mov rax, qword [rdi + 8]
xor edx, edx
mov word [rax], dx
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 0x1400bdd02
lea rsi, [0x14012ee14]
mov r14d, 1
cmp qword [rdi + 8], rsi
jne 0x1400bea41
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400bea44
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x1400bea64
mov rdx, r12
mov rcx, rsi
call fcn.140005910
mov r14d, eax
jmp 0x1400bdd0a
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400beaa0
cmp rbx, qword [rdi + 0x18]
jbe 0x1400beaa0
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x1400bdd0a
cmp rdx, 2
jae 0x1400beabd
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
mov eax, r14d
jmp 0x1400bdd0a
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400beada
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 0x1400bec60
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x1400beb11
cmp al, 2
je 0x1400beb5c
mov r13, qword [rbp + 0x840]
mov rax, qword [rbp + 0x840]
jmp 0x1400bec54
cmp rbx, 0x80
ja 0x1400beb5c
cmp rbx, 8
ja 0x1400beb28
mov r13d, 8
jmp 0x1400beb3b
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 0x1400beb53
mov r14d, r15d
mov eax, r15d
jmp 0x1400bdd0a
mov byte [rdi + 0x20], 1
jmp 0x1400bec54
cmp rbx, 0x20
jae 0x1400beb6d
mov r13d, SafeArrayAllocDescriptor
jmp 0x1400bec1d
cmp rbx, 0x208
jae 0x1400beb81
mov r13d, 0x208
jmp 0x1400bec1d
cmp rbx, 0x50000
jae 0x1400bebd9
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x1400beba0
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400bebcf
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400bebcf
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r13, xmm0
add r13, rax
jmp 0x1400bec1d
cmp rbx, 0x320000
jae 0x1400bebeb
lea r13, [rbx + 0x8000]
jmp 0x1400bec1d
cmp rbx, 0xc80000
jae 0x1400bec16
movabs rax, 0x47ae147ae147ae15
mov r13, rbx
mul rbx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 6
add r13, rbx
jmp 0x1400bec1d
lea r13, [rbx + 0x20000]
cmp r13, rcx
cmova r13, rcx
cmp r9b, 2
jne 0x1400bec3c
test r8, r8
je 0x1400bec3c
mov rcx, qword [rdi + 8]
mov bl, 1
call fcn.140108f48
jmp 0x1400bec3e
xor bl, bl
test r13, r13
js 0x1400bec8e
mov rcx, r13
call fcn.1401084ac
test rax, rax
je 0x1400bec8e
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 0x1400bec75
lea r8, [r12 + r12]
mov rdx, rsi
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
mov word [rcx + rax], r15w
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400bdd0a
test bl, bl
je 0x1400beca3
lea rax, [0x140171290]
mov qword [rdi + 0x18], r15
mov qword [rdi + 8], rax
jmp 0x1400becab
mov rax, qword [rdi + 8]
mov word [rax], r15w
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], r15
call fcn.1400a5580
mov r14d, eax
jmp 0x1400bdd0a
mov rcx, qword [rbp + 0x840]
lea r9, [0x1401295d4]
lea rdx, [0x14012ee14]
xor r8d, r8d
call fcn.14003c960
mov r14d, eax
jmp 0x1400bdd0a