Function at 0x140012bc0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1400590c0]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x50], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov ecx, dword [0x14005b160]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x14005a740], ecx
jg 0x140013288
mov rax, qword [0x14005a738]
cmp dword [rax - 0x10], 0
jne 0x140013226
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.140003800
nop
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x1400132e7
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.new_
mov r14, 0xffffffffffffffff
cmp rdx, 0x10000
jae 0x140012c8f
movzx edx, dx
lea rcx, [rsp + 0x40]
call fcn.140007210
jmp 0x140012ca8
mov r8, r14
inc r8
cmp word [rdx + r8*2], 0
jne 0x140012c92
lea rcx, [rsp + 0x40]
call fcn.1400048b0
nop
mov rdi, qword [rsp + 0x50]
mov ecx, dword [rdi - 0x10]
mov rax, qword [rsp + 0x40]
sub ecx, dword [rax - 0x10]
mov esi, r15d
cmovns esi, ecx
cmp esi, dword [rdi - 0x10]
jl 0x140012cda
lea rcx, [rdi - 0x18]
call fcn.140002eb0
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
jmp 0x140012d71
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x140012cf1
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140012d0b
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x1400132f2
mov rax, qword [rcx]
mov r8d, 2
mov edx, esi
call qword [rax]
test rax, rax
je 0x1400132fd
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
test esi, esi
js 0x14001327d
cmp esi, dword [rbx - 0xc]
jg 0x14001327d
mov dword [rbx - 0x10], esi
movsxd rax, esi
lea r8, [rax + rax]
mov word [r8 + rbx], r15w
test r8, r8
je 0x140012d71
test rbx, rbx
jne 0x140012d66
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140012d71
mov rdx, rdi
mov rcx, rbx
call fcn.14003f6b0
mov dword [rsp + 0x30], 2
xor edx, edx
mov r8d, 0xc8
lea rcx, [rsp + 0x70]
call fcn.14003fd50
nop
lea r13, [rbx - 0x18]
mov qword [rsp + 0x60], r13
mov rcx, qword [r13]
test rcx, rcx
je 0x140012dac
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140012dbd
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140013303
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], 6
lea rcx, str.AliWorkbench.ini
mov rsi, r14
nop word [rax + rax]
inc rsi
cmp word [rcx + rsi*2], 0
jne 0x140012df0
movsxd r12, dword [rbx - 0x10]
lea r15d, [r12 + rsi]
test r15d, r15d
js 0x140013272
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, r15d
or eax, ecx
jge 0x140012e2f
mov edx, r15d
lea rcx, [rsp + 0x38]
call fcn.1400045e0
mov rdi, qword [rsp + 0x38]
add r12, r12
je 0x140012e59
test rdi, rdi
jne 0x140012e4b
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140012e59
mov r8, r12
mov rdx, rbx
mov rcx, rdi
call fcn.14003f6b0
movsxd r8, esi
add r8, r8
lea rcx, [r12 + rdi]
je 0x140012e88
test rcx, rcx
jne 0x140012e7c
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140012e88
lea rdx, str.AliWorkbench.ini
call fcn.14003f6b0
cmp r15d, dword [rdi - 0xc]
jg 0x140013272
mov dword [rdi - 0x10], r15d
movsxd rax, r15d
xor r12d, r12d
mov word [rdi + rax*2], r12w
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x64
lea r9, [rsp + 0x70]
lea r8, [0x1400437dc]
lea rdx, str.Version
lea rcx, str.Common
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsp + 0x30], 2
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012ef0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x70]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140012f00
test rax, rax
jne 0x140012f80
mov rdi, qword [0x14005a738]
add rdi, 0xffffffffffffffe8
cmp r13, rdi
je 0x1400131cc
cmp dword [rdi + 0x10], eax
jl 0x140012f66
mov rax, qword [rdi]
cmp qword [r13], rax
jne 0x140012f66
mov rcx, r13
call fcn.140002eb0
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140012f56
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rbx + 0x18]
mov qword [0x14005a738], rax
jmp 0x1400131cc
mov r8d, dword [rbx - 0x10]
mov rdx, qword [rsp + 0x48]
lea rcx, [0x14005a738]
call fcn.1400048b0
jmp 0x1400131cc
mov rcx, qword [r13]
test rcx, rcx
je 0x140012f97
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140012fa8
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14001330e
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x30], 0xa
lea rcx, [rsp + 0x70]
mov rsi, r14
inc rsi
cmp word [rcx + rsi*2], 0
jne 0x140012fd0
movsxd r15, dword [rbx - 0x10]
lea ebx, [rsi + r15]
test ebx, ebx
js 0x14001332f
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, ebx
or eax, ecx
jge 0x14001300c
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.1400045e0
mov rdi, qword [rsp + 0x58]
add r15, r15
je 0x140013038
test rdi, rdi
jne 0x140013028
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140013038
mov r8, r15
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.14003f6b0
movsxd r8, esi
add r8, r8
lea rcx, [r15 + rdi]
je 0x140013065
test rcx, rcx
jne 0x14001305b
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140013065
lea rdx, [rsp + 0x70]
call fcn.14003f6b0
cmp ebx, dword [rdi - 0xc]
jg 0x14001332f
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], r12w
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x140013090
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400130a1
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140013319
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 0x1a
lea rcx, [0x1400437d8]
mov rsi, r14
nop dword [rax + rax]
inc rsi
cmp word [rcx + rsi*2], 0
jne 0x1400130d0
movsxd r13, dword [rdi - 0x10]
lea r15d, [rsi + r13]
test r15d, r15d
js 0x140013324
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, r15d
or eax, ecx
jge 0x14001310f
mov edx, r15d
lea rcx, [rsp + 0x38]
call fcn.1400045e0
mov rbx, qword [rsp + 0x38]
add r13, r13
je 0x140013139
test rbx, rbx
jne 0x14001312b
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140013139
mov r8, r13
mov rdx, rdi
mov rcx, rbx
call fcn.14003f6b0
movsxd r8, esi
add r8, r8
lea rcx, [rbx + r13]
je 0x140013168
test rcx, rcx
jne 0x14001315c
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x140013168
lea rdx, [0x1400437d8]
call fcn.14003f6b0
cmp r15d, dword [rbx - 0xc]
jg 0x140013324
mov dword [rbx - 0x10], r15d
movsxd rax, r15d
xor ecx, ecx
mov word [rbx + rax*2], cx
lea rdx, [rsp + 0x38]
lea rcx, [0x14005a738]
call fcn.140002590
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400131ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
lock xadd dword [rdi - 8], eax
sub eax, 1
jg 0x1400131c7
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + 8]
mov r13, qword [rsp + 0x60]
mov eax, r14d
lock xadd dword [r13 + 0x10], eax
sub eax, 1
jg 0x1400131e8
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013208
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140013226
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x14005a738]
add rcx, 0xffffffffffffffe8
call fcn.140002eb0
add rax, 0x18
mov rcx, qword [rsp + 0x68]
mov qword [rcx], rax
mov rax, rcx
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.14001d590
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80070057
call fcn.140002a90
nop
mov ecx, 0x80070057
call fcn.140002a90
nop
lea rcx, [0x14005a740]
call fcn.14001db7c
cmp dword [0x14005a740], 0xffffffff
jne 0x140012c2b
call fcn.1400033f0
mov rcx, rax
test rax, rax
jne 0x1400132b9
mov ecx, 0x80004005
call fcn.140002a90
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x14005a738], rax
lea rcx, [0x140041fd0]
call fcn.14001d81c
lea rcx, [0x14005a740]
call fcn.14001db10
jmp 0x140012c2b
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
int3
call fcn.140004a70
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80070057
call fcn.140002a90
nop
mov ecx, 0x80070057
call fcn.140002a90
int3