Function at 0x140111210
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4c0
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x4b0], rax
mov edi, r8d
mov ebx, edx
mov r14, rcx
cmp byte [0x1401e2ccc], 0
je 0x1401133c3
lea rcx, [rsp + 0x270]
call fcn.1401617b0
lea rcx, [rsp + 0x390]
call fcn.1401617b0
mov rcx, qword [r14 + 0x228]
call fcn.1400d71e0
mov rcx, r14
call fcn.1400ef4b0
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x120], rax
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r12, rax
mov qword [rsp + 0x70], rax
mov r13d, 1
mov ecx, r13d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
mov dword [rsp + 0xd0], eax
cmp byte [r14 + 0x230], 0
je 0x1401112d7
mov edx, 0x100
mov rcx, r12
call qword [sym.imp.GDI32.dll_SetTextAlign]
mov dword [rsp + 0xa0], eax
jmp 0x1401112e5
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xa0], eax
cmp dword [r14 + 0x454], r13d
jne 0x140111f1f
mov eax, dword [r14 + 0x468]
sub eax, dword [r14 + 0x190]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xa8], ebx
mov dword [rsp + 0xac], edi
lea rdx, [rsp + 0xa8]
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [r14 + 0x45c]
mov eax, esi
cdq
idiv dword [r14 + 0x464]
mov edi, eax
imul edi, ecx
cmp edi, ecx
cmovl edi, ecx
mov dword [rsp + 0x8c], edi
lea rdx, [rsp + 0x128]
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, r14
call fcn.14011fb30
mov esi, eax
mov dword [rsp + 0x7c], eax
mov edx, eax
mov rcx, r14
call fcn.14011f4f0
add eax, esi
mov dword [rsp + 0xb8], eax
sub esi, edi
lea ebx, [rax + rdi]
mov dword [rsp + 0x78], ebx
mov r13d, 0
cmovs esi, r13d
mov rcx, r14
call fcn.140149fd0
cmp ebx, eax
jle 0x1401113b2
mov rcx, r14
call fcn.140149fd0
mov dword [rsp + 0x78], eax
mov rcx, r14
call fcn.140120220
or r12d, 0xffffffff
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x80], r13d
mov dword [rsp + 0x60], r13d
mov r15d, r13d
lea edx, [r12 + 3]
mov rcx, r14
call fcn.14014a2c0
xor edx, edx
mov rcx, qword [0x1401f3670]
call fcn.14000ad60
mov ebx, r13d
cmp esi, dword [rsp + 0x78]
jge 0x1401114bb
mov edx, esi
mov rcx, r14
call fcn.14014a0b0
test eax, eax
je 0x140111499
mov edi, dword [r14 + 0x460]
imul edi, ebx
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [rdi + r11]
lea ecx, [rax + rdx*2]
sub edi, 4
cmp dword [rsp + 0x88], r13d
je 0x14011145e
cmp edi, dword [rsp + 0x60]
jge 0x14011146d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x88], 1
cmp dword [rsp + 0x80], r13d
je 0x14011147c
cmp ecx, r15d
jle 0x14011148a
mov r15d, ecx
mov dword [rsp + 0x80], 1
cmp r12d, 0xffffffff
cmove r12d, esi
lea eax, [rsi + 1]
mov dword [rsp + 0x68], eax
add ebx, 1
cmp ebx, dword [r14 + 0x45c]
cmove ebx, r13d
add esi, 1
cmp esi, dword [rsp + 0x78]
jl 0x140111403
mov edi, dword [rsp + 0x8c]
mov r8d, dword [rsp + 0x60]
sub r15d, r8d
cmp r12d, 0xffffffff
jne 0x1401114db
mov r9d, dword [rsp + 0x7c]
mov r12d, r9d
lea esi, [r9 + 1]
mov dword [rsp + 0x68], esi
jmp 0x1401114e4
mov esi, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x7c]
mov eax, esi
sub eax, r12d
cmp eax, edi
jle 0x140111584
cmp r12d, r9d
jl 0x140111503
lea esi, [r12 + rdi]
mov dword [rsp + 0x68], esi
jmp 0x140111584
mov eax, dword [rsp + 0xb8]
cmp esi, eax
jg 0x140111526
mov ecx, dword [r14 + 0x45c]
mov eax, esi
cdq
idiv ecx
mov r12d, eax
imul r12d, ecx
sub r12d, edi
jmp 0x140111584
mov r8d, dword [r14 + 0x45c]
sub eax, r9d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
lea eax, [r9 + rcx]
cdq
idiv r8d
mov r12d, eax
imul r12d, r8d
test r12d, r12d
cmovs r12d, r13d
lea esi, [r12 + rdi]
mov dword [rsp + 0x68], esi
mov rcx, r14
call fcn.140149fd0
cmp esi, eax
jle 0x14011157f
mov rcx, r14
call fcn.140149fd0
mov esi, eax
mov dword [rsp + 0x68], eax
mov r8d, dword [rsp + 0x60]
jmp 0x140111584
mov r8d, dword [rsp + 0x60]
cmp byte [r14 + 0x230], r13b
je 0x1401115bf
mov ecx, dword [0x1401e90c0]
shl ecx, 4
mov eax, 0x2aaaaaab
imul ecx
mov edi, edx
sar edi, 4
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
sub edi, dword [rsp + 0xa8]
add edi, r15d
add edi, r8d
mov dword [rsp + 0x90], edi
jmp 0x1401115ec
mov ecx, dword [0x1401e90c0]
shl ecx, 4
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [rsp + 0xa8]
sub eax, edx
sub eax, r8d
mov dword [rsp + 0x90], eax
mov rcx, r14
call fcn.14011ef60
mov r8d, eax
mov eax, r12d
cdq
idiv dword [r14 + 0x45c]
sub r8d, eax
imul r8d, dword [r14 + 0x464]
mov ecx, dword [0x1401e90c4]
lea edx, [rcx + rcx*2]
shl edx, 2
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
sub r8d, edx
add r8d, dword [rsp + 0xac]
mov dword [rsp + 0x8c], r8d
mov ebx, dword [r14 + 0x45c]
mov rcx, r14
call fcn.140120220
mov r11d, eax
lea eax, [rsi - 1]
cdq
idiv ebx
mov ecx, eax
mov eax, r12d
cdq
idiv ebx
sub ecx, eax
imul ecx, dword [r14 + 0x464]
add r11d, ecx
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
lea esi, [r11 + rdx*2]
add esi, dword [r14 + 0x468]
mov dword [rsp + 0x84], esi
mov r9d, dword [rsp + 0xd0]
mov r8d, esi
mov edx, r15d
lea rcx, str.dragdrop_bitmap__d_x__d_screen_high__d_n
call fcn.1400b1c70
xor r11d, r11d
mov qword [rsp + 0x168], r11
mov qword [rsp + 0x170], r11
mov qword [rsp + 0x178], r11
mov qword [rsp + 0x180], r11
mov qword [rsp + 0x188], r11
mov dword [rsp + 0x190], r11d
mov dword [rsp + 0x168], 0x28
mov dword [rsp + 0x16c], r15d
mov eax, esi
neg eax
mov dword [rsp + 0x170], eax
mov word [rsp + 0x174], 1
mov word [rsp + 0x176], 0x20
mov dword [rsp + 0x178], r13d
mov qword [rsp + 0x98], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x98]
xor r8d, r8d
lea rdx, [rsp + 0x168]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateDIBSection]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140112fb5
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xc8], rax
mov edx, 4
mov rcx, qword [0x1401f3670]
call fcn.14000ad60
mov edx, eax
mov rcx, rbx
call fcn.1400c93a0
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x98]
add rdx, 3
mov ecx, r15d
imul ecx, esi
test ecx, ecx
je 0x1401117bc
nop
mov byte [rdx], r13b
add rdx, 4
sub ecx, 1
jne 0x1401117b0
mov ecx, dword [r14 + 0x45c]
mov eax, r12d
cdq
idiv ecx
mov edi, eax
imul edi, ecx
mov dword [rsp + 0x80], edi
mov r12d, r13d
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x7c], r13d
mov eax, dword [rsp + 0x60]
neg eax
mov dword [rsp + 0x60], eax
mov ebx, eax
mov dword [rsp + 0x64], eax
cmp edi, dword [rsp + 0x68]
jge 0x140111f04
nop
mov edx, edi
mov rcx, r14
call fcn.14014a0b0
test eax, eax
je 0x140111eb6
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x1f0]
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.140121530
mov edx, dword [rsp + 0x1fc]
mov rcx, qword [rsp + 0x70]
call fcn.1400c93a0
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, edi
mov rcx, r14
call fcn.14014a1f0
lea r9, [rsp + 0xe0]
mov r8d, 0xa0
mov edx, edi
mov rcx, r14
call fcn.14014a430
cmp dword [0x1401f37d4], 6
jb 0x140111893
mov edx, edi
mov rcx, r14
call fcn.14014a550
mov dword [rsp + 0x78], eax
jmp 0x140111898
mov dword [rsp + 0x78], r13d
mov rcx, r14
call fcn.140120220
mov r13d, eax
add r13d, dword [r14 + 0x468]
mov rcx, r14
call fcn.140120200
mov r12d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov esi, edx
sar esi, 4
mov ecx, esi
shr ecx, 0x1f
add esi, ecx
mov eax, dword [rsp + 0x6c]
add esi, eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov edi, edx
sar edi, 4
mov eax, edi
shr eax, 0x1f
add edi, eax
add edi, ebx
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ebx, [r11 + rdx*2]
add ebx, dword [r14 + 0x468]
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea r9d, [r11 + rdx*2]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
mov r12d, dword [rsp + 0x6c]
mov r8d, r12d
mov esi, dword [rsp + 0x64]
mov edx, esi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1400c5900
mov edx, 2
mov rcx, r14
call fcn.14014a2c0
cmp eax, dword [rsp + 0x80]
jne 0x140111a42
call qword [sym.imp.USER32.dll_GetFocus]
cmp rax, qword [r14 + 0x3d8]
jne 0x140111a3d
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ebx, [r11 + rdx*2]
add ebx, dword [r14 + 0x468]
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea r9d, [r11 + rdx*2]
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x38], eax
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, esi
mov rcx, rdi
call fcn.1400c2b00
jmp 0x140111a45
xor r13d, r13d
jmp 0x140111a45
xor r13d, r13d
cmp qword [rsp + 0x110], 0
je 0x140111afc
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.140120220
mov ebx, eax
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov r9d, edx
sar r9d, 4
mov ecx, r9d
shr ecx, 0x1f
add r9d, ecx
add r9d, r12d
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
add r8d, esi
lea rcx, [r14 + 0x4d8]
mov dword [rsp + 0x40], edi
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r11d
mov r12, qword [rsp + 0x70]
mov rdx, r12
call fcn.1400dfef0
jmp 0x140111b9d
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.140120220
mov ebx, eax
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov r9d, edx
sar r9d, 4
mov ecx, r9d
shr ecx, 0x1f
add r9d, ecx
add r9d, r12d
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
add r8d, esi
lea rcx, [r14 + 0x4d8]
mov dword [rsp + 0x40], edi
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x108]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r11d
mov r12, qword [rsp + 0x70]
mov rdx, r12
call fcn.1400e1c70
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x278]
lea rdx, [rsp + 0x1f0]
mov rcx, r12
call fcn.1400c8af0
mov edi, eax
mov rcx, r14
call fcn.140120200
mov r8d, eax
mov dword [rsp + 0xb8], eax
cmp edi, eax
jle 0x140111c07
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov r12d, edx
sar r12d, 4
mov ecx, r12d
shr ecx, 0x1f
add r12d, ecx
add r12d, esi
jmp 0x140111c43
mov eax, dword [0x1401e90c0]
lea ecx, [rax*4]
mov eax, 0x2aaaaaab
imul ecx
mov r12d, edx
sar r12d, 4
mov eax, r12d
shr eax, 0x1f
add r12d, eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add r12d, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub r12d, eax
add r12d, esi
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
mov ebx, dword [rsp + 0x6c]
lea eax, [rbx + r11]
add r8d, eax
mov dword [rsp + 0x58], r13d
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edi
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xb8]
mov edx, r12d
mov rcx, qword [rsp + 0x70]
call fcn.1400cfd10
mov esi, eax
sub esi, r12d
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov edi, edx
sar edi, 4
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
lea eax, [rbx + r11]
add edi, eax
mov rcx, r14
call fcn.140120200
mov ebx, eax
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov r8d, edx
sar r8d, 4
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
mov eax, dword [rsp + 0x6c]
add eax, r11d
add r8d, eax
mov eax, dword [0x1401e90c0]
lea ecx, [rax*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [rsp + 0x64]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov rcx, qword [rsp + 0x70]
call fcn.1400c5900
movsx ebx, byte [r14 + 0x230]
mov rcx, r14
call fcn.140120220
mov r11d, eax
mov ecx, dword [0x1401e90c4]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea edi, [r11 + rdx*2]
add edi, dword [r14 + 0x468]
mov rcx, r14
call fcn.140120200
mov r11d, eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea r8d, [r11 + rdx*2]
mov ecx, dword [rsp + 0x64]
test ebx, ebx
je 0x140111e1c
mov ecx, r15d
sub ecx, r8d
mov ebx, dword [rsp + 0x64]
sub ecx, ebx
jmp 0x140111e1e
mov ebx, ecx
test ecx, ecx
cmovs ecx, r13d
mov r12d, dword [rsp + 0x6c]
mov edx, r12d
test r12d, r12d
cmovs edx, r13d
lea eax, [rcx + r8]
cmp eax, r15d
jle 0x140111e42
mov r8d, r15d
sub r8d, ecx
lea eax, [rdx + rdi]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x140111e54
mov edi, esi
sub edi, edx
test r8d, r8d
jle 0x140111ea1
test edi, edi
jle 0x140111ea1
imul edx, r15d
add edx, ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rcx*4]
movsxd r9, r15d
shl r9, 2
nop
nop
mov eax, r8d
lea rcx, [rdx + 3]
add rdx, r9
nop
nop
mov byte [rcx], 0xff
add rcx, 4
sub eax, 1
jne 0x140111e90
sub edi, 1
jne 0x140111e80
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [rsp + 0x80]
mov eax, dword [rsp + 0x7c]
add eax, 1
mov dword [rsp + 0x7c], eax
cmp eax, dword [r14 + 0x45c]
jne 0x140111ee5
add r12d, dword [r14 + 0x464]
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x7c], r13d
mov ebx, dword [rsp + 0x60]
mov dword [rsp + 0x64], ebx
jmp 0x140111ef0
add ebx, dword [r14 + 0x460]
mov dword [rsp + 0x64], ebx
add edi, 1
mov dword [rsp + 0x80], edi
cmp edi, dword [rsp + 0x68]
jl 0x140111800
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140112fbd
mov ecx, dword [r14 + 0x468]
mov eax, ecx
sub eax, dword [r14 + 0x190]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x80], eax
sub ecx, dword [r14 + 0x198]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xb0], ebx
mov dword [rsp + 0xb4], edi
lea rdx, [rsp + 0xb0]
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_ScreenToClient]
lea r8, [rsp + 0x1e0]
xor edx, edx
mov rcx, r14
call fcn.14011d4a0
mov eax, esi
cdq
idiv dword [r14 + 0x468]
mov edi, eax
cmp eax, r13d
cmovl edi, r13d
lea rdx, [rsp + 0x1d0]
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, r14
call fcn.14011ef60
mov esi, eax
mov r8d, dword [r14 + 0x468]
mov edx, r8d
sub edx, dword [r14 + 0x19c]
sub edx, dword [rsp + 0x1d4]
mov ecx, dword [rsp + 0x1dc]
lea eax, [rdx + rcx - 1]
cdq
idiv r8d
add eax, esi
mov dword [rsp + 0x8c], eax
mov ebx, esi
sub ebx, edi
lea r12d, [rax + rdi]
mov dword [rsp + 0x88], r12d
mov r13d, 0
cmovs ebx, r13d
mov rcx, r14
call fcn.140149fd0
cmp r12d, eax
jle 0x14011201d
mov rcx, r14
call fcn.140149fd0
mov dword [rsp + 0x88], eax
mov r15d, r13d
or r12d, 0xffffffff
mov dword [rsp + 0x60], r12d
lea edx, [r12 + 3]
mov rcx, r14
call fcn.14014a2c0
mov dword [rsp + 0x7c], eax
mov rcx, r14
call fcn.14011d8c0
mov dword [rsp + 0x78], eax
cmp byte [0x1401f3491], r13b
je 0x140112060
mov rcx, r14
call fcn.14011d590
lea r15d, [rax + 4]
nop
nop
cmp ebx, dword [rsp + 0x88]
jl 0x1401132bb
cmp r12d, 0xffffffff
jne 0x14011207f
mov r12d, esi
lea ebx, [rsi + 1]
mov dword [rsp + 0x60], ebx
jmp 0x140112083
mov ebx, dword [rsp + 0x60]
mov eax, ebx
sub eax, r12d
cmp eax, edi
jle 0x1401120f0
cmp r12d, esi
jl 0x14011209a
add edi, r12d
mov dword [rsp + 0x60], edi
jmp 0x1401120f8
mov eax, dword [rsp + 0x8c]
cmp ebx, eax
jg 0x1401120b1
mov r12d, ebx
sub r12d, edi
mov edi, dword [rsp + 0x60]
jmp 0x1401120f8
sub eax, esi
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub r12d, eax
add r12d, esi
cmovs r12d, r13d
lea ebx, [r12 + rdi]
mov dword [rsp + 0x60], ebx
mov rcx, r14
call fcn.140149fd0
cmp ebx, eax
jle 0x1401120f6
mov rcx, r14
call fcn.140149fd0
mov edi, eax
mov dword [rsp + 0x60], eax
jmp 0x1401120f8
mov edi, dword [rsp + 0x60]
jmp 0x1401120f8
mov edi, ebx
cmp byte [0x1401f3491], r13b
je 0x140112145
cmp byte [r14 + 0x230], r13b
je 0x140112129
mov rcx, r14
call fcn.14011efd0
mov ecx, r15d
sub ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx - 4]
mov dword [rsp + 0x90], eax
jmp 0x140112193
mov rcx, r14
call fcn.14011efd0
mov ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx + 4]
mov dword [rsp + 0x90], eax
jmp 0x140112193
cmp byte [r14 + 0x230], r13b
je 0x140112172
mov rcx, r14
call fcn.14011efd0
mov ecx, dword [rsp + 0x1e0]
sub ecx, dword [rsp + 0xb0]
add eax, r15d
add ecx, eax
mov dword [rsp + 0x90], ecx
jmp 0x140112193
mov rcx, r14
call fcn.14011efd0
mov ecx, eax
mov eax, dword [rsp + 0xb0]
sub eax, dword [rsp + 0x1e0]
add ecx, eax
mov dword [rsp + 0x90], ecx
mov ebx, dword [r14 + 0x468]
mov rcx, r14
call fcn.14011ef60
mov ecx, eax
imul ecx, ebx
sub ecx, dword [r14 + 0x19c]
add ecx, dword [rsp + 0xb4]
mov eax, ebx
imul eax, r12d
sub ecx, eax
mov dword [rsp + 0x8c], ecx
mov esi, edi
sub esi, r12d
imul esi, ebx
mov dword [rsp + 0x84], esi
xor eax, eax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rax
mov dword [rsp + 0x160], eax
mov dword [rsp + 0x138], 0x28
mov dword [rsp + 0x13c], r15d
mov eax, esi
neg eax
mov dword [rsp + 0x140], eax
mov word [rsp + 0x144], 1
mov word [rsp + 0x146], 0x20
mov dword [rsp + 0x148], r13d
mov qword [rsp + 0x98], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x98]
xor r8d, r8d
lea rdx, [rsp + 0x138]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateDIBSection]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140112fb5
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x98]
add rcx, 3
mov eax, r15d
imul eax, esi
test eax, eax
je 0x1401122bc
nop
mov byte [rcx], r13b
add rcx, 4
sub eax, 1
jne 0x1401122b0
mov edi, r13d
mov dword [rsp + 0x64], r13d
mov edx, 4
mov rcx, qword [0x1401f3670]
call fcn.14000ad60
mov dword [rsp + 0x88], eax
mov edx, eax
mov rcx, rbx
call fcn.1400c93a0
mov qword [rsp + 0xa8], rax
cmp dword [rsp + 0x7c], 0xffffffff
je 0x1401123bd
cmp byte [0x1401f3491], dil
je 0x1401123bd
lea r8, [rsp + 0x128]
xor edx, edx
mov rcx, r14
call fcn.14011d4a0
mov rcx, r14
call fcn.14011d590
mov r8d, eax
mov dword [rsp + 0x68], eax
mov ecx, dword [0x1401e90c0]
shl ecx, 2
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
sar eax, 4
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
add eax, dword [r14 + 0x194]
add eax, dword [rsp + 0x128]
mov dword [rsp + 0x6c], eax
mov ebx, r13d
cmp dword [rsp + 0x78], ebx
jle 0x1401123ae
mov edi, eax
mov esi, dword [rsp + 0x78]
mov edx, ebx
mov rcx, r14
call fcn.14011e070
test eax, eax
je 0x140112390
lea r8, [rsp + 0x128]
mov edx, eax
mov rcx, r14
call fcn.14011d4a0
mov eax, dword [rsp + 0x128]
cmp eax, edi
cmovl edi, eax
add ebx, 1
cmp ebx, esi
jl 0x140112364
mov dword [rsp + 0x6c], edi
mov edi, r13d
mov esi, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x6c]
sub r8d, eax
mov dword [rsp + 0x68], r8d
mov rbx, qword [rsp + 0x70]
jmp 0x1401123d3
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x6c], eax
cmp r12d, dword [rsp + 0x60]
jge 0x140112f9d
jmp 0x1401123e5
mov rbx, qword [rsp + 0x70]
mov edx, r12d
mov rcx, r14
call fcn.14014a0b0
test eax, eax
je 0x140112f83
cmp byte [0x1401f3491], r13b
je 0x140112b41
mov eax, r13d
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0x78], eax
jle 0x140112f83
nop
nop
mov edx, eax
mov rcx, r14
call fcn.14011e070
mov ebx, eax
lea r8, [rsp + 0xe0]
mov edx, eax
mov rcx, r14
call fcn.14011d4a0
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
mov r8d, ebx
mov edx, r12d
mov rcx, r14
call fcn.140121530
movsx r11d, byte [r14 + 0x230]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], ebx
mov r9d, r12d
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x270]
mov rcx, r14
call fcn.14011f880
mov r11, qword [rsp + 0x398]
mov qword [rsp + 0x20], r11
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x278]
lea rdx, [rsp + 0x198]
mov rcx, qword [rsp + 0x70]
call fcn.1400c8af0
mov esi, eax
test ebx, ebx
jne 0x140112736
lea r9, [rsp + 0x230]
lea r8d, [rbx + 0x20]
mov edx, r12d
mov rcx, r14
call fcn.14014a430
cmp dword [0x1401f37d4], 6
jb 0x1401124f3
mov edx, r12d
mov rcx, r14
call fcn.14014a550
jmp 0x1401124f6
mov eax, r13d
mov r10d, 0xff
test eax, eax
mov r11d, 0x80
cmovne r10d, r11d
mov eax, dword [rsp + 0xb8]
lea r9d, [rdi + rax]
mov eax, dword [0x1401e90c0]
lea ecx, [rax*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [rsp + 0xe0]
lea r8d, [rdx + rax + 4]
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x48], r11d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x258]
mov dword [rsp + 0x30], eax
mov eax, dword [r14 + 0x198]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x194]
mov dword [rsp + 0x20], eax
mov rbx, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, qword [0x1401f37f8]
call fcn.1400d0840
mov r11d, dword [r14 + 0x194]
mov r9d, dword [0x1401e90c0]
lea ecx, [r9*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r10d, dword [rsp + 0xe8]
sub r10d, edx
mov r8d, dword [rsp + 0xe0]
sub r10d, r8d
sub r10d, r11d
lea ecx, [r9*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, r8d
lea edx, [rdx + r11 + 4]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r9d, r10d
mov r8d, edi
mov rcx, rbx
call fcn.1400c58b0
mov ebx, dword [r14 + 0x194]
mov r9d, dword [0x1401e90c0]
lea ecx, [r9 + r9]
mov eax, 0x2aaaaaab
imul ecx
mov r11d, edx
sar r11d, 4
mov eax, r11d
shr eax, 0x1f
add r11d, eax
lea ecx, [r9*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r10d, dword [rsp + 0xe8]
sub r10d, edx
mov r8d, dword [rsp + 0xe0]
sub r10d, r8d
sub r10d, r11d
sub r10d, ebx
lea ecx, [r9*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, r8d
add edx, r11d
lea edx, [rdx + rbx + 4]
mov dword [rsp + 0x58], r13d
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r9d, r10d
mov r8d, edi
mov rcx, qword [rsp + 0x70]
call fcn.1400cfd10
mov r11d, dword [0x1401e90c0]
shl r11d, 2
mov eax, 0x2aaaaaab
imul r11d
mov ecx, edx
sar ecx, 4
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov edi, dword [rsp + 0xe0]
add ecx, edi
add ecx, dword [r14 + 0x194]
mov dword [rsp + 0xc0], ecx
jmp 0x140112897
mov r9d, dword [rsp + 0xe8]
mov edx, dword [rsp + 0xe0]
sub r9d, edx
add edx, 4
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r8d, edi
mov rcx, qword [rsp + 0x70]
call fcn.1400c58b0
mov edx, ebx
mov rcx, r14
call fcn.14011d940
test eax, eax
je 0x1401127d5
mov r9d, dword [0x1401e90c0]
lea ecx, [r9 + r9*2]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r10d, dword [rsp + 0xe8]
mov r8d, r10d
sub r8d, edx
sub r8d, esi
lea ecx, [r9 + r9*2]
add ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, dword [rsp + 0xe0]
add ecx, eax
cmp r8d, ecx
jge 0x140112809
mov r8d, ecx
jmp 0x140112809
mov r9d, dword [0x1401e90c0]
lea ecx, [r9 + r9*2]
add ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
mov r8d, edx
sar r8d, 4
mov eax, r8d
shr eax, 0x1f
add r8d, eax
add r8d, dword [rsp + 0xe0]
mov r10d, dword [rsp + 0xe8]
lea ecx, [r9 + r9]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
sub r10d, edx
sub r10d, r8d
lea edx, [r8 + 4]
mov dword [rsp + 0x58], r13d
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r9d, r10d
mov r8d, edi
mov rcx, qword [rsp + 0x70]
call fcn.1400cfd10
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0xc0], edi
mov edx, dword [rsp + 0x7c]
cmp r12d, edx
jne 0x140112a64
cmp byte [0x1401f3491], r13b
je 0x140112a71
mov esi, dword [r14 + 0x468]
mov ebx, dword [rsp + 0xe8]
sub ebx, edi
add edi, 4
mov rcx, r14
call fcn.14011efd0
mov r9d, dword [rsp + 0x6c]
sub r9d, eax
add r9d, 4
mov r8d, dword [r14 + 0x468]
imul r8d, r12d
mov eax, dword [rsp + 0x1a4]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], ebx
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov ebx, dword [rsp + 0x68]
mov dword [rsp + 0x28], ebx
mov edi, eax
mov dword [rsp + 0x20], eax
xor edx, edx
mov rcx, qword [rsp + 0x70]
call fcn.1400c2800
movsx r11d, byte [r14 + 0x230]
mov r8d, 1
mov r10d, ebx
mov r9d, dword [rsp + 0x6c]
add r9d, 4
mov ecx, r9d
test r11d, r11d
je 0x14011294b
mov eax, r15d
sub eax, ecx
mov ecx, eax
sub ecx, ebx
test ecx, ecx
cmovs ecx, r13d
mov edx, edi
test edi, edi
cmovs edx, r13d
lea eax, [rcx + rbx]
cmp eax, r15d
jle 0x140112967
mov r10d, r15d
sub r10d, ecx
lea eax, [rdx + 1]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x14011297b
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x1401129c2
test r8d, r8d
jle 0x1401129c2
imul edx, r15d
add edx, ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rcx*4]
movsxd r11, r15d
shl r11, 2
mov eax, r10d
lea rcx, [rdx + 3]
add rdx, r11
nop
nop
mov byte [rcx], 0xff
add rcx, 4
sub eax, 1
jne 0x1401129b0
sub r8d, 1
jne 0x1401129a1
movsx ecx, byte [r14 + 0x230]
mov r8d, 1
mov r10d, ebx
mov eax, dword [r14 + 0x468]
lea edx, [rax + rdi - 1]
test ecx, ecx
je 0x1401129ee
mov eax, r15d
sub eax, r9d
mov r9d, eax
sub r9d, ebx
test r9d, r9d
cmovs r9d, r13d
test edx, edx
cmovs edx, r13d
lea eax, [r9 + rbx]
cmp eax, r15d
jle 0x140112a0a
mov r10d, r15d
sub r10d, r9d
lea eax, [rdx + 1]
cmp eax, esi
jle 0x140112a17
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x140112a7c
test r8d, r8d
jle 0x140112a7c
imul edx, r15d
add edx, r9d
movsxd rcx, edx
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rcx*4]
movsxd r9, r15d
shl r9, 2
nop
mov eax, r10d
lea rcx, [rdx + 3]
add rdx, r9
nop
nop
mov byte [rcx], 0xff
add rcx, 4
sub eax, 1
jne 0x140112a50
sub r8d, 1
jne 0x140112a40
jmp 0x140112a7c
mov edi, dword [rsp + 0x64]
mov esi, dword [rsp + 0x84]
jmp 0x140112a7c
mov edi, dword [rsp + 0x64]
mov esi, dword [rsp + 0x84]
movsx eax, byte [r14 + 0x230]
mov edx, dword [r14 + 0x468]
mov r9d, dword [rsp + 0xe8]
mov ecx, dword [rsp + 0xc0]
sub r9d, ecx
add ecx, 4
test eax, eax
je 0x140112aae
mov eax, r15d
sub eax, ecx
mov ecx, eax
sub ecx, r9d
test ecx, ecx
cmovs ecx, r13d
mov r8d, edi
test edi, edi
cmovs r8d, r13d
lea eax, [rcx + r9]
cmp eax, r15d
jle 0x140112acc
mov r9d, r15d
sub r9d, ecx
lea eax, [r8 + rdx]
cmp eax, esi
jle 0x140112ad9
mov edx, esi
sub edx, r8d
test r9d, r9d
jle 0x140112b21
test edx, edx
jle 0x140112b21
imul r8d, r15d
add r8d, ecx
movsxd rcx, r8d
mov rax, qword [rsp + 0x98]
lea r8, [rax + rcx*4]
movsxd r10, r15d
shl r10, 2
nop
mov eax, r9d
lea rcx, [r8 + 3]
add r8, r10
nop
nop
mov byte [rcx], 0xff
add rcx, 4
sub eax, 1
jne 0x140112b10
sub edx, 1
jne 0x140112b00
mov eax, dword [rsp + 0xd0]
add eax, 1
mov dword [rsp + 0xd0], eax
cmp eax, dword [rsp + 0x78]
jl 0x140112420
jmp 0x140112f83
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, r12d
mov rcx, r14
call fcn.14014a1f0
lea r9, [rsp + 0x230]
mov r8d, 0x20
mov edx, r12d
mov rcx, r14
call fcn.14014a430
cmp dword [0x1401f37d4], 6
jb 0x140112b8b
mov edx, r12d
mov rcx, r14
call fcn.14014a550
jmp 0x140112b8e
mov eax, r13d
mov r10d, 0xff
test eax, eax
mov r8d, 0x80
cmovne r10d, r8d
mov eax, dword [rsp + 0xb8]
lea r9d, [rdi + rax]
mov eax, dword [0x1401e90c0]
lea ecx, [rax*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x48], r8d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x258]
mov dword [rsp + 0x30], eax
mov eax, dword [r14 + 0x198]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x194]
mov dword [rsp + 0x20], eax
mov r8d, edx
mov rdx, rbx
mov rcx, qword [0x1401f37f8]
call fcn.1400d0840
mov r11d, dword [0x1401e90c0]
lea ecx, [r11 + r11]
mov eax, 0x2aaaaaab
imul ecx
mov r9d, edx
sar r9d, 4
mov eax, r9d
shr eax, 0x1f
add r9d, eax
lea ecx, [r11*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [r14 + 0x194]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r8d, edi
mov rcx, rbx
call fcn.1400c58b0
mov r11, qword [rsp + 0x398]
mov qword [rsp + 0x20], r11
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x278]
lea rdx, [rsp + 0x198]
mov rcx, rbx
call fcn.1400c8af0
mov ebx, eax
mov r10d, dword [r14 + 0x194]
mov r9d, dword [0x1401e90c0]
lea ecx, [r9 + r9]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov r11d, r15d
sub r11d, edx
sub r11d, r10d
lea ecx, [r9*4]
mov eax, 0x2aaaaaab
imul ecx
mov r8d, edx
sar r8d, 4
mov eax, r8d
shr eax, 0x1f
add r8d, eax
lea ecx, [r9 + r9]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [r10 + r8]
add edx, eax
mov dword [rsp + 0x58], r13d
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebx
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x468]
mov dword [rsp + 0x20], eax
mov r9d, r11d
mov r8d, edi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1400cfd10
mov esi, eax
mov ecx, dword [0x1401e90c0]
lea edx, [rcx + rcx*2]
add edx, edx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov ecx, dword [r14 + 0x468]
mov dword [rsp + 0x20], ecx
mov r8d, edi
mov edx, esi
mov rcx, rbx
call fcn.1400c58b0
mov r11d, dword [0x1401e90c0]
lea ecx, [r11 + r11*2]
add ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add esi, edx
cmp r12d, dword [rsp + 0x7c]
jne 0x140112e8e
mov rcx, r14
call fcn.14011efd0
mov ebx, eax
mov edi, dword [r14 + 0x468]
mov rcx, r14
call fcn.14011ef60
mov r11d, eax
imul r11d, edi
add r11d, dword [r14 + 0x19c]
mov r10d, dword [r14 + 0x194]
mov r8d, dword [0x1401e90c0]
lea ecx, [r8*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov r9d, esi
sub r9d, edx
sub r9d, r10d
lea ecx, [r8*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, r10d
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov edi, dword [rsp + 0x64]
mov r8d, edi
mov rcx, qword [rsp + 0x70]
call fcn.1400c2b00
mov r11d, dword [0x1401e90c0]
movsx r9d, byte [r14 + 0x230]
mov r10d, dword [r14 + 0x468]
mov r8d, dword [r14 + 0x194]
lea ecx, [r11*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
sub esi, edx
sub esi, r8d
lea ecx, [r11*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, r8d
test r9d, r9d
je 0x140112eec
mov eax, r15d
sub eax, edx
mov edx, eax
sub edx, esi
test edx, edx
cmovs edx, r13d
mov ecx, edi
test edi, edi
cmovs ecx, r13d
lea eax, [rdx + rsi]
cmp eax, r15d
jle 0x140112f07
mov esi, r15d
sub esi, edx
lea eax, [rcx + r10]
mov r8d, dword [rsp + 0x84]
cmp eax, r8d
jle 0x140112f1e
mov r10d, r8d
sub r10d, ecx
test esi, esi
jle 0x140112f80
test r10d, r10d
jle 0x140112f7b
imul ecx, r15d
add ecx, edx
movsxd rcx, ecx
mov rax, qword [rsp + 0x98]
lea rdx, [rax + rcx*4]
movsxd r8, r15d
shl r8, 2
nop
nop
nop
nop
mov eax, esi
lea rcx, [rdx + 3]
add rdx, r8
nop
nop
mov byte [rcx], 0xff
add rcx, 4
sub eax, 1
jne 0x140112f60
sub r10d, 1
jne 0x140112f50
mov esi, dword [rsp + 0x84]
jmp 0x140112f83
mov esi, r8d
jmp 0x140112f83
mov esi, r8d
add edi, dword [r14 + 0x468]
mov dword [rsp + 0x64], edi
add r12d, 1
cmp r12d, dword [rsp + 0x60]
jl 0x1401123e0
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140112fbd
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x140113096
cmp dword [0x1401f37d4], 6
jb 0x140113035
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140113096
mov rcx, qword [rsp + 0x98]
add rcx, 1
sub edx, 1
cmp byte [rcx + 2], 0x10
jae 0x140113000
mov dword [rcx - 1], r13d
jmp 0x14011302b
movzx eax, byte [rcx - 1]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx - 1], al
movzx eax, byte [rcx]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx], al
movzx eax, byte [rcx + 1]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx + 1], al
add rcx, 4
test edx, edx
jne 0x140112ff1
jmp 0x140113096
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140113096
mov rcx, qword [rsp + 0x98]
add rcx, 2
nop
nop
sub edx, 1
cmp byte [rcx + 1], 0x80
jae 0x14011305f
mov dword [rcx - 2], r13d
jmp 0x14011308e
movzx eax, byte [rcx - 2]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx - 2], al
movzx eax, byte [rcx - 1]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx - 1], al
movzx eax, byte [rcx]
imul eax, eax, 7
sar eax, 3
add al, 0x10
mov byte [rcx], al
mov byte [rcx + 1], 0
add rcx, 4
test edx, edx
jne 0x140113050
cmp byte [r14 + 0x230], 0
je 0x1401130b7
mov edx, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetTextAlign]
jmp 0x1401130bc
mov rbx, qword [rsp + 0x70]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, qword [rsp + 0x120]
mov rcx, qword [r14 + 0x3d8]
call qword [sym.imp.USER32.dll_ReleaseDC]
lea rcx, str.create_shell_object._n
call fcn.1400b1c70
test rdi, rdi
je 0x14011329c
lea rdx, [rsp + 0xb8]
mov rcx, r14
call fcn.140155d20
test eax, eax
js 0x140113293
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
lea rdx, [0x1401cff90]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x50]
test eax, eax
js 0x14011326f
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rbx, rax
test rax, rax
je 0x140113264
lea rax, [0x1401ba2c0]
mov qword [rbx], rax
mov dword [rbx + 0xc], r13d
mov eax, 1
mov dword [rbx + 8], eax
mov dword [rsp + 0xa0], r13d
mov dword [r14 + 0x1d8], eax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
lea r9, [0x1401cfea0]
mov r8d, eax
xor edx, edx
lea rcx, [0x1401cfec0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14011320a
mov dword [rsp + 0xf8], r13d
mov qword [rsp + 0xf0], rdi
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xec], eax
mov dword [rsp + 0xe0], r15d
mov dword [rsp + 0xe4], esi
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x70]
lea rdx, [rsp + 0xe0]
call qword [rax + 0x18]
jmp 0x140113212
mov qword [rsp + 0xc8], r13
lea r9, [rsp + 0xa0]
mov r8d, 7
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ole32.dll_DoDragDrop]
mov edx, dword [rsp + 0xa0]
lea rcx, str.drop_effect__d_n
call fcn.1400b1c70
mov dword [r14 + 0x1d8], r13d
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14011325b
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140113285
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
lea rcx, [rsp + 0x390]
call fcn.140001150
lea rcx, [rsp + 0x270]
call fcn.140001150
jmp 0x1401133c3
mov edx, ebx
mov rcx, r14
call fcn.14014a0b0
test eax, eax
je 0x1401133bb
cmp byte [0x1401f3491], r13b
jne 0x1401133ac
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.140121530
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, ebx
mov rcx, r14
call fcn.14014a1f0
mov r11, qword [rsp + 0x398]
mov qword [rsp + 0x20], r11
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x278]
lea rdx, [rsp + 0x198]
mov rcx, qword [rsp + 0x70]
call fcn.1400c8af0
mov r11d, eax
mov r10d, dword [0x1401e90c0]
lea ecx, [r10 + r10*2]
add ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov r8d, edx
shr r8d, 0x1f
add edx, r11d
add r8d, edx
lea ecx, [r10*4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov r9d, edx
shr r9d, 0x1f
add edx, r8d
add r9d, edx
lea ecx, [r10 + r10]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, r9d
add eax, edx
add eax, dword [r14 + 0x194]
cmp eax, r15d
cmovg r15d, eax
cmp r12d, 0xffffffff
cmove r12d, ebx
lea eax, [rbx + 1]
mov dword [rsp + 0x60], eax
add ebx, 1
jmp 0x140112060
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.1401931f0
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret