Function at 0x1401231b0
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 [0x14020cc08]
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 0x140125363
lea rcx, [rsp + 0x270]
call fcn.1400012c0
lea rcx, [rsp + 0x390]
call fcn.1400012c0
mov rcx, qword [r14 + 0x228]
call fcn.1400e8380
mov rcx, r14
call fcn.140100cc0
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 0x140123277
mov edx, 0x100
mov rcx, r12
call qword [sym.imp.GDI32.dll_SetTextAlign]
mov dword [rsp + 0xa0], eax
jmp 0x140123285
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xa0], eax
cmp dword [r14 + 0x454], r13d
jne 0x140123ebf
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.140131d30
mov esi, eax
mov dword [rsp + 0x7c], eax
mov edx, eax
mov rcx, r14
call fcn.1401316f0
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.14015f640
cmp ebx, eax
jle 0x140123352
mov rcx, r14
call fcn.14015f640
mov dword [rsp + 0x78], eax
mov rcx, r14
call fcn.140132460
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.14015f930
xor edx, edx
mov rcx, qword [0x14020e030]
call fcn.14000aec0
mov ebx, r13d
cmp esi, dword [rsp + 0x78]
jge 0x14012345b
mov edx, esi
mov rcx, r14
call fcn.14015f720
test eax, eax
je 0x140123439
mov edi, dword [r14 + 0x460]
imul edi, ebx
mov rcx, r14
call fcn.140132440
mov r11d, eax
mov ecx, dword [0x140203a00]
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 0x1401233fe
cmp edi, dword [rsp + 0x60]
jge 0x14012340d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x88], 1
cmp dword [rsp + 0x80], r13d
je 0x14012341c
cmp ecx, r15d
jle 0x14012342a
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 0x1401233a3
mov edi, dword [rsp + 0x8c]
mov r8d, dword [rsp + 0x60]
sub r15d, r8d
cmp r12d, 0xffffffff
jne 0x14012347b
mov r9d, dword [rsp + 0x7c]
mov r12d, r9d
lea esi, [r9 + 1]
mov dword [rsp + 0x68], esi
jmp 0x140123484
mov esi, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x7c]
mov eax, esi
sub eax, r12d
cmp eax, edi
jle 0x140123524
cmp r12d, r9d
jl 0x1401234a3
lea esi, [r12 + rdi]
mov dword [rsp + 0x68], esi
jmp 0x140123524
mov eax, dword [rsp + 0xb8]
cmp esi, eax
jg 0x1401234c6
mov ecx, dword [r14 + 0x45c]
mov eax, esi
cdq
idiv ecx
mov r12d, eax
imul r12d, ecx
sub r12d, edi
jmp 0x140123524
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.14015f640
cmp esi, eax
jle 0x14012351f
mov rcx, r14
call fcn.14015f640
mov esi, eax
mov dword [rsp + 0x68], eax
mov r8d, dword [rsp + 0x60]
jmp 0x140123524
mov r8d, dword [rsp + 0x60]
cmp byte [r14 + 0x230], r13b
je 0x14012355f
mov ecx, dword [0x140203a00]
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 0x14012358c
mov ecx, dword [0x140203a00]
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.140131160
mov r8d, eax
mov eax, r12d
cdq
idiv dword [r14 + 0x45c]
sub r8d, eax
imul r8d, dword [r14 + 0x464]
mov ecx, dword [0x140203a04]
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.140132460
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 [0x140203a04]
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.1400b3e90
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 0x140124f55
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xc8], rax
mov edx, 4
mov rcx, qword [0x14020e030]
call fcn.14000aec0
mov edx, eax
mov rcx, rbx
call fcn.1400da740
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x98]
add rdx, 3
mov ecx, r15d
imul ecx, esi
test ecx, ecx
je 0x14012375c
nop
mov byte [rdx], r13b
add rdx, 4
sub ecx, 1
jne 0x140123750
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 0x140123ea4
nop
mov edx, edi
mov rcx, r14
call fcn.14015f720
test eax, eax
je 0x140123e56
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x1f0]
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.140133cc0
mov edx, dword [rsp + 0x1fc]
mov rcx, qword [rsp + 0x70]
call fcn.1400da740
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, edi
mov rcx, r14
call fcn.14015f860
lea r9, [rsp + 0xe0]
mov r8d, 0xa0
mov edx, edi
mov rcx, r14
call fcn.14015faa0
cmp dword [0x14020e1cc], 6
jb 0x140123833
mov edx, edi
mov rcx, r14
call fcn.14015fbc0
mov dword [rsp + 0x78], eax
jmp 0x140123838
mov dword [rsp + 0x78], r13d
mov rcx, r14
call fcn.140132460
mov r13d, eax
add r13d, dword [r14 + 0x468]
mov rcx, r14
call fcn.140132440
mov r12d, eax
mov ecx, dword [0x140203a04]
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 [0x140203a00]
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.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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.140132440
mov r11d, eax
mov ecx, dword [0x140203a00]
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.1400d6b40
mov edx, 2
mov rcx, r14
call fcn.14015f930
cmp eax, dword [rsp + 0x80]
jne 0x1401239e2
call qword [sym.imp.USER32.dll_GetFocus]
cmp rax, qword [r14 + 0x3d8]
jne 0x1401239dd
mov rcx, r14
call fcn.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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.140132440
mov r11d, eax
mov ecx, dword [0x140203a00]
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.1400d3e00
jmp 0x1401239e5
xor r13d, r13d
jmp 0x1401239e5
xor r13d, r13d
cmp qword [rsp + 0x110], 0
je 0x140123a9c
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.140132460
mov ebx, eax
mov rcx, r14
call fcn.140132440
mov r11d, eax
mov ecx, dword [0x140203a04]
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 [0x140203a00]
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.1400f1460
jmp 0x140123b3d
mov edi, 0xff
cmp dword [rsp + 0x78], 0
mov eax, 0x80
cmovne edi, eax
mov rcx, r14
call fcn.140132460
mov ebx, eax
mov rcx, r14
call fcn.140132440
mov r11d, eax
mov ecx, dword [0x140203a04]
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 [0x140203a00]
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.1400f31e0
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.1400d9e40
mov edi, eax
mov rcx, r14
call fcn.140132440
mov r8d, eax
mov dword [rsp + 0xb8], eax
cmp edi, eax
jle 0x140123ba7
mov ecx, dword [0x140203a00]
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 0x140123be3
mov eax, dword [0x140203a00]
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.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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.1400e0f90
mov esi, eax
sub esi, r12d
mov rcx, r14
call fcn.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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.140132440
mov ebx, eax
mov rcx, r14
call fcn.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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 [0x140203a00]
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.1400d6b40
movsx ebx, byte [r14 + 0x230]
mov rcx, r14
call fcn.140132460
mov r11d, eax
mov ecx, dword [0x140203a04]
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.140132440
mov r11d, eax
mov ecx, dword [0x140203a00]
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 0x140123dbc
mov ecx, r15d
sub ecx, r8d
mov ebx, dword [rsp + 0x64]
sub ecx, ebx
jmp 0x140123dbe
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 0x140123de2
mov r8d, r15d
sub r8d, ecx
lea eax, [rdx + rdi]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x140123df4
mov edi, esi
sub edi, edx
test r8d, r8d
jle 0x140123e41
test edi, edi
jle 0x140123e41
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 0x140123e30
sub edi, 1
jne 0x140123e20
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 0x140123e85
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 0x140123e90
add ebx, dword [r14 + 0x460]
mov dword [rsp + 0x64], ebx
add edi, 1
mov dword [rsp + 0x80], edi
cmp edi, dword [rsp + 0x68]
jl 0x1401237a0
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140124f5d
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.14012f440
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.140131160
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.14015f640
cmp r12d, eax
jle 0x140123fbd
mov rcx, r14
call fcn.14015f640
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.14015f930
mov dword [rsp + 0x7c], eax
mov rcx, r14
call fcn.14012f860
mov dword [rsp + 0x78], eax
cmp byte [0x14020ddd1], r13b
je 0x140124000
mov rcx, r14
call fcn.14012f530
lea r15d, [rax + 4]
nop
nop
cmp ebx, dword [rsp + 0x88]
jl 0x14012525b
cmp r12d, 0xffffffff
jne 0x14012401f
mov r12d, esi
lea ebx, [rsi + 1]
mov dword [rsp + 0x60], ebx
jmp 0x140124023
mov ebx, dword [rsp + 0x60]
mov eax, ebx
sub eax, r12d
cmp eax, edi
jle 0x140124090
cmp r12d, esi
jl 0x14012403a
add edi, r12d
mov dword [rsp + 0x60], edi
jmp 0x140124098
mov eax, dword [rsp + 0x8c]
cmp ebx, eax
jg 0x140124051
mov r12d, ebx
sub r12d, edi
mov edi, dword [rsp + 0x60]
jmp 0x140124098
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.14015f640
cmp ebx, eax
jle 0x140124096
mov rcx, r14
call fcn.14015f640
mov edi, eax
mov dword [rsp + 0x60], eax
jmp 0x140124098
mov edi, dword [rsp + 0x60]
jmp 0x140124098
mov edi, ebx
cmp byte [0x14020ddd1], r13b
je 0x1401240e5
cmp byte [r14 + 0x230], r13b
je 0x1401240c9
mov rcx, r14
call fcn.1401311d0
mov ecx, r15d
sub ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx - 4]
mov dword [rsp + 0x90], eax
jmp 0x140124133
mov rcx, r14
call fcn.1401311d0
mov ecx, dword [rsp + 0xb0]
lea eax, [rax + rcx + 4]
mov dword [rsp + 0x90], eax
jmp 0x140124133
cmp byte [r14 + 0x230], r13b
je 0x140124112
mov rcx, r14
call fcn.1401311d0
mov ecx, dword [rsp + 0x1e0]
sub ecx, dword [rsp + 0xb0]
add eax, r15d
add ecx, eax
mov dword [rsp + 0x90], ecx
jmp 0x140124133
mov rcx, r14
call fcn.1401311d0
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.140131160
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 0x140124f55
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 0x14012425c
nop
mov byte [rcx], r13b
add rcx, 4
sub eax, 1
jne 0x140124250
mov edi, r13d
mov dword [rsp + 0x64], r13d
mov edx, 4
mov rcx, qword [0x14020e030]
call fcn.14000aec0
mov dword [rsp + 0x88], eax
mov edx, eax
mov rcx, rbx
call fcn.1400da740
mov qword [rsp + 0xa8], rax
cmp dword [rsp + 0x7c], 0xffffffff
je 0x14012435d
cmp byte [0x14020ddd1], dil
je 0x14012435d
lea r8, [rsp + 0x128]
xor edx, edx
mov rcx, r14
call fcn.14012f440
mov rcx, r14
call fcn.14012f530
mov r8d, eax
mov dword [rsp + 0x68], eax
mov ecx, dword [0x140203a00]
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 0x14012434e
mov edi, eax
mov esi, dword [rsp + 0x78]
mov edx, ebx
mov rcx, r14
call fcn.140130010
test eax, eax
je 0x140124330
lea r8, [rsp + 0x128]
mov edx, eax
mov rcx, r14
call fcn.14012f440
mov eax, dword [rsp + 0x128]
cmp eax, edi
cmovl edi, eax
add ebx, 1
cmp ebx, esi
jl 0x140124304
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 0x140124373
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 0x140124f3d
jmp 0x140124385
mov rbx, qword [rsp + 0x70]
mov edx, r12d
mov rcx, r14
call fcn.14015f720
test eax, eax
je 0x140124f23
cmp byte [0x14020ddd1], r13b
je 0x140124ae1
mov eax, r13d
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0x78], eax
jle 0x140124f23
nop
nop
mov edx, eax
mov rcx, r14
call fcn.140130010
mov ebx, eax
lea r8, [rsp + 0xe0]
mov edx, eax
mov rcx, r14
call fcn.14012f440
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
mov r8d, ebx
mov edx, r12d
mov rcx, r14
call fcn.140133cc0
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.140131a80
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.1400d9e40
mov esi, eax
test ebx, ebx
jne 0x1401246d6
lea r9, [rsp + 0x230]
lea r8d, [rbx + 0x20]
mov edx, r12d
mov rcx, r14
call fcn.14015faa0
cmp dword [0x14020e1cc], 6
jb 0x140124493
mov edx, r12d
mov rcx, r14
call fcn.14015fbc0
jmp 0x140124496
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 [0x140203a00]
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 [0x14020e1f0]
call fcn.1400e1a10
mov r11d, dword [r14 + 0x194]
mov r9d, dword [0x140203a00]
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.1400d6af0
mov ebx, dword [r14 + 0x194]
mov r9d, dword [0x140203a00]
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.1400e0f90
mov r11d, dword [0x140203a00]
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 0x140124837
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.1400d6af0
mov edx, ebx
mov rcx, r14
call fcn.14012f8e0
test eax, eax
je 0x140124775
mov r9d, dword [0x140203a00]
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 0x1401247a9
mov r8d, ecx
jmp 0x1401247a9
mov r9d, dword [0x140203a00]
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.1400e0f90
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0xc0], edi
mov edx, dword [rsp + 0x7c]
cmp r12d, edx
jne 0x140124a04
cmp byte [0x14020ddd1], r13b
je 0x140124a11
mov esi, dword [r14 + 0x468]
mov ebx, dword [rsp + 0xe8]
sub ebx, edi
add edi, 4
mov rcx, r14
call fcn.1401311d0
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.1400d3b00
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 0x1401248eb
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 0x140124907
mov r10d, r15d
sub r10d, ecx
lea eax, [rdx + 1]
mov esi, dword [rsp + 0x84]
cmp eax, esi
jle 0x14012491b
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x140124962
test r8d, r8d
jle 0x140124962
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 0x140124950
sub r8d, 1
jne 0x140124941
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 0x14012498e
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 0x1401249aa
mov r10d, r15d
sub r10d, r9d
lea eax, [rdx + 1]
cmp eax, esi
jle 0x1401249b7
mov r8d, esi
sub r8d, edx
test r10d, r10d
jle 0x140124a1c
test r8d, r8d
jle 0x140124a1c
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 0x1401249f0
sub r8d, 1
jne 0x1401249e0
jmp 0x140124a1c
mov edi, dword [rsp + 0x64]
mov esi, dword [rsp + 0x84]
jmp 0x140124a1c
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 0x140124a4e
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 0x140124a6c
mov r9d, r15d
sub r9d, ecx
lea eax, [r8 + rdx]
cmp eax, esi
jle 0x140124a79
mov edx, esi
sub edx, r8d
test r9d, r9d
jle 0x140124ac1
test edx, edx
jle 0x140124ac1
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 0x140124ab0
sub edx, 1
jne 0x140124aa0
mov eax, dword [rsp + 0xd0]
add eax, 1
mov dword [rsp + 0xd0], eax
cmp eax, dword [rsp + 0x78]
jl 0x1401243c0
jmp 0x140124f23
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, r12d
mov rcx, r14
call fcn.14015f860
lea r9, [rsp + 0x230]
mov r8d, 0x20
mov edx, r12d
mov rcx, r14
call fcn.14015faa0
cmp dword [0x14020e1cc], 6
jb 0x140124b2b
mov edx, r12d
mov rcx, r14
call fcn.14015fbc0
jmp 0x140124b2e
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 [0x140203a00]
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 [0x14020e1f0]
call fcn.1400e1a10
mov r11d, dword [0x140203a00]
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.1400d6af0
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.1400d9e40
mov ebx, eax
mov r10d, dword [r14 + 0x194]
mov r9d, dword [0x140203a00]
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.1400e0f90
mov esi, eax
mov ecx, dword [0x140203a00]
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.1400d6af0
mov r11d, dword [0x140203a00]
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 0x140124e2e
mov rcx, r14
call fcn.1401311d0
mov ebx, eax
mov edi, dword [r14 + 0x468]
mov rcx, r14
call fcn.140131160
mov r11d, eax
imul r11d, edi
add r11d, dword [r14 + 0x19c]
mov r10d, dword [r14 + 0x194]
mov r8d, dword [0x140203a00]
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.1400d3e00
mov r11d, dword [0x140203a00]
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 0x140124e8c
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 0x140124ea7
mov esi, r15d
sub esi, edx
lea eax, [rcx + r10]
mov r8d, dword [rsp + 0x84]
cmp eax, r8d
jle 0x140124ebe
mov r10d, r8d
sub r10d, ecx
test esi, esi
jle 0x140124f20
test r10d, r10d
jle 0x140124f1b
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 0x140124f00
sub r10d, 1
jne 0x140124ef0
mov esi, dword [rsp + 0x84]
jmp 0x140124f23
mov esi, r8d
jmp 0x140124f23
mov esi, r8d
add edi, dword [r14 + 0x468]
mov dword [rsp + 0x64], edi
add r12d, 1
cmp r12d, dword [rsp + 0x60]
jl 0x140124380
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r12, qword [rsp + 0xc8]
jmp 0x140124f5d
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x140125036
cmp dword [0x14020e1cc], 6
jb 0x140124fd5
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140125036
mov rcx, qword [rsp + 0x98]
add rcx, 1
sub edx, 1
cmp byte [rcx + 2], 0x10
jae 0x140124fa0
mov dword [rcx - 1], r13d
jmp 0x140124fcb
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 0x140124f91
jmp 0x140125036
mov edx, r15d
imul edx, esi
test edx, edx
je 0x140125036
mov rcx, qword [rsp + 0x98]
add rcx, 2
nop
nop
sub edx, 1
cmp byte [rcx + 1], 0x80
jae 0x140124fff
mov dword [rcx - 2], r13d
jmp 0x14012502e
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 0x140124ff0
cmp byte [r14 + 0x230], 0
je 0x140125057
mov edx, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetTextAlign]
jmp 0x14012505c
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.1400b3e90
test rdi, rdi
je 0x14012523c
lea rdx, [rsp + 0xb8]
mov rcx, r14
call fcn.14016b390
test eax, eax
js 0x140125233
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, [0x1401e8d00]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x50]
test eax, eax
js 0x14012520f
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rbx, rax
test rax, rax
je 0x140125204
lea rax, [0x1401d3048]
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, [0x1401e8c10]
mov r8d, eax
xor edx, edx
lea rcx, [0x1401e8c30]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1401251aa
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 0x1401251b2
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.1400b3e90
mov dword [r14 + 0x1d8], r13d
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x1401251fb
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 0x140125225
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.140177510
lea rcx, [rsp + 0x270]
call fcn.140177510
jmp 0x140125363
mov edx, ebx
mov rcx, r14
call fcn.14015f720
test eax, eax
je 0x14012535b
cmp byte [0x14020ddd1], r13b
jne 0x14012534c
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x198]
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.140133cc0
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
mov edx, ebx
mov rcx, r14
call fcn.14015f860
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.1400d9e40
mov r11d, eax
mov r10d, dword [0x140203a00]
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 0x140124000
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.1401a8fd0
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret