Function at 0x140086c80
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd00]
sub rsp, 0xe00
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rbp + 0xcf0], rax
xor r12d, r12d
mov r15d, r9d
mov dword [rbp - 0x70], r9d
mov edi, r8d
mov dword [rbp - 0x74], r8d
mov rsi, rdx
mov dword [rbp - 0x78], r12d
mov qword [rbp - 0x60], rdx
mov r13, rcx
test rcx, rcx
jne 0x140086cd8
lea eax, [rcx + 1]
jmp 0x1400874cf
mov rcx, qword [0x1401fbf88]
mov qword [rsp + 0xe58], rbx
test rcx, rcx
je 0x140086cf9
call qword [sym.imp.GDI32.dll_DeleteDC]
mov qword [0x1401fbf88], r12
lea rcx, [rbp - 0x50]
xor edx, edx
mov r8d, 0x920
call fcn.1400f9ab0
mov ebx, dword [rbp + 0xd78]
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x88], r13
mov dword [rbp + 0x80], r12d
lea rcx, [0x140208860]
test ebx, ebx
je 0x140086d53
mov r9, rcx
lea rdx, [0x14018a2c8]
lea rcx, [0x14018a2f0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rcx, [0x140208860]
jmp 0x140086d59
mov eax, dword [rbp + 0xd68]
test eax, eax
je 0x140086d93
mov rcx, qword [rbp + 0xd70]
test rcx, rcx
je 0x140086dde
lea rdx, [rbp + 0x2b0]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x140086d80
jmp 0x140086dea
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x2b0]
lea r8, [0x140181e34]
lea rcx, [0x14018a2f0]
lea rdx, str.Printer
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [rbp + 0x2b0], r12w
je 0x140086dde
lea rdx, [rbp + 0x2b0]
xor ecx, ecx
call fcn.140086b10
test eax, eax
jne 0x140086dea
lea rcx, [rbp + 0x2b0]
call fcn.140084610
mov r14d, 1
test edi, edi
je 0x140086dff
mov dword [rbp + 0x80], r14d
mov dword [rbp + 0xc], r14d
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x2b0]
call fcn.140084c30
mov qword [rbp + 0x90], rax
test rax, rax
jne 0x140086e5e
test ebx, ebx
je 0x140086e4b
mov rcx, qword [0x1401fbba0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4e8c
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call fcn.1400f11b0
mov eax, r14d
jmp 0x1400874c7
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_MessageBeep]
mov eax, r14d
jmp 0x1400874c7
mov rcx, rax
call fcn.140085ce0
lea r9, [0x140208860]
lea rdx, [0x14018a300]
lea rcx, [0x14018a2f0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rbp - 0x4c], eax
test eax, eax
je 0x140086ed2
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x7c]
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.1400eb570
mov rax, qword [rbp + 0x90]
or dword [rax + 0x48], r14d
mov eax, dword [rbp - 0x7c]
cmp dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x90]
jl 0x140086ec9
mov word [rax + 0x4c], r14w
jmp 0x140086ed2
mov ecx, 2
mov word [rax + 0x4c], cx
mov r8d, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x2b0]
call fcn.140084b70
mov qword [0x1401fbf88], rax
test rax, rax
jne 0x140087050
lea rcx, [rbp + 0x2b0]
call fcn.140084610
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140086f20
call fcn.1400f97e8
mov qword [rbp + 0x90], r12
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x2b0]
mov dword [rbp + 0x98], r12d
call fcn.140084c30
mov rcx, rax
mov qword [rbp + 0x90], rax
call fcn.140085ce0
mov r8d, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x2b0]
call fcn.140084b70
mov qword [0x1401fbf88], rax
test rax, rax
jne 0x140087050
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140086f8b
call fcn.1400f97e8
mov qword [rbp + 0x90], r12
xor edx, edx
lea rax, [rbp - 0x6c]
lea r9, [rbp - 0x68]
lea ecx, [rdx + 0x46]
lea r8d, [rdx + 4]
mov dword [rbp + 0x98], r12d
mov qword [rbp - 0x68], r12
mov qword [rsp + 0x20], rax
call fcn.1400869d0
test eax, eax
jle 0x1400871d8
mov r12, qword [rbp - 0x68]
test r12, r12
je 0x140087000
xor ecx, ecx
movsxd r15, eax
mov esi, ecx
mov edi, ecx
test eax, eax
jle 0x140087000
mov rbx, r12
mov rcx, qword [rbx]
test rcx, rcx
je 0x140086ff2
lea rdx, [rbp + 0x98]
call fcn.140084c30
mov r8, rax
test rax, rax
jne 0x1400870d3
inc rdi
inc esi
add rbx, 0x18
cmp rdi, r15
jl 0x140086fd2
xor r12d, r12d
mov r8d, r12d
mov qword [rbp + 0x90], r8
test r8, r8
je 0x1400871d8
mov rcx, r8
call fcn.140085ce0
mov r8d, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x2b0]
call fcn.140084b70
mov ebx, dword [rbp + 0xd78]
mov edi, dword [rbp - 0x74]
mov rsi, qword [rbp - 0x60]
mov r15d, dword [rbp - 0x70]
mov qword [0x1401fbf88], rax
lea rcx, [rbp - 0x50]
call fcn.140086400
mov rdx, qword [0x1401fbf88]
lea rcx, [rbp - 0x50]
call fcn.1400867f0
test ebx, ebx
je 0x140087147
mov r8, qword [0x1401fbb00]
mov rcx, qword [0x1401fbba0]
lea rax, [rbp - 0x50]
lea r9, [0x140087500]
mov edx, 0x408
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x88], r13
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov rcx, qword [0x1401fbf88]
cmp rax, r14
je 0x14008710c
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [rbp + 0x90]
mov qword [0x1401fbf88], r12
test rcx, rcx
je 0x1400870cb
call fcn.1400f97e8
or eax, 0xffffffff
jmp 0x1400874c7
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rdx, qword [r12 + rcx*8]
lea rcx, [rbp + 0x2b0]
nop word [rax + rax]
movzx eax, word [rdx]
lea rcx, [rcx + 2]
lea rdx, [rdx + 2]
mov word [rcx - 2], ax
test ax, ax
jne 0x1400870f0
xor r12d, r12d
jmp 0x140087006
call qword [sym.imp.GDI32.dll_DeleteDC]
mov r8d, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x2b0]
mov qword [0x1401fbf88], r12
call fcn.140084b70
mov rcx, rax
mov qword [0x1401fbf88], rax
test rax, rax
jne 0x140087153
jmp 0x1400871c7
mov rcx, qword [0x1401fbf88]
test rcx, rcx
je 0x1400871c7
xor eax, eax
cmp dword [rbp + 0x9c], 0
lea rdx, [0x140207e00]
mov qword [0x140207e00], rax
mov qword [0x140207e08], rax
mov qword [0x140207e10], rax
mov qword [0x140207e18], rax
mov qword [0x140207e20], rax
lea rax, [0x14018a318]
cmove rax, r12
mov dword [0x140207e00], 0x28
mov qword [0x140207e08], rsi
mov qword [0x140207e10], rax
call qword [sym.imp.GDI32.dll_StartDocW]
test eax, eax
jg 0x1400871e0
mov rcx, qword [0x1401fbf88]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov qword [0x1401fbf88], r12
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x1400871d8
call fcn.1400f97e8
mov eax, r14d
jmp 0x1400874c7
mov rbx, qword [rbp + 0xd60]
test rbx, rbx
je 0x140087448
xor esi, esi
or rcx, 0xffffffffffffffff
mov r8d, esi
mov r15d, esi
mov eax, esi
nop
inc rcx
cmp word [rbx + rcx*2], ax
jne 0x140087200
movsxd rdx, ecx
test ecx, ecx
jle 0x140087222
cmp word [rbx + rax*2], 0x7c
jne 0x14008721a
inc r15d
inc rax
cmp rax, rdx
jl 0x140087210
mov r13d, esi
mov dword [rbp - 0x7c], esi
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rbx + rax*2], si
jne 0x140087230
test eax, eax
jle 0x14008748e
mov rdi, rsi
mov r12, rbx
nop word [rax + rax]
movzx eax, word [r12]
cmp ax, 0x7c
je 0x14008726b
mov word [rbp + rdi*2 + 0x8d0], ax
inc rdi
jmp 0x14008741d
add rdi, rdi
cmp rdi, 0x208
jae 0x1400874f1
inc r8d
mov word [rbp + rdi + 0x8d0], si
lea rdx, [0x14018a328]
lea rcx, [rbp + 0xae0]
mov r9d, r15d
mov rdi, rsi
mov dword [rbp - 0x80], r8d
call fcn.1400f98c8
mov rcx, qword [0x1401fbb48]
lea rdx, [rbp + 0xae0]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, 0x7f02
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], rsi
lea rax, [rbp - 0x6c]
lea r9, [rbp - 0x68]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x58]
lea rcx, [rbp + 0x8d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1400a17b0
mov edx, 0x7f00
xor ecx, ecx
mov rsi, rax
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
test rsi, rsi
je 0x140087417
cmp dword [rbp - 0x4c], 0
je 0x1400873d8
mov rax, qword [rbp + 0x90]
xor ecx, ecx
lea r8, [rbp - 0x74]
movsx r13d, word [rax + 0x4c]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea rdx, [rbp - 0x70]
mov rcx, rsi
xor r9d, r9d
call fcn.1400eb570
mov rax, qword [rbp + 0x90]
or dword [rax + 0x48], r14d
mov eax, dword [rbp - 0x70]
cmp dword [rbp - 0x74], eax
mov rax, qword [rbp + 0x90]
jl 0x14008739e
mov word [rax + 0x4c], r14w
jmp 0x1400873a7
mov ecx, 2
mov word [rax + 0x4c], cx
mov rdx, qword [rbp + 0x90]
movsx eax, word [rdx + 0x4c]
cmp eax, r13d
je 0x1400873d4
mov rcx, qword [0x1401fbf88]
call qword [sym.imp.GDI32.dll_ResetDCW]
mov rdx, qword [0x1401fbf88]
lea rcx, [rbp - 0x50]
call fcn.1400867f0
mov r13d, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x30], r15d
lea r8, [rbp - 0x50]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x6c]
lea rdx, [rbp + 0x8d0]
or r9d, 0xffffffff
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140089310
mov rcx, rsi
mov dword [rbp - 0x78], eax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov r8d, dword [rbp - 0x80]
xor esi, esi
inc r13d
add r12, 2
or rcx, 0xffffffffffffffff
mov dword [rbp - 0x7c], r13d
nop dword [rax]
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x140087430
cmp r13d, ecx
jl 0x140087250
mov ebx, dword [rbp - 0x78]
jmp 0x140087490
mov rcx, qword [0x1401fbab8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, dword [0x1401fbc74]
mov r9d, edi
inc r8d
mov dword [rsp + 0x30], eax
mov rdx, rsi
mov dword [rsp + 0x28], r8d
lea r8, [rbp - 0x50]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call fcn.140089310
mov ebx, eax
jmp 0x140087493
mov ebx, esi
xor r12d, r12d
mov rcx, qword [0x1401fbf88]
call qword [sym.imp.GDI32.dll_EndDoc]
mov rcx, qword [0x1401fbf88]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [rbp + 0x90]
mov qword [0x1401fbf88], r12
test rcx, rcx
je 0x1400874c5
call fcn.1400f97e8
mov eax, ebx
mov rbx, qword [rsp + 0xe58]
mov rcx, qword [rbp + 0xcf0]
xor rcx, rsp
call fcn.1400f9a80
add rsp, 0xe00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400f8f44
int3