Function at 0x17a6a40
Capabilities:
Create directory
Query environment variable

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
cmp qword [0x024a7da0], 0
je 0x17a6a65
mov r8d, dword [0x024a7dc0]
test r8d, r8d
je 0x17a6a75
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov dword [0x024a7dc0], 1
call sub.msvcrt.dll__getpid
lea rcx, str.HPCTIXDIR
cdqe
mov qword [0x024a7db8], rax
call sub.msvcrt.dll_getenv
lea rcx, str.HPCTIXFILE
mov rbx, rax
call sub.msvcrt.dll_getenv
mov rcx, rax
test rax, rax
je 0x17a6fcc
call sub.msvcrt.dll__strdup
mov qword [0x024a7d98], rax
mov rcx, rax
lea rdx, [0x02465333]
call fcn.01795070
mov qword [0x024a7db0], rax
mov rcx, rax
test rax, rax
je 0x17a6a65
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
jne 0x17a6b05
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6aee
mov ecx, 0x54
call fcn.017a69e0
mov ecx, 0x69
call fcn.017a69e0
mov ecx, 0x78
call fcn.017a69e0
cmp dword [0x024a7da8], 0x20
jne 0x17a6b43
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6b2c
mov ecx, 0x5b
call fcn.017a69e0
mov eax, dword [0x024a7da8]
cmp eax, 0x20
jne 0x17a6b6f
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6b58
lea rsi, [rsp + 0x2f]
nop dword [rax]
cmp eax, 0x5d
je 0x17a6f30
lea rdx, str.Hpc.readTix
mov ecx, 0x28
call fcn.0177b3b0
mov ecx, 0x54
mov byte [rax + 0x18], 1
mov r12, rax
call fcn.017a69e0
mov ecx, 0x69
call fcn.017a69e0
mov ecx, 0x78
call fcn.017a69e0
mov ecx, 0x4d
call fcn.017a69e0
mov ecx, 0x6f
call fcn.017a69e0
mov ecx, 0x64
call fcn.017a69e0
mov ecx, 0x75
call fcn.017a69e0
mov ecx, 0x6c
call fcn.017a69e0
mov ecx, 0x65
call fcn.017a69e0
cmp dword [0x024a7da8], 0x20
jne 0x17a6c17
nop dword [rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6c00
mov ecx, 0x22
mov ebx, 1
xor edi, edi
mov r13d, 1
call fcn.017a69e0
mov eax, dword [0x024a7da8]
cmp eax, 0x22
je 0x17a6c68
nop dword [rax]
mov byte [rsi + rbx], al
mov rcx, qword [0x024a7db0]
movsxd rdi, ebx
add rbx, 1
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x22
jne 0x17a6c40
lea r13d, [rdi + 1]
movsxd r13, r13d
mov ecx, 0x22
mov byte [rsp + rdi + 0x30], 0
call fcn.017a69e0
lea rdx, str.Hpc.expectString
mov rcx, r13
call fcn.0177b3b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov qword [r12], rax
mov eax, dword [0x024a7da8]
cmp eax, 0x20
jne 0x17a6cbf
nop word [rax + rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6ca8
lea edx, [rax - 0x30]
cmp edx, 9
ja 0x17a6fa4
xor ebx, ebx
nop dword [rax]
mov rcx, qword [0x024a7db0]
movsxd rdx, edx
lea rax, [rbx + rbx*4]
lea rbx, [rdx + rax*2]
call sub.msvcrt.dll_getc
lea edx, [rax - 0x30]
mov dword [0x024a7da8], eax
cmp edx, 9
jbe 0x17a6cd0
mov dword [r12 + 0xc], ebx
cmp eax, 0x20
jne 0x17a6fad
nop dword [rax + rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6d08
lea eax, [rax - 0x30]
cmp eax, 9
ja 0x17a6fad
xor edi, edi
nop dword [rax]
mov rcx, qword [0x024a7db0]
lea rdx, [rdi + rdi*4]
cdqe
lea rdi, [rax + rdx*2]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
mov ebx, eax
lea eax, [rax - 0x30]
cmp eax, 9
jbe 0x17a6d30
mov ecx, edi
mov edx, 8
mov dword [r12 + 8], edi
call fcn.017bb250
mov qword [r12 + 0x10], rax
cmp ebx, 0x20
jne 0x17a6d8f
nop dword [rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6d78
mov ecx, 0x5b
call fcn.017a69e0
cmp dword [0x024a7da8], 0x20
jne 0x17a6dbf
nop word [rax + rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6da8
mov ecx, dword [r12 + 8]
xor ebx, ebx
test ecx, ecx
je 0x17a6e4a
nop
mov rdx, qword [r12 + 0x10]
mov eax, ebx
xor ebp, ebp
lea rdi, [rdx + rax*8]
mov eax, dword [0x024a7da8]
lea edx, [rax - 0x30]
cmp edx, 9
ja 0x17a6e16
nop dword [rax + rax]
mov rcx, qword [0x024a7db0]
movsxd rdx, edx
lea rax, [rbp + rbp*4]
lea rbp, [rdx + rax*2]
call sub.msvcrt.dll_getc
lea edx, [rax - 0x30]
mov dword [0x024a7da8], eax
cmp edx, 9
jbe 0x17a6df0
mov qword [rdi], rbp
cmp eax, 0x20
jne 0x17a6e37
nop
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6e20
cmp eax, 0x2c
je 0x17a6f58
add ebx, 1
cmp ebx, dword [r12 + 8]
jb 0x17a6dd0
mov ecx, 0x5d
call fcn.017a69e0
cmp dword [0x024a7da8], 0x20
jne 0x17a6e77
nop dword [rax]
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6e60
mov rdx, qword [r12]
mov rcx, qword [0x024a7da0]
call fcn.017759b0
mov r9, rax
test rax, rax
je 0x17a6f8c
mov eax, dword [rax + 0xc]
cmp dword [r12 + 0xc], eax
jne 0x17a707b
mov edx, dword [r12 + 8]
xor eax, eax
test edx, edx
je 0x17a6ecd
nop dword [rax]
mov rcx, qword [r12 + 0x10]
mov edx, eax
add eax, 1
mov r8, qword [rcx + rdx*8]
mov rcx, qword [r9 + 0x10]
mov qword [rcx + rdx*8], r8
cmp eax, dword [r12 + 8]
jb 0x17a6eb0
mov rcx, qword [r12 + 0x10]
call fcn.0177b4f0
mov rcx, qword [r12]
call fcn.0177b4f0
mov rcx, r12
call fcn.0177b4f0
mov eax, dword [0x024a7da8]
cmp eax, 0x2c
jne 0x17a6b78
mov ecx, 0x2c
call fcn.017a69e0
mov eax, dword [0x024a7da8]
cmp eax, 0x20
jne 0x17a6b78
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6f10
cmp eax, 0x5d
jne 0x17a6b81
mov ecx, 0x5d
call fcn.017a69e0
mov rcx, qword [0x024a7db0]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sub.msvcrt.dll_fclose
mov ecx, 0x2c
call fcn.017a69e0
cmp dword [0x024a7da8], 0x20
jne 0x17a6e40
nop
mov rcx, qword [0x024a7db0]
call sub.msvcrt.dll_getc
mov dword [0x024a7da8], eax
cmp eax, 0x20
je 0x17a6f70
jmp 0x17a6e40
mov rdx, qword [r12]
mov rcx, qword [0x024a7da0]
mov r8, r12
call fcn.01776050
jmp 0x17a6ee8
mov dword [r12 + 0xc], 0
mov dword [r12 + 8], 0
mov edx, 8
xor ecx, ecx
call fcn.017bb250
mov qword [r12 + 0x10], rax
jmp 0x17a6d8f
test rbx, rbx
je 0x17a7037
mov rcx, rbx
call sub.msvcrt.dll__mkdir
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdi, qword [0x02472350]
mov rsi, rax
mov rcx, qword [rdi]
call sub.msvcrt.dll_strlen
lea rdx, str.Hpc.startupHpc
lea rcx, [rsi + rax + 0xc]
call fcn.0177b3b0
mov r8, rbx
lea rdx, str._s__s__d.tix
mov rcx, rax
mov qword [0x024a7d98], rax
mov rax, qword [0x024a7db8]
mov dword [rsp + 0x20], eax
mov r9, qword [rdi]
call fcn.017a68d0
mov rcx, qword [0x024a7d98]
jmp 0x17a6ac3
mov rbx, qword [0x02472350]
mov rcx, qword [rbx]
call sub.msvcrt.dll_strlen
lea rdx, str.Hpc.startupHpc
lea rcx, [rax + 6]
call fcn.0177b3b0
mov r8, qword [rbx]
lea rdx, str._s.tix
mov rcx, rax
mov qword [0x024a7d98], rax
call fcn.017a68d0
mov rcx, qword [0x024a7d98]
jmp 0x17a6ac3
mov rbx, qword [r12]
mov ecx, 2
call qword [fcn.017bb370]
lea rdx, str.in_module__s_n
mov rcx, rax
mov r8, rbx
call fcn.017a6940
lea rcx, str.module_mismatch_with_.tix_.mix_file_hash_number
call fcn.017a6970
nop
nop dword [rax]
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r13, rcx
mov rcx, qword [0x024a7da0]
mov esi, edx
mov edi, r8d
mov r12, r9
test rcx, rcx
je 0x17a71d0
mov rdx, r13
call fcn.017759b0
mov rbx, rax
test rax, rax
je 0x17a7160
cmp dword [rax + 8], esi
jne 0x17a71e4
cmp dword [rax + 0xc], edi
jne 0x17a71f0
mov ecx, esi
xor eax, eax
shl rcx, 3
test esi, esi
je 0x17a711d
nop dword [rax]
mov rdx, qword [rbx + 0x10]
mov rdx, qword [rdx + rax]
mov qword [r12 + rax], rdx
add rax, 8
cmp rcx, rax
jne 0x17a7108
cmp byte [rbx + 0x18], 0
jne 0x17a7138
mov byte [rbx + 0x18], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
mov rcx, qword [rbx]
call fcn.0177b4f0
mov rcx, qword [rbx + 0x10]
call fcn.0177b4f0
mov byte [rbx + 0x18], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
lea rdx, str.Hpc.hs_hpc_module
mov ecx, 0x28
call fcn.0177b3b0
mov qword [rax], r13
mov rbx, rax
mov dword [rax + 8], esi
mov dword [rax + 0xc], edi
mov qword [rax + 0x10], r12
test esi, esi
je 0x17a7196
mov r8d, esi
xor edx, edx
mov rcx, r12
shl r8, 3
call sub.msvcrt.dll_memset
mov rax, qword [0x024a7d90]
mov rcx, qword [0x024a7da0]
mov r8, rbx
mov rdx, r13
mov byte [rbx + 0x18], 0
mov qword [rbx + 0x20], rax
mov qword [0x024a7d90], rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop r12
pop r13
jmp fcn.01776050
call fcn.017768e0
mov qword [0x024a7da0], rax
mov rcx, rax
jmp 0x17a70d6
lea rcx, str.inconsistent_number_of_tick_boxes
call fcn.017a6970
mov rbx, qword [rax]
mov ecx, 2
call qword [fcn.017bb370]
lea rdx, str.in_module__s_n
mov rcx, rax
mov r8, rbx
call fcn.017a6940
lea rcx, str.module_mismatch_with_.tix_.mix_file_hash_number
call fcn.017a6970
nop
nop dword [rax]