Function at 0x140031950
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor r11d, r11d
mov rdi, rcx
mov r9d, r11d
mov dword [rsp + 0x38], r11d
cmp dword [rcx + 0x98], r11d
jge 0x14003197c
mov dword [rcx + 0x74], r11d
cmp dword [rcx + 0x48], r11d
jge 0x140031986
mov dword [rcx + 0x24], r11d
lea rdx, [rcx + 0x11c]
mov ecx, 3
mov r8, rdx
mov r10d, ecx
lea esi, [rcx - 2]
lea ebx, [rcx + 1]
cmp dword [r8], r11d
jne 0x1400319ad
mov eax, dword [rdi + 0x54]
mov dword [r8], eax
mov dword [rsp + 0x38], esi
add r8, rbx
sub r10, rsi
jne 0x14003199e
mov eax, dword [rdx]
mov r8d, dword [rdi + 0x24]
mov edx, r8d
mov r10d, dword [rdi + 0x74]
mov dword [rsp + 0xb8], eax
mov eax, dword [rdi + 0x120]
mov dword [rsp + 0xb0], eax
mov eax, dword [rdi + 0x124]
mov dword [rsp + 0x30], eax
test r8d, r8d
je 0x140031a19
sub edx, esi
je 0x140031a0e
sub edx, 2
je 0x1400319fc
cmp edx, esi
jne 0x140031a1c
cmp r10d, 2
sete r9b
jmp 0x140031a1c
lea eax, [r10 - 1]
test eax, 0xfffffffc
jne 0x140031a1c
cmp r10d, ecx
je 0x140031a1c
jmp 0x140031a19
lea eax, [r10 - 2]
test eax, 0xfffffffd
jne 0x140031a1c
mov r9d, esi
test r9d, r9d
mov dword [rsp + 0x20], r11d
lea rdx, [rdi + 0xa4]
mov eax, r10d
cmove eax, r8d
lea rcx, [rdi + 0x54]
mov dword [rsp + 0x44], eax
lea r13, [rdi + 0x88]
cmove r8d, r10d
lea rbp, [rdi + 0x38]
mov rax, rdx
mov dword [rsp + 0x3c], r8d
cmove rax, rcx
cmove rcx, rdx
mov eax, dword [rax]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov eax, r9d
neg eax
mov eax, r9d
sbb rcx, rcx
and rcx, 0xffffffffffffffb0
add r13, rcx
neg eax
mov eax, r9d
sbb rcx, rcx
and ecx, 0x50
add rbp, rcx
neg eax
sbb rax, rax
and rax, 0xffffffffffffffb0
add rax, 0x78
mov qword [rsp + 0x48], rax
mov eax, r9d
neg eax
sbb rax, rax
and eax, 0x50
add rax, 0x28
mov qword [rsp + 0x50], rax
mov eax, r9d
neg eax
sbb r14, r14
and r14, 0xffffffffffffffb0
neg r9d
sbb r15, r15
xor r9d, r9d
and r15d, 0x50
xor r8d, r8d
mov ecx, dword [r15 + rdi + 0x14]
mov eax, dword [r15 + rdi + 0x1c]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea esi, [rax + rcx]
mov ecx, dword [r14 + rdi + 0x68]
mov eax, dword [r14 + rdi + 0x6c]
sub eax, dword [r14 + rdi + 0x64]
cdq
sub eax, edx
sar eax, 1
add eax, dword [r14 + rdi + 0x64]
mov dword [rsp + 0xc0], eax
mov eax, dword [r15 + rdi + 0x20]
sub eax, dword [r15 + rdi + 0x18]
cdq
sub eax, edx
sar eax, 1
add eax, dword [r15 + rdi + 0x18]
mov dword [rsp + 0xc8], eax
mov eax, dword [r14 + rdi + 0x70]
sub eax, ecx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
lea r12d, [rax + rcx]
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetRect]
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [rsp + 0x44]
xor r11d, r11d
mov qword [rdi + 0x108], r11
mov qword [rdi + 0x110], r11
mov dword [rdi + 0x118], r11d
sub ecx, 1
je 0x140033431
sub ecx, 1
je 0x140032809
sub ecx, 1
je 0x140032452
cmp ecx, 1
jne 0x140033c03
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x3c]
mov r9d, dword [rax + rdi + 4]
sub ecx, 1
je 0x1400321d7
sub ecx, 2
je 0x140031f5b
cmp ecx, 1
je 0x140031c5f
mov edx, dword [r15 + rdi + 0x20]
lea rcx, [rdi + 0xb8]
mov r10d, dword [rsp + 0x34]
lea rbp, [rdi + 0xc8]
add edx, r10d
mov r9d, esi
cmp dword [r14 + rdi + 0x70], edx
mov edx, esi
jle 0x140031c0b
mov dword [rdi + 0xb4], 2
mov r8d, dword [r15 + rdi + 0x20]
mov eax, dword [r14 + rdi + 0x68]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x68]
mov edx, esi
mov r9d, dword [r14 + rdi + 0x64]
mov dword [rsp + 0x20], r8d
jmp 0x1400334ae
mov dword [rdi + 0xb4], 3
mov r8d, dword [r15 + rdi + 0x20]
lea ebx, [r10 + r8]
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
mov r8d, ebx
mov edx, esi
mov dword [rsp + 0x20], ebx
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xd8]
mov eax, dword [r14 + rdi + 0x68]
mov r9d, edx
mov dword [rsp + 0x20], eax
mov r8d, ebx
jmp 0x140033502
mov rax, qword [rsp + 0x48]
mov r12d, dword [rsp + 0xc0]
mov r10d, dword [rax + rdi + 0xc]
mov dword [rdi + 0xb4], 3
cmp esi, r12d
jl 0x140031c98
test r9d, r9d
je 0x140031c8d
mov edx, 0xfffffffc
mov dword [rbp + 0xc], edx
test r10d, r10d
je 0x140031cae
mov dword [r13 + 0xc], ebx
jmp 0x140031cae
test r9d, r9d
je 0x140031ca0
mov dword [rbp + 0xc], ebx
test r10d, r10d
je 0x140031cae
mov edx, 0xfffffffc
mov dword [r13 + 0xc], edx
mov edx, dword [rbp + 0xc]
mov r8d, dword [r13 + 0xc]
add edx, esi
mov eax, dword [r15 + rdi + 0x20]
add r8d, r12d
mov r11d, dword [r14 + rdi + 0x70]
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0xc8], r8d
cmp eax, r11d
jle 0x140031df4
add dword [rsp + 0xb8], eax
cmp edx, dword [r14 + rdi + 0x64]
jl 0x140031eec
cmp edx, dword [r14 + rdi + 0x6c]
jg 0x140031eec
mov dword [rdi + 0xb4], 5
test r9d, r9d
je 0x140031d0b
mov dword [rbp + 0xc], ebx
test r10d, r10d
je 0x140031d16
mov dword [r13 + 0xc], ebx
jmp 0x140031d1a
mov ebx, dword [r13 + 0xc]
add esi, dword [rbp + 0xc]
lea rcx, [rdi + 0xb8]
mov ebp, dword [rsp + 0xb8]
add r12d, ebx
mov ebx, dword [r15 + rdi + 0x1c]
mov r9d, esi
add ebx, dword [rsp + 0xb0]
mov edx, esi
mov dword [rdi + 0x10c], 0x4000
mov r8d, dword [r15 + rdi + 0x20]
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebp
mov r9d, ebx
mov r8d, ebp
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x70]
lea rcx, [rdi + 0xd8]
mov esi, dword [rsp + 0x30]
mov r9d, ebx
add edx, esi
mov r8d, ebp
mov dword [rsp + 0x20], edx
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x70]
lea rcx, [rdi + 0xe8]
add r8d, esi
mov r9d, r12d
mov edx, ebx
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x70]
mov r9d, r12d
mov edx, r12d
lea eax, [r8 + rsi]
lea rcx, [rdi + 0xf8]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [rsp + 0xc0]
mov dword [rdi + 0x108], 1
mov dword [rdi + 0x118], 1
jmp 0x140031ef3
add dword [rsp + 0xb8], r11d
cmp r8d, dword [r15 + rdi + 0x14]
jl 0x140031eec
cmp r8d, dword [r15 + rdi + 0x1c]
jg 0x140031eec
mov dword [rdi + 0xb4], 5
mov ecx, dword [r14 + rdi + 0x6c]
add dword [rsp + 0xb0], ecx
test r9d, r9d
je 0x140031e30
mov dword [rbp + 0xc], ebx
test r10d, r10d
je 0x140031e3b
mov dword [r13 + 0xc], ebx
jmp 0x140031e3f
mov ebx, dword [r13 + 0xc]
add esi, dword [rbp + 0xc]
lea rcx, [rdi + 0xb8]
mov ebp, dword [rsp + 0xb8]
add r12d, ebx
mov dword [rdi + 0x10c], 0x4000
mov r9d, r12d
mov r8d, dword [r14 + rdi + 0x70]
mov edx, r12d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r13d, dword [rsp + 0xb0]
lea rcx, [rdi + 0xc8]
mov r9d, r13d
mov dword [rsp + 0x20], ebp
mov r8d, ebp
mov edx, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r15 + rdi + 0x20]
lea rcx, [rdi + 0xd8]
mov ebx, dword [rsp + 0x30]
mov r9d, r13d
add edx, ebx
mov r8d, ebp
mov dword [rsp + 0x20], edx
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r15 + rdi + 0x20]
lea rcx, [rdi + 0xe8]
add r8d, ebx
mov r9d, esi
mov edx, r13d
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r15 + rdi + 0x20]
mov r9d, esi
mov edx, esi
lea eax, [r8 + rbx]
jmp 0x140031dc3
mov ebp, dword [rsp + 0xb8]
cmp dword [rdi + 0xb4], 3
jne 0x140033c03
mov dword [rdi + 0x10c], 0x4000
lea rcx, [rdi + 0xb8]
mov r8d, dword [r15 + rdi + 0x20]
mov r9d, edx
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xc8]
lea rcx, [rdi + 0xc8]
mov edx, dword [rsp + 0xc0]
mov r9d, ebx
mov r8d, ebp
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x70]
mov r9d, ebx
mov edx, ebx
mov dword [rsp + 0x20], ebp
jmp 0x1400327e3
mov rax, qword [rsp + 0x48]
lea edx, [r12 + 4]
mov ecx, dword [rsp + 0x34]
mov r8d, dword [rax + rdi + 8]
test r8d, r8d
cmove edx, r12d
add ecx, dword [r15 + rdi + 0x20]
cmp edx, ecx
jle 0x1400320d3
mov edx, 0xfffffffc
test r8d, r8d
je 0x140031f94
mov dword [r13 + 8], edx
mov eax, edx
jmp 0x140031f98
mov eax, dword [r13 + 8]
add r12d, eax
lea eax, [rsi - 4]
test r9d, r9d
cmove eax, esi
cmp dword [r14 + rdi + 0x6c], eax
jge 0x140032012
mov dword [rdi + 0xb4], 2
test r9d, r9d
je 0x140031fbf
mov dword [rbp + 0xc], edx
jmp 0x140031fc2
mov edx, dword [rbp + 0xc]
add esi, edx
mov dword [rdi + 0x10c], 0x4000
mov r8d, dword [r15 + rdi + 0x20]
lea rcx, [rdi + 0xb8]
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xc8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x10c], 1
jmp 0x140032335
mov r13d, dword [rsp + 0xb8]
mov dword [rdi + 0xb4], ebx
mov ecx, dword [r14 + rdi + 0x6c]
add r13d, dword [r15 + rdi + 0x20]
add dword [rsp + 0xb0], ecx
test r9d, r9d
je 0x14003203b
mov dword [rbp + 0xc], ebx
jmp 0x14003203e
mov ebx, dword [rbp + 0xc]
add esi, ebx
mov dword [rdi + 0x110], 0x4000
mov dword [rdi + 0x114], 0x4000
lea rcx, [rdi + 0xb8]
mov r8d, dword [r15 + rdi + 0x20]
mov r9d, esi
mov edx, esi
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb0]
lea rcx, [rdi + 0xc8]
mov r9d, ebx
mov dword [rsp + 0x20], r13d
mov r8d, r13d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r12d
mov r9d, ebx
mov r8d, r13d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x114], 1
jmp 0x140032335
mov edx, dword [rsp + 0xb8]
mov dword [rdi + 0xb4], ebx
add edx, dword [r15 + rdi + 0x20]
mov dword [rsp + 0xb8], edx
test r8d, r8d
je 0x1400320f9
mov dword [r13 + 8], ebx
mov eax, ebx
jmp 0x1400320fd
mov eax, dword [r13 + 8]
mov ecx, dword [r14 + rdi + 0x6c]
add r12d, eax
mov eax, dword [rsp + 0x40]
add eax, ecx
cmp eax, dword [r15 + rdi + 0x14]
jle 0x140032130
mov r13d, dword [r15 + rdi + 0x1c]
cmp ecx, r13d
cmovge r13d, ecx
add r13d, dword [rsp + 0xb0]
test r9d, r9d
je 0x140032148
mov dword [rbp + 0xc], ebx
jmp 0x140032148
mov r13d, dword [rsp + 0xb0]
add r13d, ecx
test r9d, r9d
je 0x140032148
mov edx, 0xfffffffc
mov dword [rbp + 0xc], edx
add esi, dword [rbp + 0xc]
lea rcx, [rdi + 0xb8]
mov ebx, dword [rsp + 0xb8]
mov r9d, esi
mov r8d, dword [r15 + rdi + 0x20]
mov edx, esi
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rdi + 0x10c], 0x4000
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x114], 1
jmp 0x140032335
mov rax, qword [rsp + 0x48]
lea edx, [r12 + 4]
mov ecx, dword [rsp + 0x34]
mov r8d, dword [rax + rdi]
test r8d, r8d
cmove edx, r12d
add ecx, dword [r15 + rdi + 0x20]
cmp edx, ecx
jle 0x140032344
mov edx, 0xfffffffc
test r8d, r8d
je 0x14003220f
mov dword [r13], edx
mov eax, edx
jmp 0x140032213
mov eax, dword [r13]
add r12d, eax
cmp dword [r14 + rdi + 0x64], esi
jle 0x140032284
mov dword [rdi + 0xb4], 2
test r9d, r9d
je 0x140032231
mov dword [rbp + 0xc], ebx
jmp 0x140032234
mov ebx, dword [rbp + 0xc]
mov r8d, dword [r15 + rdi + 0x20]
lea rcx, [rdi + 0xb8]
add esi, ebx
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x10c], 0x4000
lea rcx, [rdi + 0xc8]
mov r9d, dword [r14 + rdi + 0x64]
mov r8d, r12d
mov edx, esi
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x10c], 2
jmp 0x140032335
mov r13d, dword [rsp + 0xb8]
mov dword [rdi + 0xb4], ebx
mov ebx, dword [r14 + rdi + 0x64]
mov eax, dword [r15 + rdi + 0x20]
add r13d, eax
sub ebx, dword [rsp + 0xb0]
test r9d, r9d
je 0x1400322b5
mov dword [rbp + 0xc], edx
mov eax, dword [r15 + rdi + 0x20]
jmp 0x1400322b8
mov edx, dword [rbp + 0xc]
add esi, edx
mov dword [rsp + 0x20], r13d
mov r9d, esi
lea rcx, [rdi + 0xb8]
mov edx, esi
mov r8d, eax
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rdi + 0x114], 0x4000
mov r9d, ebx
mov dword [rsp + 0x20], r13d
mov r8d, r13d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r12d
mov r9d, ebx
mov r8d, r13d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x114], 2
mov dword [rdi + 0x108], 1
jmp 0x140033c03
mov edx, dword [rsp + 0xb8]
mov dword [rdi + 0xb4], ebx
add edx, dword [r15 + rdi + 0x20]
mov dword [rsp + 0xb8], edx
test r8d, r8d
je 0x14003236a
mov dword [r13], ebx
mov eax, ebx
jmp 0x14003236e
mov eax, dword [r13]
mov edx, dword [r14 + rdi + 0x64]
add r12d, eax
mov ecx, dword [rsp + 0x40]
mov r13d, edx
mov r8d, dword [rsp + 0xb0]
sub r13d, r8d
add ecx, dword [r15 + rdi + 0x1c]
cmp edx, ecx
jge 0x1400323b1
mov eax, dword [r15 + rdi + 0x14]
sub eax, r8d
cmp edx, dword [r15 + rdi + 0x14]
cmovge r13d, eax
test r9d, r9d
je 0x1400323b9
mov edx, 0xfffffffc
mov dword [rbp + 0xc], edx
jmp 0x1400323b9
test r9d, r9d
je 0x1400323b9
mov dword [rbp + 0xc], ebx
add esi, dword [rbp + 0xc]
lea rcx, [rdi + 0xb8]
mov ebx, dword [rsp + 0xb8]
mov r9d, esi
mov r8d, dword [r15 + rdi + 0x20]
mov edx, esi
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rdi + 0x10c], 0x4000
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r12d
mov r9d, r13d
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x108], 1
mov dword [rdi + 0x114], 2
jmp 0x140033c03
mov rax, qword [rsp + 0x50]
mov esi, 3
mov r10d, dword [rax + rdi + 8]
cmp dword [rsp + 0x3c], esi
je 0x1400324db
mov edx, dword [r15 + rdi + 0x1c]
lea rcx, [rdi + 0xb8]
mov r10d, dword [rsp + 0x34]
lea rbp, [rdi + 0xc8]
add edx, r10d
cmp dword [r14 + rdi + 0x6c], edx
jge 0x1400324ab
mov esi, dword [rsp + 0xc8]
mov r8d, esi
mov dword [rdi + 0xb4], 2
mov edx, dword [r15 + rdi + 0x1c]
mov dword [rsp + 0x20], esi
jmp 0x14003348f
mov dword [rdi + 0xb4], esi
mov ebx, dword [r15 + rdi + 0x1c]
mov esi, dword [rsp + 0xc8]
add ebx, r10d
mov dword [rdi + 0x10c], 0x4000
mov r8d, esi
mov edx, dword [r15 + rdi + 0x1c]
mov dword [rsp + 0x20], esi
jmp 0x1400334c7
mov rax, qword [rsp + 0x48]
mov r9d, dword [rax + rdi + 8]
mov dword [rdi + 0xb4], esi
mov esi, dword [rsp + 0xc8]
cmp esi, r12d
jl 0x14003250f
test r10d, r10d
je 0x140032504
mov edx, 0xfffffffc
mov dword [rbp + 8], edx
test r9d, r9d
je 0x140032525
mov dword [r13 + 8], ebx
jmp 0x140032525
test r10d, r10d
je 0x140032517
mov dword [rbp + 8], ebx
test r9d, r9d
je 0x140032525
mov edx, 0xfffffffc
mov dword [r13 + 8], edx
mov edx, dword [rbp + 8]
mov ecx, dword [r13 + 8]
add edx, esi
mov eax, dword [r15 + rdi + 0x1c]
add ecx, r12d
mov r8d, dword [r14 + rdi + 0x6c]
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0xc8], ecx
cmp eax, r8d
jle 0x140032678
add dword [rsp + 0xb8], eax
cmp esi, dword [r14 + rdi + 0x68]
jl 0x140032775
cmp esi, dword [r14 + rdi + 0x70]
jg 0x140032775
mov ecx, dword [rsp + 0xb0]
mov dword [rdi + 0xb4], 5
add ecx, dword [r15 + rdi + 0x20]
mov dword [rsp + 0xb0], ecx
test r10d, r10d
je 0x140032594
mov dword [rbp + 8], ebx
test r9d, r9d
je 0x14003259f
mov dword [r13 + 8], ebx
jmp 0x1400325a3
mov ebx, dword [r13 + 8]
add esi, dword [rbp + 8]
lea rcx, [rdi + 0xb8]
mov ebp, dword [rsp + 0xb8]
mov r8d, esi
mov dword [rdi + 0x10c], 0x4000
mov r9d, ebp
mov edx, dword [r15 + rdi + 0x1c]
add r12d, ebx
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SetRect]
mov r13d, dword [rsp + 0xb0]
lea rcx, [rdi + 0xc8]
mov r9d, ebp
mov dword [rsp + 0x20], r13d
mov r8d, esi
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xd8]
mov ebx, dword [rsp + 0x30]
mov r8d, r13d
add r9d, ebx
mov dword [rsp + 0x20], r13d
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xe8]
add edx, ebx
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov r8d, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x6c]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
lea rcx, [rdi + 0xf8]
lea r9d, [rdx + rbx]
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [rsp + 0xc0]
mov dword [rdi + 0x108], 1
mov dword [rdi + 0x118], 1
jmp 0x14003277c
add dword [rsp + 0xb8], r8d
cmp r12d, dword [r15 + rdi + 0x18]
jl 0x140032775
cmp r12d, dword [r15 + rdi + 0x20]
jg 0x140032775
mov dword [rdi + 0xb4], 5
mov ecx, dword [r14 + rdi + 0x70]
add dword [rsp + 0xb0], ecx
test r10d, r10d
je 0x1400326b4
mov dword [rbp + 8], ebx
test r9d, r9d
je 0x1400326bf
mov dword [r13 + 8], ebx
jmp 0x1400326c3
mov ebx, dword [r13 + 8]
add esi, dword [rbp + 8]
lea rcx, [rdi + 0xb8]
mov ebp, dword [rsp + 0xb8]
add r12d, ebx
mov dword [rdi + 0x10c], 0x4000
mov r9d, ebp
mov dword [rdi + 0x114], 0x4000
mov r8d, r12d
mov edx, dword [r14 + rdi + 0x6c]
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_SetRect]
mov r13d, dword [rsp + 0xb0]
lea rcx, [rdi + 0xc8]
mov r9d, ebp
mov dword [rsp + 0x20], r13d
mov r8d, r12d
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r15 + rdi + 0x1c]
lea rcx, [rdi + 0xd8]
mov ebx, dword [rsp + 0x30]
mov r8d, r13d
add r9d, ebx
mov dword [rsp + 0x20], r13d
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r15 + rdi + 0x1c]
lea rcx, [rdi + 0xe8]
add edx, ebx
mov dword [rsp + 0x20], esi
mov r9d, edx
mov r8d, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r15 + rdi + 0x1c]
mov r8d, esi
mov dword [rsp + 0x20], esi
jmp 0x140032647
mov ebp, dword [rsp + 0xb8]
cmp dword [rdi + 0xb4], 3
jne 0x140033c03
mov dword [rdi + 0x10c], 0x4000
lea rcx, [rdi + 0xb8]
mov dword [rsp + 0x20], edx
mov r8d, edx
mov edx, dword [r15 + rdi + 0x1c]
mov r9d, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [rsp + 0xc0]
lea rcx, [rdi + 0xc8]
mov ebx, dword [rsp + 0xc8]
mov r9d, ebp
mov edx, ebp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x6c]
mov r9d, ebp
mov r8d, ebx
mov dword [rsp + 0x20], ebx
lea rcx, [rdi + 0xd8]
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x108], 1
mov dword [rdi + 0x110], 1
jmp 0x140033c03
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x3c]
mov r9d, dword [rax + rdi + 4]
sub ecx, 1
je 0x1400331d9
sub ecx, 1
je 0x140032eb7
sub ecx, 1
je 0x140032c61
cmp ecx, 1
je 0x14003288c
mov eax, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
mov r10d, dword [rsp + 0x34]
lea rbp, [rdi + 0xc8]
sub eax, r10d
mov r9d, esi
mov edx, esi
cmp dword [r14 + rdi + 0x68], eax
jge 0x140032872
mov dword [rdi + 0xb4], 2
mov r8d, dword [r15 + rdi + 0x18]
jmp 0x140031be6
mov dword [rdi + 0xb4], 3
mov r8d, dword [r15 + rdi + 0x18]
mov ebx, r8d
sub ebx, r10d
jmp 0x140031c1e
mov rax, qword [rsp + 0x48]
mov r10d, dword [rax + rdi + 0xc]
mov eax, dword [r15 + rdi + 0x18]
cmp dword [r14 + rdi + 0x70], eax
jge 0x140032a2d
test r9d, r9d
jne 0x1400328b5
test r10d, r10d
jne 0x1400328b5
mov eax, dword [rbp + 4]
jmp 0x1400328ba
mov dword [rbp + 4], ebx
mov eax, ebx
mov ecx, dword [rsp + 0xc0]
lea r11d, [rax + rsi]
mov eax, r11d
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x14003291c
mov dword [rdi + 0xb4], 1
test r9d, r9d
jne 0x1400328e8
test r10d, r10d
je 0x1400328ec
mov dword [r13 + 0xc], ebx
mov eax, dword [r14 + rdi + 0x70]
lea rcx, [rdi + 0xb8]
mov r8d, dword [r15 + rdi + 0x18]
mov r9d, r11d
mov edx, r11d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x108], 3
jmp 0x140033c03
mov dword [rdi + 0xb4], 3
cmp esi, ecx
jl 0x140032942
test r9d, r9d
je 0x140032937
mov edx, 0xfffffffc
mov dword [rbp + 4], edx
test r10d, r10d
je 0x140032958
mov dword [r13 + 0xc], ebx
jmp 0x140032958
test r9d, r9d
je 0x14003294a
mov dword [rbp + 4], ebx
test r10d, r10d
je 0x140032958
mov edx, 0xfffffffc
mov dword [r13 + 0xc], edx
mov eax, dword [r15 + rdi + 0x18]
sub eax, dword [r14 + rdi + 0x70]
mov ebp, dword [rbp + 4]
cdq
add ebp, esi
sub eax, edx
mov esi, dword [r13 + 0xc]
sar eax, 1
add esi, ecx
cmp dword [rsp + 0x38], 0
mov ecx, eax
jne 0x140032998
lea edx, [rax + rax]
mov eax, dword [rsp + 0xb8]
cmp eax, edx
jge 0x140032995
test eax, eax
jle 0x140032991
mov ecx, eax
jmp 0x14003299e
cmp eax, edx
jl 0x140032998
lea ecx, [rdx - 1]
mov dword [rdi + 0x11c], ecx
mov ebx, dword [r14 + rdi + 0x70]
mov r9d, ebp
add ebx, ecx
mov dword [rdi + 0x10c], 0x4000
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
mov edx, ebp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x108], 2
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov r8d, ebx
mov edx, ebp
cmp ebp, esi
jle 0x1400329fd
mov dword [rdi + 0x108], 0x4002
call qword [sym.imp.USER32.dll_SetRect]
jmp 0x140032a0d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x110], 0x4000
mov r8d, dword [r14 + rdi + 0x70]
lea rcx, [rdi + 0xd8]
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
jmp 0x1400327fa
mov dword [rdi + 0xb4], 5
mov dword [rdi + 0x108], 2
mov dword [rdi + 0x118], 1
mov r11d, dword [r15 + rdi + 0x18]
sub r11d, dword [rsp + 0xb8]
mov edx, dword [r14 + rdi + 0x70]
add edx, dword [rsp + 0x30]
mov r12d, dword [r14 + rdi + 0x64]
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xc8], edx
cmp r12d, dword [r15 + rdi + 0x1c]
jg 0x140032ae4
mov eax, dword [r14 + rdi + 0x6c]
cmp eax, dword [r15 + rdi + 0x14]
jl 0x140032ae4
cmp dword [r15 + rdi + 0x1c], eax
jle 0x140032ab2
sub r12d, esi
mov edx, 0xfffffffc
sub r12d, dword [rsp + 0xb0]
test r9d, r9d
je 0x140032aa7
mov dword [rbp + 4], edx
test r10d, r10d
je 0x140032ad1
mov dword [r13 + 0xc], edx
jmp 0x140032ad1
mov r12d, eax
sub r12d, esi
add r12d, dword [rsp + 0xb0]
test r9d, r9d
je 0x140032ac8
mov dword [rbp + 4], ebx
test r10d, r10d
je 0x140032ad1
mov dword [r13 + 0xc], ebx
add esi, dword [rbp + 4]
mov ebp, dword [rsp + 0xc0]
add ebp, dword [r13 + 0xc]
jmp 0x140032bc2
mov eax, dword [rsp + 0xc0]
cmp esi, eax
jl 0x140032b07
test r9d, r9d
je 0x140032afc
mov edx, 0xfffffffc
mov dword [rbp + 4], edx
test r10d, r10d
je 0x140032b1d
mov dword [r13 + 0xc], ebx
jmp 0x140032b1d
test r9d, r9d
je 0x140032b0f
mov dword [rbp + 4], ebx
test r10d, r10d
je 0x140032b1d
mov edx, 0xfffffffc
mov dword [r13 + 0xc], edx
add eax, dword [r13 + 0xc]
add esi, dword [rbp + 4]
mov dword [rsp + 0xc0], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
cmp dword [rsp + 0x38], 0
mov r12d, eax
je 0x140032b4f
mov edx, eax
mov ecx, eax
neg edx
test eax, eax
cmovle ecx, edx
mov dword [rdi + 0x120], ecx
jmp 0x140032bbb
mov eax, dword [rsp + 0xb0]
test r12d, r12d
jle 0x140032b86
add r12d, r12d
cmp eax, r12d
jge 0x140032b71
test eax, eax
jle 0x140032b6c
mov r12d, eax
jmp 0x140032bbb
cmp eax, r12d
jl 0x140032b7d
dec r12d
mov dword [rdi + 0x120], r12d
jmp 0x140032bbb
mov r12d, dword [rdi + 0x120]
jmp 0x140032bbb
mov ecx, r12d
neg ecx
add ecx, ecx
cmp eax, ecx
jge 0x140032ba1
test eax, eax
jle 0x140032b9d
mov r12d, eax
neg r12d
jmp 0x140032bbb
cmp eax, ecx
jl 0x140032bb0
add r12d, r12d
not r12d
mov dword [rdi + 0x120], r12d
jmp 0x140032b98
mov eax, r12d
neg eax
mov dword [rdi + 0x120], eax
mov ebp, dword [rsp + 0xc0]
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
mov r9d, esi
mov dword [rsp + 0x20], r11d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov r15d, dword [rsp + 0xb8]
lea ebx, [r12 + rsi]
mov r9d, ebx
mov dword [rsp + 0x20], r15d
lea rcx, [rdi + 0xc8]
mov r8d, r15d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov esi, dword [rsp + 0xc8]
lea rcx, [rdi + 0xd8]
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xe8]
mov dword [rdi + 0x114], 0x4000
mov r9d, ebp
mov dword [rsp + 0x20], esi
mov r8d, esi
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x70]
lea rcx, [rdi + 0xf8]
mov r9d, ebp
mov dword [rsp + 0x20], esi
mov edx, ebp
jmp 0x140033502
mov rax, qword [rsp + 0x48]
lea ecx, [r12 - 4]
mov r8d, dword [rax + rdi + 8]
test r8d, r8d
mov eax, dword [r15 + rdi + 0x18]
cmove ecx, r12d
sub eax, dword [rsp + 0x34]
cmp ecx, eax
jge 0x140032db5
test r8d, r8d
je 0x140032c95
mov dword [r13 + 8], ebx
mov eax, ebx
jmp 0x140032c99
mov eax, dword [r13 + 8]
add r12d, eax
lea ecx, [rsi - 4]
mov eax, dword [r14 + rdi + 0x6c]
test r9d, r9d
mov edx, 2
cmove ecx, esi
mov dword [rdi + 0x108], edx
cmp eax, ecx
jge 0x140032d03
mov dword [rdi + 0xb4], edx
mov dword [rdi + 0x10c], 1
test r9d, r9d
je 0x140032cd8
mov edx, 0xfffffffc
mov dword [rbp + 4], edx
jmp 0x140032cdb
mov edx, dword [rbp + 4]
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
add esi, edx
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
jmp 0x140033270
mov dword [rdi + 0x114], 1
mov dword [rdi + 0xb4], ebx
mov r13d, dword [r15 + rdi + 0x18]
mov ecx, dword [r14 + rdi + 0x6c]
sub r13d, dword [rsp + 0xb8]
add dword [rsp + 0xb0], ecx
test r9d, r9d
je 0x140032d36
mov dword [rbp + 4], ebx
jmp 0x140032d39
mov ebx, dword [rbp + 4]
add esi, ebx
mov dword [rdi + 0x110], 0x4000
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
mov r9d, esi
mov dword [rsp + 0x20], r13d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb0]
lea rcx, [rdi + 0xc8]
mov r9d, ebx
mov dword [rsp + 0x20], r13d
mov r8d, r13d
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r12d
mov r9d, ebx
mov r8d, r13d
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
jmp 0x140033500
mov dword [rdi + 0xb4], ebx
mov edx, 0xfffffffc
mov eax, dword [r15 + rdi + 0x18]
sub eax, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], eax
test r8d, r8d
je 0x140032de0
mov dword [r13 + 8], edx
mov eax, edx
jmp 0x140032de4
mov eax, dword [r13 + 8]
mov ecx, dword [r14 + rdi + 0x6c]
lea r13d, [rax + r12]
mov eax, dword [rsp + 0x40]
add eax, ecx
cmp eax, dword [r15 + rdi + 0x14]
jle 0x140032e18
mov r12d, dword [r15 + rdi + 0x1c]
cmp ecx, r12d
cmovge r12d, ecx
add r12d, dword [rsp + 0xb0]
test r9d, r9d
je 0x140032e2b
mov dword [rbp + 4], ebx
jmp 0x140032e2b
mov r12d, dword [rsp + 0xb0]
add r12d, ecx
test r9d, r9d
je 0x140032e2b
mov dword [rbp + 4], edx
add esi, dword [rbp + 4]
lea rcx, [rdi + 0xb8]
mov ebx, dword [rsp + 0xb8]
mov r9d, esi
mov r8d, dword [r15 + rdi + 0x18]
mov edx, esi
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebx
mov r9d, r12d
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r13d
mov r9d, r12d
mov r8d, ebx
mov edx, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x114], 0x4000
lea rcx, [rdi + 0xe8]
mov r9d, dword [r14 + rdi + 0x6c]
mov r8d, r13d
mov edx, r12d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x114], 1
jmp 0x140033bf9
mov rax, qword [rsp + 0x48]
mov r12d, dword [rsp + 0xc0]
mov r11d, dword [rax + rdi + 4]
mov dword [rdi + 0xb4], 3
cmp esi, r12d
jl 0x140032ef0
test r9d, r9d
je 0x140032ee5
mov edx, 0xfffffffc
mov dword [rbp + 4], edx
test r11d, r11d
je 0x140032f06
mov dword [r13 + 4], ebx
jmp 0x140032f06
test r9d, r9d
je 0x140032ef8
mov dword [rbp + 4], ebx
test r11d, r11d
je 0x140032f06
mov edx, 0xfffffffc
mov dword [r13 + 4], edx
mov r10d, dword [rbp + 4]
mov eax, dword [r13 + 4]
add r10d, esi
mov edx, dword [r15 + rdi + 0x18]
add eax, r12d
mov dword [rsp + 0xc0], r10d
mov dword [rsp + 0xc8], eax
cmp edx, dword [r14 + rdi + 0x68]
jge 0x140033031
sub edx, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], edx
cmp r10d, dword [r14 + rdi + 0x64]
jl 0x14003315f
cmp r10d, dword [r14 + rdi + 0x6c]
jg 0x14003315f
mov dword [rdi + 0xb4], 5
mov dword [rdi + 0x114], 0x4000
test r9d, r9d
je 0x140032f73
mov dword [rbp + 4], ebx
test r11d, r11d
je 0x140032f7e
mov dword [r13 + 4], ebx
jmp 0x140032f82
mov ebx, dword [r13 + 4]
add esi, dword [rbp + 4]
lea rcx, [rdi + 0xb8]
mov r8d, dword [r15 + rdi + 0x18]
add r12d, ebx
mov ebx, dword [r15 + rdi + 0x1c]
mov r9d, esi
add ebx, dword [rsp + 0xb0]
mov dword [rsp + 0x20], edx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov ebp, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov r9d, ebx
mov dword [rdi + 0x108], 2
mov r8d, ebp
mov dword [rsp + 0x20], ebp
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov eax, dword [r14 + rdi + 0x68]
lea rcx, [rdi + 0xd8]
mov esi, dword [rsp + 0x30]
mov r9d, ebx
sub eax, esi
mov r8d, ebp
mov edx, ebx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x68]
lea rcx, [rdi + 0xe8]
sub r8d, esi
mov r9d, r12d
mov edx, ebx
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x68]
mov r9d, r12d
mov eax, r8d
mov edx, r12d
sub eax, esi
jmp 0x14003313a
mov edx, dword [r14 + rdi + 0x68]
sub edx, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], edx
cmp eax, dword [r15 + rdi + 0x14]
jl 0x14003315f
cmp eax, dword [r15 + rdi + 0x1c]
jg 0x14003315f
mov dword [rdi + 0xb4], 5
mov dword [rdi + 0x114], 0x4000
mov ecx, dword [r14 + rdi + 0x6c]
add dword [rsp + 0xb0], ecx
test r9d, r9d
je 0x140033082
mov dword [rbp + 4], ebx
test r11d, r11d
je 0x14003308d
mov dword [r13 + 4], ebx
jmp 0x140033091
mov ebx, dword [r13 + 4]
add esi, dword [rbp + 4]
lea rcx, [rdi + 0xb8]
add r12d, ebx
mov dword [rdi + 0x108], 2
mov r8d, dword [r14 + rdi + 0x68]
mov r9d, r12d
mov dword [rsp + 0x20], edx
mov edx, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov ebp, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov r13d, dword [rsp + 0xb0]
mov r8d, ebp
mov r9d, r13d
mov dword [rsp + 0x20], ebp
mov edx, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov eax, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xd8]
mov ebx, dword [rsp + 0x30]
mov r9d, r13d
sub eax, ebx
mov r8d, ebp
mov edx, r13d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xe8]
sub r8d, ebx
mov r9d, esi
mov edx, r13d
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r15 + rdi + 0x18]
mov r9d, esi
mov eax, r8d
mov edx, esi
sub eax, ebx
lea rcx, [rdi + 0xf8]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov r10d, dword [rsp + 0xc0]
mov edx, ebp
mov dword [rdi + 0x118], 2
cmp dword [rdi + 0xb4], 3
jne 0x140033c03
mov dword [rdi + 0x108], 2
lea rcx, [rdi + 0xb8]
mov dword [rdi + 0x110], 2
mov r9d, r10d
mov r8d, dword [r15 + rdi + 0x18]
mov dword [rsp + 0x20], edx
mov edx, r10d
call qword [sym.imp.USER32.dll_SetRect]
mov ebp, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov ebx, dword [rsp + 0xc8]
mov r8d, ebp
mov edx, dword [rsp + 0xc0]
mov r9d, ebx
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x68]
mov r9d, ebx
mov dword [rsp + 0x20], ebp
jmp 0x1400334f9
mov rax, qword [rsp + 0x48]
lea ecx, [r12 - 4]
mov r10d, dword [rsp + 0x34]
mov r8d, dword [rax + rdi]
test r8d, r8d
mov eax, dword [r15 + rdi + 0x18]
cmove ecx, r12d
sub eax, r10d
cmp ecx, eax
jge 0x14003332f
test r8d, r8d
je 0x140033210
mov dword [r13], ebx
mov eax, ebx
jmp 0x140033214
mov eax, dword [r13]
add r12d, eax
lea ecx, [rsi + 4]
mov eax, dword [r14 + rdi + 0x64]
test r9d, r9d
mov edx, 2
cmove ecx, esi
mov dword [rdi + 0x108], edx
cmp eax, ecx
jle 0x140033286
mov dword [rdi + 0xb4], edx
mov dword [rdi + 0x10c], edx
test r9d, r9d
je 0x14003324a
mov dword [rbp + 4], ebx
jmp 0x14003324d
mov ebx, dword [rbp + 4]
mov r8d, dword [r15 + rdi + 0x18]
lea rcx, [rdi + 0xb8]
add esi, ebx
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
mov dword [rsp + 0x20], r12d
lea rcx, [rdi + 0xc8]
mov r8d, r12d
mov edx, esi
jmp 0x140033502
mov dword [rdi + 0xb4], ebx
mov dword [rdi + 0x114], edx
mov eax, dword [r15 + rdi + 0x18]
mov ebx, eax
mov r13d, dword [r14 + rdi + 0x64]
sub ebx, dword [rsp + 0xb8]
sub r13d, dword [rsp + 0xb0]
test r9d, r9d
je 0x1400332c1
mov edx, 0xfffffffc
mov dword [rbp + 4], edx
mov eax, dword [r15 + rdi + 0x18]
jmp 0x1400332c4
mov edx, dword [rbp + 4]
add esi, edx
mov dword [rsp + 0x20], ebx
mov r9d, esi
lea rcx, [rdi + 0xb8]
mov edx, esi
mov r8d, eax
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r12d
mov r9d, r13d
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xe8]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
mov edx, r13d
jmp 0x140033502
mov dword [rdi + 0xb4], ebx
mov edx, 0xfffffffc
mov r11d, dword [r15 + rdi + 0x18]
sub r11d, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], r11d
test r8d, r8d
je 0x14003335c
mov dword [r13], edx
mov eax, edx
jmp 0x140033360
mov eax, dword [r13]
mov ecx, dword [r15 + rdi + 0x1c]
lea r13d, [rax + r12]
mov r12d, dword [r14 + rdi + 0x64]
add ecx, r10d
cmp r12d, ecx
jge 0x140033394
cmp r12d, dword [r15 + rdi + 0x14]
jl 0x140033382
mov r12d, dword [r15 + rdi + 0x14]
sub r12d, dword [rsp + 0xb0]
test r9d, r9d
je 0x1400333a4
mov dword [rbp + 4], edx
jmp 0x1400333a4
sub r12d, dword [rsp + 0xb0]
test r9d, r9d
je 0x1400333a4
mov dword [rbp + 4], ebx
add esi, dword [rbp + 4]
lea rcx, [rdi + 0xb8]
mov r8d, dword [r15 + rdi + 0x18]
mov r9d, esi
mov edx, esi
mov dword [rsp + 0x20], r11d
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov r9d, r12d
mov dword [rsp + 0x20], ebx
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xd8]
mov dword [rsp + 0x20], r13d
mov r9d, r12d
mov r8d, ebx
mov edx, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x114], 0x4000
lea rcx, [rdi + 0xe8]
mov r9d, dword [r14 + rdi + 0x64]
mov r8d, r13d
mov edx, r12d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_SetRect]
or dword [rdi + 0x114], 2
jmp 0x140033bf9
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x3c]
mov r9d, dword [rax + rdi]
sub ecx, 1
je 0x1400338dd
mov edx, 2
cmp ecx, edx
je 0x14003350d
mov esi, dword [rsp + 0xc8]
lea rcx, [rdi + 0xb8]
mov eax, dword [r15 + rdi + 0x14]
lea rbp, [rdi + 0xc8]
mov r10d, dword [rsp + 0x34]
mov r8d, esi
sub eax, r10d
mov dword [rsp + 0x20], esi
cmp dword [r14 + rdi + 0x64], eax
jge 0x1400334b3
mov dword [rdi + 0xb4], edx
mov edx, dword [r15 + rdi + 0x14]
mov r9d, dword [r14 + rdi + 0x64]
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x64]
mov r8d, esi
mov eax, dword [r14 + rdi + 0x68]
mov r9d, edx
mov dword [rsp + 0x20], eax
mov rcx, rbp
jmp 0x140033502
mov dword [rdi + 0xb4], 3
mov edx, dword [r15 + rdi + 0x14]
mov ebx, edx
sub ebx, r10d
mov r9d, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov eax, dword [r14 + rdi + 0x68]
mov r9d, ebx
mov r8d, esi
mov dword [rsp + 0x20], eax
mov edx, ebx
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [r14 + rdi + 0x68]
mov r9d, dword [r14 + rdi + 0x64]
mov dword [rsp + 0x20], r8d
lea rcx, [rdi + 0xd8]
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
jmp 0x140033c03
mov rax, qword [rsp + 0x48]
mov r10d, dword [rax + rdi + 8]
mov eax, dword [r15 + rdi + 0x14]
cmp dword [r14 + rdi + 0x6c], eax
jge 0x1400336a4
test r9d, r9d
jne 0x140033536
test r10d, r10d
jne 0x140033536
mov ecx, dword [rbp]
jmp 0x14003353b
mov dword [rbp], ebx
mov ecx, ebx
mov r8d, dword [rsp + 0xc8]
mov eax, r8d
sub eax, r12d
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x140033594
add r8d, ecx
mov dword [rdi + 0xb4], 1
test r9d, r9d
jne 0x14003356a
test r10d, r10d
je 0x14003356e
mov dword [r13 + 8], ebx
mov r9d, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xb8]
mov edx, dword [r15 + rdi + 0x14]
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
mov eax, 3
jmp 0x1400338d2
mov dword [rdi + 0xb4], 3
mov eax, dword [r15 + rdi + 0x14]
sub eax, dword [r14 + rdi + 0x6c]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
cmp dword [rsp + 0x38], r11d
jne 0x1400335d3
lea edx, [rax + rax]
mov eax, dword [rsp + 0xb8]
cmp eax, edx
jge 0x1400335d0
test eax, eax
jle 0x1400335cc
mov ecx, eax
jmp 0x1400335d9
cmp eax, edx
jl 0x1400335d3
lea ecx, [rdx - 1]
mov dword [rdi + 0x11c], ecx
mov esi, dword [r14 + rdi + 0x6c]
add esi, ecx
cmp r8d, r12d
jl 0x1400335fd
test r9d, r9d
je 0x1400335f2
mov edx, 0xfffffffc
mov dword [rbp], edx
test r10d, r10d
je 0x140033613
mov dword [r13 + 8], ebx
jmp 0x140033613
test r9d, r9d
je 0x140033605
mov dword [rbp], ebx
test r10d, r10d
je 0x140033613
mov edx, 0xfffffffc
mov dword [r13 + 8], edx
mov ebp, dword [rbp]
lea rcx, [rdi + 0xb8]
mov ebx, dword [r13 + 8]
add ebp, r8d
mov dword [rdi + 0x10c], 0x4000
mov r8d, ebp
mov edx, dword [r15 + rdi + 0x14]
mov r9d, esi
add ebx, r12d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xc8]
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov r8d, ebp
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
cmp ebp, ebx
jle 0x14003366f
mov dword [rdi + 0x108], 0x4000
jmp 0x140033679
mov dword [rdi + 0x110], 0x4000
mov edx, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xd8]
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x110], 1
jmp 0x1400338cd
mov dword [rdi + 0x108], edx
mov dword [rdi + 0xb4], 5
mov dword [rdi + 0x118], 1
mov r11d, dword [r15 + rdi + 0x14]
sub r11d, dword [rsp + 0xb8]
mov edx, dword [r14 + rdi + 0x6c]
add edx, dword [rsp + 0x30]
mov eax, dword [r14 + rdi + 0x68]
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xc0], edx
cmp eax, dword [r15 + rdi + 0x20]
jg 0x140033760
mov ecx, dword [r14 + rdi + 0x70]
cmp ecx, dword [r15 + rdi + 0x18]
jl 0x140033760
mov esi, dword [rsp + 0xc8]
cmp dword [r15 + rdi + 0x20], ecx
jle 0x140033731
sub eax, esi
mov edx, 0xfffffffc
sub eax, dword [rsp + 0xb0]
mov dword [rsp + 0xb0], eax
test r9d, r9d
je 0x140033726
mov dword [rbp], edx
test r10d, r10d
je 0x14003374d
mov dword [r13 + 8], edx
jmp 0x14003374d
mov eax, ecx
sub eax, esi
add dword [rsp + 0xb0], eax
test r9d, r9d
je 0x140033744
mov dword [rbp], ebx
test r10d, r10d
je 0x14003374d
mov dword [r13 + 8], ebx
add esi, dword [rbp]
add r12d, dword [r13 + 8]
mov ebx, dword [rsp + 0xb0]
jmp 0x140033824
mov esi, dword [rsp + 0xc8]
cmp esi, r12d
jl 0x140033784
test r9d, r9d
je 0x140033779
mov edx, 0xfffffffc
mov dword [rbp], edx
test r10d, r10d
je 0x14003379a
mov dword [r13 + 8], ebx
jmp 0x14003379a
test r9d, r9d
je 0x14003378c
mov dword [rbp], ebx
test r10d, r10d
je 0x14003379a
mov edx, 0xfffffffc
mov dword [r13 + 8], edx
add r12d, dword [r13 + 8]
add esi, dword [rbp]
mov eax, r12d
sub eax, esi
cdq
sub eax, edx
sar eax, 1
cmp dword [rsp + 0x38], 0
mov ebx, eax
je 0x1400337c7
mov edx, eax
mov ecx, eax
neg edx
test eax, eax
cmovle ecx, edx
mov dword [rdi + 0x120], ecx
jmp 0x140033824
mov eax, dword [rsp + 0xb0]
test ebx, ebx
jle 0x1400337f6
add ebx, ebx
cmp eax, ebx
jge 0x1400337e4
test eax, eax
jle 0x1400337e0
mov ebx, eax
jmp 0x140033824
cmp eax, ebx
jl 0x1400337ee
dec ebx
mov dword [rdi + 0x120], ebx
jmp 0x140033824
mov ebx, dword [rdi + 0x120]
jmp 0x140033824
mov ecx, ebx
neg ecx
add ecx, ecx
cmp eax, ecx
jge 0x14003380c
test eax, eax
jle 0x140033808
mov ebx, eax
jmp 0x140033816
cmp eax, ecx
jl 0x14003381a
add ebx, ebx
not ebx
mov dword [rdi + 0x120], ebx
neg ebx
jmp 0x140033824
mov eax, ebx
neg eax
mov dword [rdi + 0x120], eax
mov dword [rdi + 0x114], 0x4000
lea rcx, [rdi + 0xb8]
mov edx, dword [r15 + rdi + 0x14]
mov r9d, r11d
mov r8d, esi
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SetRect]
mov ebp, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
add ebx, esi
mov r9d, ebp
mov r8d, esi
mov dword [rsp + 0x20], ebx
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov esi, dword [rsp + 0xc0]
lea rcx, [rdi + 0xd8]
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, ebx
mov edx, ebp
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rdi + 0xe8]
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov r8d, ebx
mov edx, esi
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x6c]
lea rcx, [rdi + 0xf8]
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, r12d
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x118], 1
mov eax, 2
mov dword [rdi + 0x108], eax
jmp 0x140033c03
mov rax, qword [rsp + 0x48]
mov esi, dword [rsp + 0xc8]
mov dword [rdi + 0xb4], 3
mov r10d, dword [rax + rdi]
cmp esi, r12d
jl 0x140033914
test r9d, r9d
je 0x140033909
mov edx, 0xfffffffc
mov dword [rbp], edx
test r10d, r10d
je 0x14003392a
mov dword [r13], ebx
jmp 0x14003392a
test r9d, r9d
je 0x14003391c
mov dword [rbp], ebx
test r10d, r10d
je 0x14003392a
mov edx, 0xfffffffc
mov dword [r13], edx
mov r8d, dword [rbp]
mov eax, dword [r13]
add r8d, esi
mov edx, dword [r15 + rdi + 0x14]
add eax, r12d
mov dword [rsp + 0xc0], r8d
mov dword [rsp + 0xc8], eax
cmp edx, dword [r14 + rdi + 0x64]
jge 0x140033a5b
sub edx, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], edx
cmp r8d, dword [r14 + rdi + 0x68]
jl 0x140033b84
cmp r8d, dword [r14 + rdi + 0x70]
jg 0x140033b84
mov ecx, dword [rsp + 0xb0]
mov dword [rdi + 0xb4], 5
add ecx, dword [r15 + rdi + 0x20]
mov dword [rsp + 0xb0], ecx
mov dword [rdi + 0x114], 0x4000
test r9d, r9d
je 0x1400339aa
mov dword [rbp], ebx
test r10d, r10d
je 0x1400339b5
mov dword [r13], ebx
jmp 0x1400339b9
mov ebx, dword [r13]
add esi, dword [rbp]
lea rcx, [rdi + 0xb8]
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, dword [r15 + rdi + 0x14]
mov r8d, esi
add r12d, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov ebp, dword [rsp + 0xb0]
mov r9d, ebx
mov r8d, esi
mov dword [rsp + 0x20], ebp
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xd8]
mov esi, dword [rsp + 0x30]
mov r8d, ebp
sub r9d, esi
mov dword [rsp + 0x20], ebp
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xe8]
sub edx, esi
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov r8d, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x64]
mov r8d, r12d
mov r9d, edx
mov dword [rsp + 0x20], r12d
sub r9d, esi
jmp 0x140033b59
mov edx, dword [r14 + rdi + 0x64]
sub edx, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], edx
cmp eax, dword [r15 + rdi + 0x18]
jl 0x140033b84
cmp eax, dword [r15 + rdi + 0x20]
jg 0x140033b84
mov dword [rdi + 0xb4], 5
mov dword [rdi + 0x114], 0x4000
mov ecx, dword [r14 + rdi + 0x70]
add dword [rsp + 0xb0], ecx
test r9d, r9d
je 0x140033aac
mov dword [rbp], ebx
test r10d, r10d
je 0x140033ab7
mov dword [r13], ebx
jmp 0x140033abb
mov ebx, dword [r13]
add esi, dword [rbp]
lea rcx, [rdi + 0xb8]
add r12d, ebx
mov r9d, edx
mov edx, dword [r14 + rdi + 0x64]
mov r8d, r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov ebp, dword [rsp + 0xb0]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], ebp
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, dword [r15 + rdi + 0x14]
lea rcx, [rdi + 0xd8]
mov r12d, dword [rsp + 0x30]
mov r8d, ebp
sub r9d, r12d
mov dword [rsp + 0x20], ebp
mov edx, ebx
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r15 + rdi + 0x14]
lea rcx, [rdi + 0xe8]
sub edx, r12d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov r8d, ebp
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r15 + rdi + 0x14]
mov r8d, esi
mov r9d, edx
mov dword [rsp + 0x20], esi
sub r9d, r12d
lea rcx, [rdi + 0xf8]
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, dword [rsp + 0xc0]
mov edx, ebx
mov dword [rdi + 0x118], 2
mov dword [rdi + 0x108], 2
cmp dword [rdi + 0xb4], 3
jne 0x140033c03
mov r9d, edx
mov dword [rsp + 0x20], r8d
mov edx, dword [r15 + rdi + 0x14]
lea rcx, [rdi + 0xb8]
call qword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [rsp + 0xb8]
lea rcx, [rdi + 0xc8]
mov r8d, dword [rsp + 0xc0]
mov r9d, ebx
mov esi, dword [rsp + 0xc8]
mov edx, ebx
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SetRect]
mov edx, dword [r14 + rdi + 0x64]
lea rcx, [rdi + 0xd8]
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, esi
call qword [sym.imp.USER32.dll_SetRect]
mov dword [rdi + 0x110], 2
mov dword [rdi + 0x108], 2
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret