Function at 0x1400ae670
Capabilities:
Create thread
Read .ini file
Resume thread

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rsp + 0xf0], rax
xor eax, eax
movsxd r13, edx
mov ebx, r9d
mov esi, r8d
mov r15, rcx
mov qword [rsp + 0xb8], rcx
mov dword [rsp + 0x64], r13d
mov ebp, eax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x60], eax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x78], rax
test edx, edx
jle 0x1400af4a3
test esi, esi
jle 0x1400af4a3
mov qword [rsp + 0x188], rdi
cmp dword [rsp + 0x198], eax
je 0x1400ae734
mov rdx, rcx
lea rcx, [rsp + 0xd0]
call fcn.1400ed3d0
lea r8, [rsp + 0xe0]
mov rcx, r15
movaps xmm0, xmmword [rsp + 0xd0]
movsd xmm1, qword [0x14018da80]
movdqa xmmword [rsp + 0xe0], xmm0
call fcn.14003e4f0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
test rax, rax
je 0x1400af499
movzx eax, word [rax + 0xe]
xor r12d, r12d
cmp ax, 8
jbe 0x1400ae75a
mov dword [rdi + 0x20], r12d
mov ecx, 5
cmp r13d, dword [rdi + 4]
jg 0x1400ae786
cmp esi, dword [rdi + 8]
jg 0x1400ae786
mov r14d, dword [rsp + 0x190]
mov dword [rsp + 0x60], r14d
cmp dword [rsp + 0x1a0], ebp
je 0x1400ae786
test r14d, r14d
cmove ebx, ecx
cmp ax, 0x18
je 0x1400ae878
mov rcx, rdi
call fcn.1400ed640
mov rcx, rdi
mov r14d, eax
call fcn.1400ed5f0
test r14d, r14d
je 0x1400ae7d5
test eax, eax
mov ecx, r12d
mov edx, 1
cmovne ecx, edx
cmp word [rdi + 0xe], 8
jne 0x1400ae7cd
test eax, eax
jne 0x1400ae7cd
mov rcx, rdi
call fcn.14003f7e0
jmp 0x1400ae878
test ecx, ecx
jne 0x1400ae878
movzx edi, word [rdi + 0xe]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp edi, 1
jne 0x1400ae80b
mov rcx, r15
call fcn.14009bee0
mov rcx, r15
mov rbp, rax
mov qword [rsp + 0x88], rax
call fcn.1400ed550
mov dword [rsp + 0xa0], eax
jmp 0x1400ae85a
cmp edi, 4
jne 0x1400ae83e
mov rcx, r15
test r14d, r14d
je 0x1400ae837
call fcn.14009d010
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov rbp, rax
mov qword [rsp + 0x88], rax
call fcn.14003ee60
jmp 0x1400ae85a
call fcn.14009cdc0
jmp 0x1400ae84f
cmp edi, 8
jne 0x1400af499
mov rcx, r15
call fcn.14009d4e0
mov qword [rsp + 0x88], rax
mov rbp, rax
test rbp, rbp
je 0x1400af499
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
test rax, rax
je 0x1400af47c
movzx r9d, word [rdi + 0xe]
movsxd r12, dword [rdi + 0x20]
mov eax, r13d
movsxd r10, esi
imul eax, r9d
add eax, 0x1f
mov rcx, r10
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
movsxd r8, eax
imul rcx, r8
test eax, eax
jle 0x1400af46e
mov eax, dword [rdi + 4]
imul eax, r9d
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
test eax, eax
jle 0x1400af46e
xor edx, edx
mov rax, rcx
div r10
test eax, eax
jle 0x1400af46e
test rcx, rcx
jle 0x1400af46e
cmp r12d, 0x100
jg 0x1400af46e
cmp r13d, 0xf3e58
jg 0x1400af46e
cmp esi, 0xf3e58
jg 0x1400af46e
cdqe
cmp rax, r8
jb 0x1400af46e
movabs rax, 0x7ffffffb58
cmp rcx, rax
ja 0x1400af46e
mov rax, r12
add rax, 0xa
lea rdx, [rcx + rax*4]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov qword [rsp + 0xe0], rax
test rax, rax
je 0x1400af46e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r14, rax
mov dword [rax + 0x20], r12d
mov dword [rax], 0x28
mov dword [rax + 4], r13d
mov dword [rax + 8], esi
movzx ecx, word [rdi + 0xe]
mov word [rax + 0xe], cx
mov eax, 1
mov word [r14 + 0xc], ax
xor eax, eax
test r12d, r12d
mov qword [r14 + 0x10], rax
mov dword [r14 + 0x24], eax
mov ecx, dword [rdi + 0x18]
mov dword [r14 + 0x18], ecx
mov ecx, dword [rdi + 0x1c]
mov dword [r14 + 0x1c], ecx
jle 0x1400ae9af
lea r8, [r12*4]
lea rdx, [rdi + 0x28]
lea rcx, [r14 + 0x28]
call fcn.1400fb0e0
mov ecx, dword [r14]
lea rax, [r12*4]
mov r12d, dword [rdi]
add r12, rax
add rcx, rax
add rcx, r14
add r12, rdi
cmp dword [rsp + 0x1a8], 0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rcx
mov r14d, 1
je 0x1400ae9eb
call fcn.1400af5d0
mov r14d, eax
cmp dword [rsp + 0x60], 0
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm7
lea rax, [0x140208860]
movaps xmmword [rsp + 0x100], xmm8
je 0x1400aed4b
cmp r14d, esi
cmova r14d, esi
mov dword [rsp + 0x80], r14d
cmp r14d, 1
je 0x1400aecd3
mov edx, 8
mov ecx, r14d
mov r12d, r14d
call fcn.1400f97a4
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1400af0cb
mov edx, 0xc
movsxd rcx, esi
call fcn.1400f97a4
mov ecx, dword [rdi + 8]
mov edx, esi
mov r8, rax
mov qword [rsp + 0xb0], rax
call fcn.1400ada50
mov ecx, r14d
xor eax, eax
xorps xmm0, xmm0
movd xmm1, esi
mov r15d, eax
cvtsi2ss xmm0, rcx
lea ecx, [r14 - 1]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
cvtps2pd xmm1, xmm1
addsd xmm1, qword [0x140183398]
test ecx, ecx
je 0x1400aec20
mov r12, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0x64]
cvttsd2si r14d, xmm1
movsxd rax, r14d
mov r13, rbx
lea rax, [rax + rax*2]
shl rax, 2
add r12, 0xfffffffffffffff8
mov qword [rsp + 0xc0], rax
mov eax, ecx
mov qword [rsp + 0xa8], rax
nop dword [rax]
mov edx, 0x60
lea ecx, [rdx - 0x5f]
call fcn.1400f97a4
mov rbx, rax
mov qword [r13], rax
test r15d, r15d
jne 0x1400aeb63
mov r8d, dword [rdi + 8]
mov ecx, dword [rdi + 4]
movzx edx, word [rdi + 0xe]
mov rax, qword [rsp + 0x68]
test r8d, r8d
mov dword [rbx + 0x18], ecx
mov ecx, 0
mov qword [rbx], rax
mov rax, qword [rsp + 0x70]
mov qword [rbx + 8], rax
mov dword [rbx + 0x1c], r8d
cmovg r8d, ecx
test esi, esi
mov eax, esi
mov dword [rbx + 0x20], edx
cmovg eax, ecx
mov edx, 1
cmp r14d, esi
mov dword [rbx + 0x48], eax
mov eax, esi
mov dword [rbx + 0x28], r8d
mov dword [rbx + 0x24], edx
mov dword [rbx + 0x2c], r8d
mov qword [rbx + 0x30], rcx
cmovl eax, r14d
mov qword [rbx + 0x38], rcx
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x50], rcx
mov dword [rbx + 0x58], edx
jmp 0x1400aebe2
mov edx, dword [rdi + 8]
mov eax, dword [rdi + 4]
mov r11d, dword [r12 + 4]
mov r10d, dword [r12]
mov r9d, dword [r12 - 4]
movzx ecx, word [rdi + 0xe]
mov rbp, qword [rsp + 0x68]
mov dword [rbx + 0x18], eax
test edx, edx
mov eax, 1
lea r8d, [r14 + r15]
mov qword [rbx], rbp
mov rbp, qword [rsp + 0x70]
mov dword [rbx + 0x24], eax
mov eax, 0
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x1c], edx
cmovg edx, eax
cmp r15d, esi
mov eax, esi
mov qword [rbx + 8], rbp
mov ebp, dword [rsp + 0x64]
cmovl eax, r15d
cmp r8d, esi
mov dword [rbx + 0x20], ecx
mov dword [rbx + 0x48], eax
mov eax, esi
mov dword [rbx + 0x28], edx
mov dword [rbx + 0x2c], edx
mov dword [rbx + 0x50], r9d
mov dword [rbx + 0x54], r10d
cmovl eax, r8d
mov dword [rbx + 0x58], r11d
add r12, qword [rsp + 0xc0]
mov dword [rbx + 0x4c], eax
add r15d, r14d
add r13, 8
dec qword [rsp + 0xa8]
mov dword [rbx + 0x14], esi
mov dword [rbx + 0x10], ebp
jne 0x1400aeae0
mov r14d, dword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r13d, dword [rsp + 0x64]
mov r12d, r14d
mov edx, 0x60
lea ecx, [rdx - 0x5f]
call fcn.1400f97a4
mov r8d, dword [rdi + 8]
lea ecx, [r14 - 1]
mov rbx, rax
mov rax, qword [rsp + 0x90]
test r8d, r8d
mov qword [rax + rcx*8], rbx
mov rax, qword [rsp + 0xb0]
movsxd rcx, r15d
lea rdx, [rcx + rcx*2]
mov ecx, dword [rdi + 4]
mov r11d, dword [rax + rdx*4 - 4]
mov r10d, dword [rax + rdx*4 - 8]
mov r9d, dword [rax + rdx*4 - 0xc]
movzx edx, word [rdi + 0xe]
mov rax, qword [rsp + 0x68]
mov dword [rbx + 0x1c], r8d
mov qword [rbx], rax
mov rax, qword [rsp + 0x70]
mov dword [rbx + 0x10], r13d
mov qword [rbx + 8], rax
mov eax, 1
mov dword [rbx + 0x14], esi
mov dword [rbx + 0x24], eax
mov eax, 0
mov dword [rbx + 0x18], ecx
cmovg r8d, eax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
cmp r15d, esi
mov eax, esi
cmovl eax, r15d
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x28], r8d
mov dword [rbx + 0x2c], r8d
mov dword [rbx + 0x4c], esi
mov dword [rbx + 0x50], r9d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x54], r10d
mov dword [rbx + 0x58], r11d
jmp 0x1400af0cb
xor edx, edx
xor ecx, ecx
call fcn.1400fff14
mov edx, 0x30300
mov ecx, 0x20300
mov ebx, eax
call fcn.1400fff14
movzx r8d, word [rdi + 0xe]
mov r9d, dword [rdi + 8]
mov rdx, qword [rsp + 0x70]
xor eax, eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r8d
mov r8d, dword [rdi + 4]
mov rcx, r12
call fcn.1400adb10
mov edx, 0xfffff
mov ecx, 0x8001f
call fcn.1400fff14
mov edx, 0xffff
mov ecx, ebx
call fcn.1400fff14
jmp 0x1400af242
cmp ebx, 0xffffffff
jne 0x1400aed6d
lea r8d, [rbx + 6]
lea rdx, str.ResampleFilter
lea rcx, str.Resize
mov r9, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
test ebx, ebx
je 0x1400aedce
dec ebx
je 0x1400aedc5
dec ebx
je 0x1400aedb4
dec ebx
je 0x1400aeda3
dec ebx
je 0x1400aed92
movss xmm6, dword [0x14018da40]
lea r15, [0x1400acc80]
jmp 0x1400aeddd
movss xmm6, dword [0x140186df8]
lea r15, [0x1400ac8f0]
jmp 0x1400aeddd
movss xmm6, dword [0x140186df8]
lea r15, [0x1400acd20]
jmp 0x1400aeddd
movss xmm6, dword [0x140186de4]
lea r15, [0x1400ad910]
jmp 0x1400aeddd
lea r15, [0x1400ada20]
jmp 0x1400aedd5
lea r15, [0x1400ad970]
movss xmm6, dword [0x140186dc8]
mov ecx, dword [rdi + 4]
mov r8d, 1
cmp ecx, r8d
jne 0x1400aedf6
movd xmm8, r13d
cvtdq2ps xmm8, xmm8
jmp 0x1400aee22
lea eax, [r13 - 1]
mov edx, r8d
cmp eax, edx
cmovg edx, eax
lea eax, [rcx - 1]
mov ecx, r8d
cmp eax, ecx
cmovg ecx, eax
movd xmm8, edx
movd xmm0, ecx
cvtdq2ps xmm8, xmm8
cvtdq2ps xmm0, xmm0
divss xmm8, xmm0
mov ebx, dword [rdi + 8]
cmp ebx, 1
jne 0x1400aee33
movd xmm7, esi
cvtdq2ps xmm7, xmm7
jmp 0x1400aee5d
lea eax, [rsi - 1]
mov edx, r8d
mov ecx, r8d
cmp eax, 1
cmovg edx, eax
lea eax, [rbx - 1]
cmp eax, 1
cmovg ecx, eax
movd xmm7, edx
movd xmm0, ecx
cvtdq2ps xmm7, xmm7
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
mov edx, InitCommonControls
movsxd rcx, esi
call fcn.1400f97a4
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400af23a
movaps xmm2, xmm6
movaps xmm1, xmm7
mov r9d, esi
mov rcx, rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ebx
call fcn.1400ac970
mov rcx, r13
mov edx, InitCommonControls
call fcn.1400f97a4
mov rcx, rax
mov qword [rsp + 0x98], rax
test rax, rax
jne 0x1400aeed9
mov r14, qword [rsp + 0x78]
test esi, esi
je 0x1400af232
lea rbx, [r14 + 8]
mov rdi, rsi
mov rcx, qword [rbx]
call fcn.1400f97e8
lea rbx, [rbx + 0x10]
dec rdi
jne 0x1400aeec3
jmp 0x1400af232
mov eax, dword [rdi + 4]
movaps xmm2, xmm6
movaps xmm1, xmm8
mov r9d, r13d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.1400ac970
cmp r14d, dword [rdi + 8]
cmova r14d, dword [rdi + 8]
cmp r14d, esi
cmova r14d, esi
mov dword [rsp + 0x80], r14d
cmp r14d, 1
je 0x1400af3e5
mov edx, 8
mov ecx, r14d
mov r12d, r14d
call fcn.1400f97a4
xor edx, edx
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x90], rax
mov eax, dword [rdi + 8]
div r14d
mov ebx, r8d
mov dword [rsp + 0xa8], eax
lea eax, [r14 - 1]
test eax, eax
je 0x1400af02d
mov r14, qword [rsp + 0x68]
mov r12, rcx
mov ebx, esi
mov ecx, eax
test esi, esi
mov ebp, r8d
mov qword [rsp + 0xc0], rcx
cmovg ebx, r8d
nop
mov edx, 0x60
lea ecx, [rdx - 0x5f]
call fcn.1400f97a4
mov r8d, dword [rdi + 8]
mov ecx, dword [rdi + 4]
movzx edx, word [rdi + 0xe]
mov r9d, dword [rsp + 0xa8]
mov r10, rax
mov qword [r12], rax
mov qword [rax], r14
mov rax, qword [rsp + 0x70]
add r9d, ebp
mov qword [r10 + 8], rax
mov eax, r8d
mov dword [r10 + 0x18], ecx
xor ecx, ecx
cmp ebp, r8d
cmovl eax, ebp
cmp r9d, r8d
mov dword [r10 + 0x1c], r8d
mov dword [r10 + 0x28], eax
mov rax, qword [rsp + 0x98]
cmovl r8d, r9d
dec qword [rsp + 0xc0]
mov qword [r10 + 0x38], rax
mov rax, qword [rsp + 0x78]
mov qword [r10 + 0x40], rax
mov dword [r10 + 0x10], r13d
mov dword [r10 + 0x14], esi
mov dword [r10 + 0x20], edx
mov dword [r10 + 0x24], ecx
mov dword [r10 + 0x2c], r8d
mov qword [r10 + 0x30], r15
mov dword [r10 + 0x48], ebx
mov dword [r10 + 0x4c], ebx
mov qword [r10 + 0x50], rcx
mov dword [r10 + 0x58], ecx
mov ebp, r9d
lea r12, [r12 + 8]
jne 0x1400aef70
mov r14d, dword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov ebx, r9d
mov r12d, r14d
mov edx, 0x60
lea ecx, [rdx - 0x5f]
call fcn.1400f97a4
mov r8d, dword [rdi + 8]
movzx edx, word [rdi + 0xe]
mov r9, rax
mov rax, qword [rsp + 0x90]
lea ecx, [r14 - 1]
mov qword [rax + rcx*8], r9
mov ecx, dword [rdi + 4]
mov rax, qword [rsp + 0x68]
mov qword [r9], rax
mov rax, qword [rsp + 0x70]
mov dword [r9 + 0x18], ecx
xor ecx, ecx
mov qword [r9 + 8], rax
cmp ebx, r8d
mov eax, r8d
mov dword [r9 + 0x1c], r8d
mov dword [r9 + 0x10], r13d
cmovl eax, ebx
cmp r8d, r8d
mov dword [r9 + 0x14], esi
mov dword [r9 + 0x28], eax
mov rax, qword [rsp + 0x98]
cmovl r8d, r8d
mov qword [r9 + 0x38], rax
mov rax, qword [rsp + 0x78]
test esi, esi
mov qword [r9 + 0x40], rax
mov eax, esi
mov dword [r9 + 0x20], edx
cmovg eax, ecx
mov dword [r9 + 0x24], ecx
mov dword [r9 + 0x2c], r8d
mov qword [r9 + 0x30], r15
mov qword [r9 + 0x50], rcx
mov dword [r9 + 0x58], ecx
mov dword [r9 + 0x48], eax
mov dword [r9 + 0x4c], eax
mov edx, 8
mov rcx, r12
call fcn.1400f97a4
mov r13, rax
test r14d, r14d
je 0x1400af1ab
mov r15, qword [rsp + 0x90]
mov rbx, rax
mov rdi, r12
sub r15, rax
nop word [rax + rax]
mov r9, qword [r15 + rbx]
lea rax, [rsp + 0xa8]
lea r8, [0x1400af4d0]
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 4
call fcn.1400ffc64
lea rbx, [rbx + 8]
mov qword [rbx - 8], rax
dec rdi
jne 0x1400af100
test r14d, r14d
je 0x1400af1ab
mov rbx, r13
mov rdi, r12
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
lea rbx, [rbx + 8]
dec rdi
jne 0x1400af141
test r14d, r14d
je 0x1400af1ab
mov rbx, r13
mov rdi, r12
nop
mov rcx, qword [rbx]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rbx, [rbx + 8]
dec rdi
jne 0x1400af160
test r14d, r14d
je 0x1400af1ab
mov rbx, qword [rsp + 0x90]
mov rdi, r13
sub rdi, rbx
nop dword [rax + rax]
mov rcx, qword [rdi + rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx]
call fcn.1400f97e8
lea rbx, [rbx + 8]
dec r12
jne 0x1400af190
mov rcx, r13
call fcn.1400f97e8
mov rcx, qword [rsp + 0x90]
call fcn.1400f97e8
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400af1d5
mov rcx, rax
call fcn.1400f97e8
mov r14, qword [rsp + 0x98]
mov r13d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x1400af210
test esi, esi
je 0x1400af208
lea rbx, [r15 + 8]
mov rdi, rsi
mov rcx, qword [rbx]
call fcn.1400f97e8
lea rbx, [rbx + 0x10]
dec rdi
jne 0x1400af1f7
mov rcx, r15
call fcn.1400f97e8
test r14, r14
je 0x1400af23a
test r13d, r13d
je 0x1400af232
lea rbx, [r14 + 8]
mov edi, r13d
mov rcx, qword [rbx]
call fcn.1400f97e8
lea rbx, [rbx + 0x10]
dec rdi
jne 0x1400af221
mov rcx, r14
call fcn.1400f97e8
mov r15, qword [rsp + 0xb8]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
mov rcx, rbp
test rbp, rbp
jne 0x1400af25e
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rbx, qword [rsp + 0xe0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test rbp, rbp
je 0x1400af28c
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [rsp + 0x198], 0
je 0x1400af308
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.1400ed3d0
lea r8, [rsp + 0xe0]
mov rcx, rbx
movaps xmm0, xmmword [rsp + 0xd0]
movsd xmm1, qword [0x14018da88]
movdqa xmmword [rsp + 0xe0], xmm0
call fcn.14003e4f0
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.1400ed3d0
lea r8, [rsp + 0xe0]
mov rcx, r15
movaps xmm0, xmmword [rsp + 0xd0]
movsd xmm1, qword [0x14018da88]
movdqa xmmword [rsp + 0xe0], xmm0
call fcn.14003e4f0
cmp dword [rsp + 0xa0], 0
je 0x1400af3d5
lea rdi, [0x140208860]
lea rdx, str.EnableBWGamma
lea rcx, str.Viewing
mov r9, rdi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x1400af3d5
lea r9, [rsp + 0xe0]
lea r8, [0x14018c958]
lea rdx, str.BWGamma
lea rcx, str.Viewing
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 6
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0xe0]
call fcn.1400eeeb0
movaps xmm6, xmm0
movsd xmm0, qword [0x140186dd0]
comisd xmm0, xmm6
ja 0x1400af39e
movsd xmm0, qword [0x140186e10]
comisd xmm6, xmm0
jbe 0x1400af3a1
movaps xmm6, xmm0
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.1400ed3d0
lea r8, [rsp + 0xc0]
mov rcx, rbx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmm6
movdqa xmmword [rsp + 0xc0], xmm0
call fcn.14003e4f0
movaps xmm6, xmmword [rsp + 0x120]
mov rax, rbx
jmp 0x1400af49b
xor edx, edx
xor ecx, ecx
call fcn.1400fff14
mov edx, 0x30300
mov ecx, 0x20300
mov ebx, eax
call fcn.1400fff14
mov edx, dword [rdi + 8]
movzx ecx, word [rdi + 0xe]
mov rax, qword [rsp + 0x78]
mov r14, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], edx
xor eax, eax
mov r9d, esi
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 4]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x28], edx
mov r8d, r13d
mov rdx, r12
mov dword [rsp + 0x20], eax
call fcn.1400acdf0
mov edx, 0xfffff
mov ecx, 0x8001f
call fcn.1400fff14
mov edx, 0xffff
mov ecx, ebx
call fcn.1400fff14
jmp 0x1400af1e2
test rbp, rbp
je 0x1400af490
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1400af499
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
mov rdi, qword [rsp + 0x188]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400f9a80
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret