Function at 0x140122e00
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 [0x14020cc58]
xor rax, rsp
mov qword [rsp + 0x4b0], rax
mov edi, r8d
mov ebx, edx
mov r14, rcx
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x140124fb3
lea rcx, [rsp + 0x270]
call fcn.14017d460
lea rcx, [rsp + 0x390]
call fcn.14017d460
mov rcx, qword [r14 + 0x228]
call fcn.1400e83e0
mov rcx, r14
call fcn.140100d30
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 0x140122ec7
mov edx, 0x100
mov rcx, r12
call qword [sym.imp.GDI32.dll_SetTextAlign]
mov dword [rsp + 0xa0], eax
jmp 0x140122ed5
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xa0], eax
cmp dword [r14 + 0x454], r13d
jne 0x140123b0f
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.140131980
mov esi, eax
mov dword [rsp + 0x7c], eax
mov edx, eax
mov rcx, r14
call fcn.140131340
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.14015f2c0
cmp ebx, eax
jle 0x140122fa2
mov rcx, r14
call fcn.14015f2c0
mov dword [rsp + 0x78], eax
mov rcx, r14
call fcn.1401320b0
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.14015f5b0
xor edx, edx
mov rcx, qword [0x14020e068]
call fcn.14000aed0
mov ebx, r13d
cmp esi, dword [rsp + 0x78]
jge 0x1401230ab
mov edx, esi
mov rcx, r14
call fcn.14015f3a0
test eax, eax
je 0x140123089
mov edi, dword [r14 + 0x460]
imul edi, ebx
mov rcx, r14
call fcn.140132090
mov r11d, eax
mov ecx, dword [0x140203a50]
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 0x14012304e
cmp edi, dword [rsp + 0x60]
jge 0x14012305d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x88], 1
cmp dword [rsp + 0x80], r13d
je 0x14012306c
cmp ecx, r15d
jle 0x14012307a
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 0x140122ff3
mov edi, dword [rsp + 0x8c]
mov r8d, dword [rsp + 0x60]
sub r15d, r8d
cmp r12d, 0xffffffff
jne 0x1401230cb
mov r9d, dword [rsp + 0x7c]
mov r12d, r9d
lea esi, [r9 + 1]
mov dword [rsp + 0x68], esi
jmp 0x1401230d4
mov esi, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x7c]
mov eax, esi
sub eax, r12d
cmp eax, edi
jle 0x140123174
cmp r12d, r9d
jl 0x1401230f3
lea esi, [r12 + rdi]
mov dword [rsp + 0x68], esi
jmp 0x140123174
mov eax, dword [rsp + 0xb8]
cmp esi, eax
jg 0x140123116
mov ecx, dword [r14 + 0x45c]
mov eax, esi
cdq
idiv ecx
mov r12d, eax
imul r12d, ecx
sub r12d, edi
jmp 0x140123174
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.14015f2c0
cmp esi, eax
jle 0x14012316f
mov rcx, r14
call fcn.14015f2c0
mov esi, eax
mov dword [rsp + 0x68], eax
mov r8d, dword [rsp + 0x60]
jmp 0x140123174
mov r8d, dword [rsp + 0x60]
cmp byte [r14 + 0x230], r13b
je 0x1401231af
mov ecx, dword [0x140203a50]
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 0x1401231dc
mov ecx, dword [0x140203a50]
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.140130db0
mov r8d, eax
mov eax, r12d
cdq
idiv dword [r14 + 0x45c]
sub r8d, eax
imul r8d, dword [r14 + 0x464]
mov ecx, dword [0x140203a54]
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.1401320b0
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 [0x140203a54]
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.1400b3fe0
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 0x140124ba5
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xc8], rax
mov edx, 4
mov rcx, qword [0x14020e068]
call fcn.14000aed0
mov edx, eax
mov rcx, rbx
call fcn.1400da420
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x98]
add rdx, 3
mov ecx, r15d
imul ecx, esi
test ecx, ecx
je 0x1401233ac
nop
mov byte [rdx], r13b
add rdx, 4
sub ecx, 1
jne 0x1401233a0
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 0x140123af4
nop
mov edx, edi
mov rcx, r14
call fcn.14015f3a0
test eax, eax
je 0x140123aa6
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x1f0]
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.140133910
mov edx, dword [rsp + 0x1fc]
mov rcx, qword [rsp + 0x70]
call fcn.1400da420
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, edi
mov rcx, r14
call fcn.14015f4e0
lea r9, [rsp + 0xe0]
mov r8d, 0xa0
mov edx, edi
mov rcx, r14
call fcn.14015f720
cmp dword [0x14020e204], 6
jb 0x140123483
mov edx, edi
mov rcx, r14
call fcn.14015f840
mov dword [rsp + 0x78], eax
jmp 0x140123488
mov dword [rsp + 0x78], r13d
mov rcx, r14
call fcn.1401320b0
mov r13d, eax
add r13d, dword [r14 + 0x468]
mov rcx, r14
call fcn.140132090
mov r12d, eax
mov ecx, dword [0x140203a54]
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 [0x140203a50]
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.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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.140132090
mov r11d, eax
mov ecx, dword [0x140203a50]
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.1400d69b0
mov edx, 2
mov rcx, r14
call fcn.14015f5b0
cmp eax, dword [rsp + 0x80]
jne 0x140123632
call qword [sym.imp.USER32.dll_GetFocus]
cmp rax, qword [r14 + 0x3d8]
jne 0x14012362d
mov rcx, r14
call fcn.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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.140132090
mov r11d, eax
mov ecx, dword [0x140203a50]
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.1400d3bb0
jmp 0x140123635
xor r13d, r13d
jmp 0x140123635
xor r13d, r13d
cmp qword [rsp + 0x110], 0
je 0x1401236ec
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.1401320b0
mov ebx, eax
mov rcx, r14
call fcn.140132090
mov r11d, eax
mov ecx, dword [0x140203a54]
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 [0x140203a50]
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.1400f10f0
jmp 0x14012378d
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.1401320b0
mov ebx, eax
mov rcx, r14
call fcn.140132090
mov r11d, eax
mov ecx, dword [0x140203a54]
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 [0x140203a50]
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.1400f2e70
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.1400d9b70
mov edi, eax
mov rcx, r14
call fcn.140132090
mov r8d, eax
mov dword [rsp + 0xb8], eax
cmp edi, eax
jle 0x1401237f7
mov ecx, dword [0x140203a50]
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 0x140123833
mov eax, dword [0x140203a50]
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.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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.1400e0f40
mov esi, eax
sub esi, r12d
mov rcx, r14
call fcn.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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.140132090
mov ebx, eax
mov rcx, r14
call fcn.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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 [0x140203a50]
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.1400d69b0
movsx ebx, byte [r14 + 0x230]
mov rcx, r14
call fcn.1401320b0
mov r11d, eax
mov ecx, dword [0x140203a54]
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.140132090
mov r11d, eax
mov ecx, dword [0x140203a50]
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 0x140123a0c
mov ecx, r15d
sub ecx, r8d
mov ebx, dword [rsp + 0x64]
sub ecx, ebx
jmp 0x140123a0e
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 0x140123a32
mov r8d, r15d
sub r8d, ecx
lea eax, [rdx + rdi]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x140123a44
mov edi, esi
sub edi, edx
test r8d, r8d
jle 0x140123a91
test edi, edi
jle 0x140123a91
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 0x140123a80
sub edi, 1
jne 0x140123a70
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 0x140123ad5
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 0x140123ae0
add ebx, dword [r14 + 0x460]
mov dword [rsp + 0x64], ebx
add edi, 1
mov dword [rsp + 0x80], edi
cmp edi, dword [rsp + 0x68]
jl 0x1401233f0
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140124bad
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.14012f090
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.140130db0
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.14015f2c0
cmp r12d, eax
jle 0x140123c0d
mov rcx, r14
call fcn.14015f2c0
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.14015f5b0
mov dword [rsp + 0x7c], eax
mov rcx, r14
call fcn.14012f4b0
mov dword [rsp + 0x78], eax
cmp byte [0x14020de11], r13b
je 0x140123c50
mov rcx, r14
call fcn.14012f180
lea r15d, [rax + 4]
nop
nop
cmp ebx, dword [rsp + 0x88]
jl 0x140124eab
cmp r12d, 0xffffffff
jne 0x140123c6f
mov r12d, esi
lea ebx, [rsi + 1]
mov dword [rsp + 0x60], ebx
jmp 0x140123c73
mov ebx, dword [rsp + 0x60]
mov eax, ebx
sub eax, r12d
cmp eax, edi
jle 0x140123ce0
cmp r12d, esi
jl 0x140123c8a
add edi, r12d
mov dword [rsp + 0x60], edi
jmp 0x140123ce8
mov eax, dword [rsp + 0x8c]
cmp ebx, eax
jg 0x140123ca1
mov r12d, ebx
sub r12d, edi
mov edi, dword [rsp + 0x60]
jmp 0x140123ce8
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.14015f2c0
cmp ebx, eax
jle 0x140123ce6
mov rcx, r14
call fcn.14015f2c0
mov edi, eax
mov dword [rsp + 0x60], eax
jmp 0x140123ce8
mov edi, dword [rsp + 0x60]
jmp 0x140123ce8
mov edi, ebx
cmp byte [0x14020de11], r13b
je 0x140123d35
cmp byte [r14 + 0x230], r13b
je 0x140123d19
mov rcx, r14
call fcn.140130e20
mov ecx, r15d
sub ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx - 4]
mov dword [rsp + 0x90], eax
jmp 0x140123d83
mov rcx, r14
call fcn.140130e20
mov ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx + 4]
mov dword [rsp + 0x90], eax
jmp 0x140123d83
cmp byte [r14 + 0x230], r13b
je 0x140123d62
mov rcx, r14
call fcn.140130e20
mov ecx, dword [rsp + 0x1e0]
sub ecx, dword [rsp + 0xb0]
add eax, r15d
add ecx, eax
mov dword [rsp + 0x90], ecx
jmp 0x140123d83
mov rcx, r14
call fcn.140130e20
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.140130db0
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 0x140124ba5
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 0x140123eac
nop
mov byte [rcx], r13b
add rcx, 4
sub eax, 1
jne 0x140123ea0
mov edi, r13d
mov dword [rsp + 0x64], r13d
mov edx, 4
mov rcx, qword [0x14020e068]
call fcn.14000aed0
mov dword [rsp + 0x88], eax
mov edx, eax
mov rcx, rbx
call fcn.1400da420
mov qword [rsp + 0xa8], rax
cmp dword [rsp + 0x7c], 0xffffffff
je 0x140123fad
cmp byte [0x14020de11], dil
je 0x140123fad
lea r8, [rsp + 0x128]
xor edx, edx
mov rcx, r14
call fcn.14012f090
mov rcx, r14
call fcn.14012f180
mov r8d, eax
mov dword [rsp + 0x68], eax
mov ecx, dword [0x140203a50]
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 0x140123f9e
mov edi, eax
mov esi, dword [rsp + 0x78]
mov edx, ebx
mov rcx, r14
call fcn.14012fc60
test eax, eax
je 0x140123f80
lea r8, [rsp + 0x128]
mov edx, eax
mov rcx, r14
call fcn.14012f090
mov eax, dword [rsp + 0x128]
cmp eax, edi
cmovl edi, eax
add ebx, 1
cmp ebx, esi
jl 0x140123f54
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 0x140123fc3
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 0x140124b8d
jmp 0x140123fd5
mov rbx, qword [rsp + 0x70]
mov edx, r12d
mov rcx, r14
call fcn.14015f3a0
test eax, eax
je 0x140124b73
cmp byte [0x14020de11], r13b
je 0x140124731
mov eax, r13d
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0x78], eax
jle 0x140124b73
nop
nop
mov edx, eax
mov rcx, r14
call fcn.14012fc60
mov ebx, eax
lea r8, [rsp + 0xe0]
mov edx, eax
mov rcx, r14
call fcn.14012f090
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
mov r8d, ebx
mov edx, r12d
mov rcx, r14
call fcn.140133910
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.1401316d0
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.1400d9b70
mov esi, eax
test ebx, ebx
jne 0x140124326
lea r9, [rsp + 0x230]
lea r8d, [rbx + 0x20]
mov edx, r12d
mov rcx, r14
call fcn.14015f720
cmp dword [0x14020e204], 6
jb 0x1401240e3
mov edx, r12d
mov rcx, r14
call fcn.14015f840
jmp 0x1401240e6
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 [0x140203a50]
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 [0x14020e228]
call fcn.1400e1a70
mov r11d, dword [r14 + 0x194]
mov r9d, dword [0x140203a50]
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.1400d6960
mov ebx, dword [r14 + 0x194]
mov r9d, dword [0x140203a50]
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.1400e0f40
mov r11d, dword [0x140203a50]
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 0x140124487
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.1400d6960
mov edx, ebx
mov rcx, r14
call fcn.14012f530
test eax, eax
je 0x1401243c5
mov r9d, dword [0x140203a50]
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 0x1401243f9
mov r8d, ecx
jmp 0x1401243f9
mov r9d, dword [0x140203a50]
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.1400e0f40
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0xc0], edi
mov edx, dword [rsp + 0x7c]
cmp r12d, edx
jne 0x140124654
cmp byte [0x14020de11], r13b
je 0x140124661
mov esi, dword [r14 + 0x468]
mov ebx, dword [rsp + 0xe8]
sub ebx, edi
add edi, 4
mov rcx, r14
call fcn.140130e20
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.1400d38b0
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 0x14012453b
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 0x140124557
mov r10d, r15d
sub r10d, ecx
lea eax, [rdx + 1]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x14012456b
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x1401245b2
test r8d, r8d
jle 0x1401245b2
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 0x1401245a0
sub r8d, 1
jne 0x140124591
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 0x1401245de
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 0x1401245fa
mov r10d, r15d
sub r10d, r9d
lea eax, [rdx + 1]
cmp eax, esi
jle 0x140124607
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x14012466c
test r8d, r8d
jle 0x14012466c
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 0x140124640
sub r8d, 1
jne 0x140124630
jmp 0x14012466c
mov edi, dword [rsp + 0x64]
mov esi, dword [rsp + 0x84]
jmp 0x14012466c
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 0x14012469e
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 0x1401246bc
mov r9d, r15d
sub r9d, ecx
lea eax, [r8 + rdx]
cmp eax, esi
jle 0x1401246c9
mov edx, esi
sub edx, r8d
test r9d, r9d
jle 0x140124711
test edx, edx
jle 0x140124711
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 0x140124700
sub edx, 1
jne 0x1401246f0
mov eax, dword [rsp + 0xd0]
add eax, 1
mov dword [rsp + 0xd0], eax
cmp eax, dword [rsp + 0x78]
jl 0x140124010
jmp 0x140124b73
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, r12d
mov rcx, r14
call fcn.14015f4e0
lea r9, [rsp + 0x230]
mov r8d, 0x20
mov edx, r12d
mov rcx, r14
call fcn.14015f720
cmp dword [0x14020e204], 6
jb 0x14012477b
mov edx, r12d
mov rcx, r14
call fcn.14015f840
jmp 0x14012477e
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 [0x140203a50]
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 [0x14020e228]
call fcn.1400e1a70
mov r11d, dword [0x140203a50]
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.1400d6960
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.1400d9b70
mov ebx, eax
mov r10d, dword [r14 + 0x194]
mov r9d, dword [0x140203a50]
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.1400e0f40
mov esi, eax
mov ecx, dword [0x140203a50]
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.1400d6960
mov r11d, dword [0x140203a50]
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 0x140124a7e
mov rcx, r14
call fcn.140130e20
mov ebx, eax
mov edi, dword [r14 + 0x468]
mov rcx, r14
call fcn.140130db0
mov r11d, eax
imul r11d, edi
add r11d, dword [r14 + 0x19c]
mov r10d, dword [r14 + 0x194]
mov r8d, dword [0x140203a50]
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.1400d3bb0
mov r11d, dword [0x140203a50]
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 0x140124adc
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 0x140124af7
mov esi, r15d
sub esi, edx
lea eax, [rcx + r10]
mov r8d, dword [rsp + 0x84]
cmp eax, r8d
jle 0x140124b0e
mov r10d, r8d
sub r10d, ecx
test esi, esi
jle 0x140124b70
test r10d, r10d
jle 0x140124b6b
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 0x140124b50
sub r10d, 1
jne 0x140124b40
mov esi, dword [rsp + 0x84]
jmp 0x140124b73
mov esi, r8d
jmp 0x140124b73
mov esi, r8d
add edi, dword [r14 + 0x468]
mov dword [rsp + 0x64], edi
add r12d, 1
cmp r12d, dword [rsp + 0x60]
jl 0x140123fd0
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140124bad
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x140124c86
cmp dword [0x14020e204], 6
jb 0x140124c25
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140124c86
mov rcx, qword [rsp + 0x98]
add rcx, 1
sub edx, 1
cmp byte [rcx + 2], 0x10
jae 0x140124bf0
mov dword [rcx - 1], r13d
jmp 0x140124c1b
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 0x140124be1
jmp 0x140124c86
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140124c86
mov rcx, qword [rsp + 0x98]
add rcx, 2
nop
nop
sub edx, 1
cmp byte [rcx + 1], 0x80
jae 0x140124c4f
mov dword [rcx - 2], r13d
jmp 0x140124c7e
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 0x140124c40
cmp byte [r14 + 0x230], 0
je 0x140124ca7
mov edx, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetTextAlign]
jmp 0x140124cac
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.1400b3fe0
test rdi, rdi
je 0x140124e8c
lea rdx, [rsp + 0xb8]
mov rcx, r14
call fcn.14016b010
test eax, eax
js 0x140124e83
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, [0x1401e8e40]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x50]
test eax, eax
js 0x140124e5f
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rbx, rax
test rax, rax
je 0x140124e54
lea rax, [0x1401d31a0]
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, [0x1401e8d50]
mov r8d, eax
xor edx, edx
lea rcx, [0x1401e8d70]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140124dfa
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 0x140124e02
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.1400b3fe0
mov dword [r14 + 0x1d8], r13d
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140124e4b
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 0x140124e75
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.1400012c0
lea rcx, [rsp + 0x270]
call fcn.1400012c0
jmp 0x140124fb3
mov edx, ebx
mov rcx, r14
call fcn.14015f3a0
test eax, eax
je 0x140124fab
cmp byte [0x14020de11], r13b
jne 0x140124f9c
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.140133910
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, ebx
mov rcx, r14
call fcn.14015f4e0
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.1400d9b70
mov r11d, eax
mov r10d, dword [0x140203a50]
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 0x140123c50
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.1401a8ec0
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret