Function at 0x180022c80
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xd0
mov ebx, dword [rbp + 0x87]
mov rdi, rdx
mov edx, dword [rbp + 0x87]
mov r13, rcx
lea eax, [rdx + 0xb4]
mov dword [rbp - 0xd], eax
cmp edx, eax
jae case.0x180022cfb.9
mov r12d, dword [rbp - 0x21]
mov dword [rbp - 0x1d], ebx
xor esi, esi
lea eax, [rdx - 1]
lea r9, [0x180000000]
cmp eax, 0xcc
ja case.0x180022cfb.10
movzx eax, byte [r9 + rax + 0x2370c]
mov ecx, dword [r9 + rax*4 + 0x236e4]
add rcx, r9
jmp rcx
mov eax, dword [rdi + 8]
lea rdx, str.Tidak_ada_alat_yang_tersedia.
mov r9d, dword [rdi + 4]
mov ecx, 1
mov r8d, dword [rdi]
mov dword [rsp + 0x20], eax
call fcn.180035ef0
lea rdx, str.e_Upf_U_g_U
mov ecx, 1
call fcn.180035ef0
cmp dword [rdi + 4], 0
mov r15d, esi
jle 0x180022d83
lea r14, [rdi + 0xc]
nop word [rax + rax]
test rsi, rsi
je 0x180022d56
lea rdx, [0x1800533a4]
mov ecx, 1
call fcn.180035ef0
movsx r9d, byte [rsi + rdi + 0x8c]
lea rdx, str.__d__d
mov r8d, dword [r14]
mov ecx, 1
call fcn.180035ef0
inc r15d
inc rsi
add r14, 4
cmp r15d, dword [rdi + 4]
jl 0x180022d40
mov edx, dword [rbp + 0x87]
mov r8, qword [rbp + 0x57]
add edx, 0x14
mov dword [rbp + 0x87], edx
cmp edx, dword [rbp - 0xd]
jb 0x180022cd0
mov eax, ebx
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.rcPaint_top
mov ecx, 1
call fcn.180035ef0
cmp dword [rdi + 8], 0
mov r15d, esi
jle case.0x180022cfb.3
lea r14, [rdi + 0x4c]
nop word [rax + rax]
test rsi, rsi
je 0x180022df6
lea rdx, [0x1800533a4]
mov ecx, 1
call fcn.180035ef0
movsx r9d, byte [rdi + rsi + 0x9c]
lea rdx, str.__d__d
mov r8d, dword [r14]
mov ecx, 1
call fcn.180035ef0
inc r15d
inc rsi
add r14, 4
cmp r15d, dword [rdi + 8]
jl 0x180022de0
lea rdx, [0x1800533bc]
mov ecx, 1
call fcn.180035ef0
jmp 0x180022d83
mov qword [rsp + 0x28], rsi
mov r9d, SHSetFolderPathA
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
mov rcx, rdi
call fcn.18000d9e0
jmp 0x180022d83
movsxd r8, dword [r13 + 8]
lea rsi, [rdi + 0x71b8]
imul rcx, r8, 0x118
add rsi, rcx
cmp byte [rsi], 0
jne 0x180022e8c
lea rdx, str._Z20convert_long_sat_rtzd
mov ecx, 1
call fcn.180035db0
mov edx, dword [rbp + 0x87]
mov qword [rdi + 0x47fd0], rsi
jmp 0x180022d89
mov eax, dword [r8]
lea r9, [rbp - 0x39]
mov rsi, qword [rbp + 0x97]
lea rcx, [rbp - 0x61]
mov r15, qword [rbp + 0x8f]
mov r8d, 0x18
mov dword [rbp - 0x61], eax
mov rdx, rdi
mov rax, qword [rbp + 0x77]
mov eax, dword [rax]
add eax, dword [rsi]
mov dword [rbp - 0x41], eax
mov rax, qword [rbp + 0x6f]
mov eax, dword [rax]
add eax, dword [r15]
mov dword [rbp - 0x39], eax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
call fcn.18003b580
mov r14, qword [rbp + 0x67]
test eax, eax
je 0x180023169
cmp dword [r14], 3
jle 0x180023169
mov ebx, dword [rbp - 0x31]
mov esi, 0xde
mov r12d, dword [rbp - 0x29]
nop dword [rax]
nop dword [rax + rax]
mov eax, esi
sub eax, 0xde
je 0x180023138
sub eax, 2
je 0x18002305b
cmp eax, 2
jne 0x180023147
mov rax, qword [rbp + 0x7f]
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x29]
mov dword [rbp - 0x59], r12d
mov rdx, rdi
mov rcx, r13
mov eax, dword [rax]
mov dword [rbp - 0x41], eax
mov rax, qword [rbp + 0x5f]
mov eax, dword [rax]
mov dword [rbp - 0x31], eax
mov rax, qword [rbp + 0x57]
mov eax, dword [rax]
inc eax
mov dword [rbp - 0x29], eax
mov eax, dword [r14]
dec eax
mov dword [rbp - 0x49], eax
mov eax, dword [r15]
mov dword [rbp - 0x39], eax
mov rax, qword [rbp + 0x97]
mov eax, dword [rax]
mov dword [rbp - 0x61], eax
mov rax, qword [rbp + 0x6f]
mov eax, dword [rax]
mov dword [rbp - 0x51], eax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x41]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x59]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
call fcn.180022c80
mov rcx, qword [rbp + 0x7f]
mov dword [rbp - 0x51], r12d
mov eax, dword [rcx]
mov dword [rbp - 0x49], eax
mov rax, qword [rbp + 0x5f]
mov eax, dword [rax]
mov dword [rbp - 0x39], eax
mov rax, qword [rbp + 0x57]
mov eax, dword [rax]
inc eax
mov dword [rbp - 0x41], eax
mov eax, dword [r14]
dec eax
mov dword [rbp - 0x61], eax
mov rax, qword [rbp + 0x97]
lea r9, [rbp - 0x39]
lea r8, [rbp - 0x41]
mov dword [rbp - 0x31], ebx
mov rdx, rdi
mov rcx, r13
mov eax, dword [rax]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp + 0x6f]
mov eax, dword [rax]
mov dword [rbp - 0x59], eax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x31]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x49]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x59]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
call fcn.180022c80
jmp 0x180023147
mov ecx, dword [r14]
lea r9, [rbp - 0x39]
mov rax, qword [rbp + 0x77]
lea r8, [rbp - 0x41]
mov r12d, 1
shl r12d, cl
sar r12d, 1
mov edx, dword [rax]
add r12d, edx
mov rax, qword [rbp + 0x7f]
mov dword [rbp - 0x51], edx
mov rdx, rdi
mov eax, dword [rax]
mov dword [rbp - 0x49], eax
mov rax, qword [rbp + 0x5f]
mov eax, dword [rax]
mov dword [rbp - 0x39], eax
mov rax, qword [rbp + 0x57]
mov eax, dword [rax]
inc eax
mov dword [rbp - 0x41], eax
lea eax, [rcx - 1]
mov dword [rbp - 0x61], eax
mov rcx, r13
mov eax, dword [r15]
mov dword [rbp - 0x31], eax
mov rax, qword [rbp + 0x97]
mov eax, dword [rax]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp + 0x6f]
mov eax, dword [rax]
mov dword [rbp - 0x59], eax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x31]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x49]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x59]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
call fcn.180022c80
mov rcx, qword [rbp + 0x7f]
mov eax, dword [rcx]
mov dword [rbp - 0x49], eax
mov rax, qword [rbp + 0x5f]
mov eax, dword [rax]
mov dword [rbp - 0x39], eax
mov rax, qword [rbp + 0x57]
mov eax, dword [rax]
inc eax
mov dword [rbp - 0x41], eax
mov eax, dword [r14]
dec eax
mov dword [rbp - 0x61], eax
mov rax, qword [rbp + 0x77]
mov eax, dword [rax]
mov dword [rbp - 0x51], eax
jmp 0x180022fed
mov ecx, dword [r14]
mov ebx, 1
shl ebx, cl
sar ebx, 1
add ebx, dword [r15]
add esi, 2
cmp esi, 0xe4
jb 0x180022f10
mov dword [rbp - 0x29], r12d
mov r12d, dword [rbp - 0x21]
mov dword [rbp - 0x31], ebx
mov ebx, dword [rbp - 0x1d]
jmp 0x180022d83
mov ecx, dword [r14]
lea r9, [rbp - 0x51]
mov rax, qword [rbp + 0x7f]
lea r8, [rbp - 0x59]
dec ecx
mov edx, 1
shl edx, cl
lea rcx, [rbp - 0x61]
mov dword [rbp - 0x61], edx
mov eax, dword [rax]
mov dword [rbp - 0x59], eax
mov rax, qword [rbp + 0x77]
mov eax, dword [rax]
add eax, dword [rsi]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x49], eax
mov rax, qword [rbp + 0x6f]
mov eax, dword [rax]
add eax, dword [r15]
cdq
sub eax, edx
mov rdx, rdi
sar eax, 1
mov dword [rbp - 0x51], eax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0xf7
call fcn.18003eec0
jmp 0x180022d83
mov ebx, esi
mov dword [rbp - 0x1d], ebx
jmp case.0x180022cfb.10
mov rax, qword [rdi + 0x47fd0]
movsx rcx, byte [rax + 2]
imul rax, rcx, 0x374
lea rcx, [rdi + 0x3a74]
add rcx, rax
mov eax, dword [rdi + 0x493e4]
mov qword [rdi + 0x47fc8], rcx
cmp dword [r13 + 0x1c], eax
je case.0x180022cfb.10
mov r14d, 0xe0
nop word [rax + rax]
lea eax, [r14 - 0xd2]
cmp eax, 0xe
ja case.default.0x18002323b
mov ecx, dword [r9 + rax*4 + 0x237dc]
add rcx, r9
jmp rcx
mov rax, qword [rdi + 0x47fc8]
mov ecx, dword [rax + 0x34c]
mov rax, qword [rdi + 0x493f8]
shl ecx, 4
cmp dword [rax + 0x78], ecx
jne 0x180023260
cmp qword [rax + 0x70], 0
jne 0x180023287
mov dword [rax + 0x78], ecx
mov rax, qword [rdi + 0x493f8]
movsxd rcx, dword [rax + 0x78]
lea rcx, [rcx + rcx*2]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [rdi + 0x493f8]
mov qword [rcx + 0x70], rax
mov eax, dword [rbp - 0x15]
lea r9, [rbp - 0x59]
mov dword [rbp - 0x49], eax
lea r8, [rbp - 0x61]
mov eax, dword [rbp - 0x11]
xor edx, edx
add eax, eax
mov dword [rbp - 0x61], esi
mov dword [rbp - 0x59], eax
mov ecx, 0x102
lea rax, [rdi + 0x49738]
mov dword [rbp - 0x51], r12d
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call fcn.18000dc60
jmp 0x1800233d5
mov qword [rsp + 0x28], rsi
mov r9d, 0x83
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rdi
xor ecx, ecx
call fcn.180034860
jmp 0x1800233d5
mov rcx, qword [rbp - 9]
mov eax, dword [rcx + 0x1a8]
mov dword [rbp - 0x11], eax
mov eax, dword [rcx + 0x1ac]
mov ecx, dword [rcx + 0x1a0]
mov dword [rbp - 0x15], eax
test ecx, ecx
je 0x180023357
sub ecx, 1
je 0x180023329
sub ecx, 1
je 0x18002334f
cmp ecx, 1
je 0x180023347
mov r12d, 1
mov dword [rbp - 0x21], r12d
mov edx, 0x91
mov dword [rbp + 0x87], edx
lea r14d, [rdx + 0x48]
jmp 0x1800233e2
mov r12d, 3
jmp 0x18002332f
mov r12d, 2
jmp 0x18002332f
mov edx, 0x91
mov dword [rbp - 0x21], esi
mov r12d, esi
mov dword [rbp + 0x87], edx
lea r14d, [rdx + 0x48]
jmp 0x1800233e2
mov rax, qword [rdi + 0x493f8]
mov esi, 0xa3
mov ecx, dword [rax + 0x54]
mov dword [rbp - 0x41], ecx
mov eax, esi
sub eax, 0xa3
je 0x1800233a4
cmp eax, 3
jne 0x1800233aa
xor edx, edx
lea rcx, [rbp - 0x41]
mov r8d, 0x288
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [rbp - 0x41]
jmp 0x1800233aa
mov dword [0x18005b804], ecx
inc esi
cmp esi, 0xa6
jb 0x180023380
cmp dword [r13 + 0x14], 1
ja 0x1800233d3
xor r9d, r9d
mov dword [rsp + 0x20], 0xb5
mov r8, rdi
mov rdx, r13
xor ecx, ecx
call fcn.18001bde0
xor esi, esi
lea r9, [0x180000000]
mov edx, dword [rbp + 0x87]
dec r14d
cmp r14d, 0xd1
ja 0x180023220
jmp 0x180022d89
movsxd r8, dword [rbp - 0x19]
cmp r8d, 0xffffffff
je 0x1800236d7
imul rcx, r8, 0xf8
lea rax, [rdi + 0x47fe0]
add rax, rcx
mov qword [rdi + 0x493f8], rax
jmp case.default.0x18002323b
movzx eax, byte [rdi + 0x49874]
lea rdx, [rbp - 0x69]
mov qword [rsp + 0x30], rsi
mov r9d, 0x16
mov qword [rsp + 0x28], rsi
xor r8d, r8d
xor ecx, ecx
mov byte [rbp - 0x69], al
mov qword [rsp + 0x20], rsi
call fcn.180044800
test al, al
je 0x1800233d5
movzx eax, byte [rdi + 0x49874]
xor r9d, r9d
mov dword [rsp + 0x38], 0xb5
xor r8d, r8d
mov byte [rbp - 0x69], al
xor edx, edx
lea rax, [rbp - 0x69]
xor ecx, ecx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.180023820
test al, al
jne 0x1800234ca
movzx eax, byte [rdi + 0x49874]
lea rdx, [rbp - 0x69]
mov qword [rsp + 0x28], rsi
xor r9d, r9d
xor r8d, r8d
mov byte [rbp - 0x69], al
mov ecx, 0xaa
mov qword [rsp + 0x20], rsi
call fcn.1800189d0
test al, al
jne 0x1800234ca
cmp byte [rdi + 0x493e8], al
jne 0x1800234ca
mov word [rdi + 0x493e9], 0
jmp 0x1800233d5
mov byte [rdi + 0x493e9], 1
jmp 0x1800233d5
mov eax, dword [r13 + 0x1c]
mov dword [rdi + 0x493e4], eax
jmp case.default.0x18002323b
xor r9d, r9d
mov r8, rdi
xor edx, edx
mov ecx, 0x88
call fcn.18002f970
jmp 0x1800233d5
mov qword [rsp + 0x58], rsi
xor r9d, r9d
mov qword [rsp + 0x50], rsi
xor edx, edx
mov qword [rsp + 0x48], rsi
xor ecx, ecx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
lea r8d, [r9 + 0x36]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.1800286d0
test eax, eax
jne 0x180022da1
mov rax, qword [rdi + 0x47fc8]
mov qword [rbp - 9], rax
jmp 0x1800233d5
mov edx, 0x91
mov dword [rbp + 0x87], edx
jmp 0x1800233e2
mov dword [rbp - 0x19], 0xffffffff
lea rax, [rdi + 0x4803c]
mov edx, esi
mov rcx, rsi
nop
cmp byte [rax - 4], 0
jne 0x18002357b
cmp dword [rax], 0
je 0x180023597
inc edx
inc rcx
add rax, 0xf8
cmp rcx, 0x14
jl 0x180023570
mov r14d, 0xdd
jmp case.default.0x18002323b
mov dword [rbp - 0x19], edx
mov r14d, 0xdd
jmp case.default.0x18002323b
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov edx, 0xa9
mov rcx, r13
call fcn.18003bc20
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov r8, rdi
mov dword [rsp + 0x20], 0xdd
mov rdx, r13
xor ecx, ecx
call fcn.180040c40
xor edx, edx
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, r13
lea ecx, [rdx + 1]
call fcn.18002dfd0
jmp 0x1800233d5
movzx eax, byte [rdi + 0x49874]
lea rdx, [rbp - 0x69]
xor r9d, r9d
mov byte [rbp - 0x69], al
xor r8d, r8d
lea ecx, [r9 + 0x72]
call fcn.18000a930
test al, al
je 0x18002362e
cmp byte [rdi + 0x493e9], 0
je 0x18002362e
mov rax, qword [rdi + 0x493f8]
mov byte [rax + 0x58], 0
jmp 0x1800233d5
cmp byte [r13 + 0x18], 0
mov rax, qword [rdi + 0x493f8]
setne cl
mov byte [rax + 0x58], cl
jmp 0x1800233d5
mov eax, dword [rbp - 0x15]
lea r9, [rbp - 0x59]
mov dword [rbp - 0x49], eax
lea r8, [rbp - 0x61]
mov eax, dword [rbp - 0x11]
xor edx, edx
mov dword [rbp - 0x59], eax
mov ecx, 0x102
mov rax, qword [rdi + 0x493f8]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov dword [rbp - 0x61], esi
mov dword [rbp - 0x51], r12d
call fcn.18000dc60
mov rax, qword [rdi + 0x47fc8]
mov rcx, qword [rdi + 0x493f8]
mov edx, dword [rax + 0x34c]
cmp dword [rcx + 0x68], edx
jne 0x1800236b3
cmp qword [rcx + 0x60], 0
jne 0x1800233d5
mov dword [rcx + 0x68], edx
mov rax, qword [rdi + 0x493f8]
movsxd rcx, dword [rax + 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [rdi + 0x493f8]
mov qword [rcx + 0x60], rax
jmp 0x1800233d5
mov eax, 9
jmp 0x180022da1