Function at 0x14002cf80
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
and byte [rcx + 0x30], 0x90
cmp dword [rcx + 8], 0xcf
mov r12, qword [rcx]
mov dword [rcx + 0x10], r9d
mov rbx, rcx
mov r13, rdx
mov r14, r8
mov dword [rsp + 0x5c], 0
mov ebp, r9d
mov dword [rcx + 0xc], 0
mov qword [rcx + 0x28], 0
jbe 0x14002df12
lea rdi, [r12 + 8]
mov rcx, r12
xor eax, eax
mov dword [rbx + 0xc], 0xd0
and rdi, 0xfffffffffffffff8
mov qword [r12], 0
mov qword [r12 + 0xc8], 0
sub rcx, rdi
add ecx, 0xd0
shr ecx, 3
rep stosq qword [rdi], rax
mov dword [r12 + 0x80], 0xf
cmp r14, 0xffffffffffffffff
je 0x14002d630
lea rcx, [r14 + 1]
mov qword [r12 + 8], rcx
shl rcx, 4
call sub.msvcrt.dll_malloc
mov qword [r12], rax
test r14, r14
je 0x14002df78
mov eax, 1
lea edx, [rax + rax]
mov rax, rdx
cmp r14, rdx
jae 0x14002d040
lea esi, [rdx - 1]
mov ecx, 0x10
call sub.msvcrt.dll_calloc
mov dword [r12 + 0x84], esi
mov qword [r12 + 0x40], rax
call qword [sym.imp.msvcrt.dll____mb_cur_max_func]
lea rcx, str.LC_ALL
mov dword [r12 + 0x9c], eax
call sub.msvcrt.dll_getenv
mov r15, rax
test rax, rax
je 0x14002d580
cmp byte [rax], 0
je 0x14002d580
mov edx, 0x2e
mov rcx, r15
call sub.msvcrt.dll_strchr
lea rdx, [rax + 1]
test rax, rax
cmovne r15, rdx
mov rsi, qword [sym.imp.msvcrt.dll__stricmp]
lea rdx, str.UTF_8
mov rcx, r15
call rsi
test eax, eax
jne 0x14002d666
or byte [r12 + 0x98], 4
movzx eax, byte [r12 + 0x98]
and eax, 0xfffffff7
cmp qword [r12], 0
mov byte [r12 + 0x98], al
je 0x14002d630
cmp qword [r12 + 0x40], 0
je 0x14002d630
mov r15, qword [rbx + 0x20]
mov edi, ebp
mov qword [rsp + 0xc8], 0
mov r8d, r14d
and edi, 0x400000
mov qword [rsp + 0xd0], 0
setne cl
test r15, r15
mov qword [rsp + 0xa0], 0
setne dl
mov byte [rsp + 0xc8], cl
shr al, 2
or edx, ecx
mov ecx, dword [r12 + 0x9c]
and eax, 1
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0x5c], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x80], r13
mov dword [rsp + 0xa8], r14d
mov dword [rsp + 0xa4], r14d
mov qword [rsp + 0xb8], r15
mov byte [rsp + 0xcb], dl
mov dword [rsp + 0xd0], ecx
mov byte [rsp + 0xc9], al
mov dword [rsp + 0xb0], r14d
mov dword [rsp + 0xac], r14d
test r14d, r14d
jg 0x14002d610
test dl, dl
jne 0x14002d4f0
mov eax, dword [rsp + 0x9c]
mov qword [rsp + 0x88], r13
lea r14, [rsp + 0x80]
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x98], eax
mov r15, qword [rbx]
lea rsi, [rsp + 0x60]
mov r8d, ebp
mov rdx, r14
or r8d, 0x800000
mov qword [rbx + 0x28], 0
mov rcx, rsi
mov dword [r15 + 0xc0], ebp
mov qword [rsp + 0x30], rsi
call fcn.140025ac0
mov rcx, r14
mov r9d, ebp
mov r8, rsi
add dword [rsp + 0xa0], eax
lea rax, [rsp + 0x5c]
mov rdx, rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call fcn.14002cde0
mov r10d, dword [rsp + 0x5c]
mov r14, rax
test r10d, r10d
jne 0x14002df9a
lea rsi, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov r9, rsi
mov byte [rsp + 0x78], 2
call fcn.140023f20
mov rdi, rax
test r14, r14
je 0x14002d2ba
mov r8, rdi
mov r9, rsi
mov rdx, r14
mov rcx, r15
mov byte [rsp + 0x78], 0x10
call fcn.140023f20
mov r8, rax
mov rax, rdi
mov rdi, r8
mov r13, qword [rbx]
test rax, rax
je 0x14002df84
test rdi, rdi
je 0x14002df84
mov qword [r12 + 0x68], rdi
mov rdi, qword [r13 + 8]
lea r14, [rdi*4]
shl rdi, 4
mov rcx, r14
call sub.msvcrt.dll_malloc
mov rcx, r14
mov r14, rdi
mov qword [r13 + 0x18], rax
mov rbp, rax
call sub.msvcrt.dll_malloc
mov rcx, rdi
mov qword [r13 + 0x20], rax
mov r15, rax
call sub.msvcrt.dll_malloc
mov rcx, r14
mov qword [r13 + 0x28], rax
mov rdi, rax
call sub.msvcrt.dll_malloc
mov qword [r13 + 0x30], rax
test rbp, rbp
je 0x14002d67f
test r15, r15
je 0x14002d67f
test rdi, rdi
je 0x14002d67f
test rax, rax
je 0x14002d67f
mov rbp, qword [rbx + 0x28]
lea rcx, [rbp*4]
call sub.msvcrt.dll_malloc
mov qword [r13 + 0xc8], rax
mov r8, rax
test rax, rax
je 0x14002d42e
xor eax, eax
test rbp, rbp
je 0x14002d37d
nop
mov dword [r8 + rax*4], eax
add rax, 1
cmp rbp, rax
jne 0x14002d370
mov rdi, qword [r13 + 0x68]
mov r9d, 1
movzx ecx, byte [rdi + 0x30]
mov rax, rdi
mov rdx, qword [rax + 8]
cmp cl, 4
je 0x14002d3b5
cmp cl, 0x11
je 0x14002d5e8
test rdx, rdx
je 0x14002d3d8
movzx ecx, byte [rdx + 0x30]
mov rax, rdx
mov rdx, qword [rax + 8]
cmp cl, 4
jne 0x14002d397
movsxd rcx, dword [rax + 0x28]
mov r11d, r9d
mov ecx, dword [r8 + rcx*4]
mov dword [rax + 0x28], ecx
shl r11d, cl
or dword [r13 + 0x90], r11d
test rdx, rdx
jne 0x14002d3a5
nop word [rax + rax]
xor ecx, ecx
jmp 0x14002d3e3
mov rax, rdx
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14002d3f1
cmp rdx, rcx
jne 0x14002d3a5
mov rdx, qword [rax]
mov rcx, rax
test rdx, rdx
jne 0x14002d3e0
xor eax, eax
test rbp, rbp
je 0x14002d41b
nop dword [rax + rax]
cmp dword [r8 + rax*4], eax
jne 0x14002d6ec
add rax, 1
cmp rbp, rax
jne 0x14002d408
mov rcx, r8
call sub.msvcrt.dll_free
mov qword [r13 + 0xc8], 0
mov rdi, qword [r13 + 0x68]
mov r8, rdi
nop dword [rax]
mov rbp, r8
mov r8, qword [r8 + 8]
test r8, r8
jne 0x14002d438
mov r8, qword [rbp + 0x10]
test r8, r8
jne 0x14002d438
jmp 0x14002d48e
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x14002d46c
cmp byte [r8 + 0x30], 0x11
je 0x14002d4d0
mov eax, dword [rsp + 0x70]
test eax, eax
jne 0x14002dc21
mov rax, qword [rbp]
test rax, rax
je 0x14002d772
mov r8, qword [rax + 0x10]
cmp rbp, r8
je 0x14002d487
test r8, r8
jne 0x14002d438
mov r8, qword [rax + 8]
mov rbp, rax
mov dword [rsp + 0x70], 0
test r8, r8
je 0x14002d450
cmp byte [r8 + 0x30], 0x11
jne 0x14002d450
mov rdx, rbx
mov rcx, rsi
call fcn.140024000
mov qword [rbp + 8], rax
test rax, rax
je 0x14002d4b9
mov qword [rax], rbp
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x14002d460
cmp byte [r8 + 0x30], 0x11
jne 0x14002d460
nop dword [rax]
mov rdx, rbx
mov rcx, rsi
call fcn.140024000
mov qword [rbp + 0x10], rax
test rax, rax
je 0x14002d460
mov qword [rax], rbp
jmp 0x14002d460
mov rdx, qword [rsp + 0x88]
test edi, edi
jne 0x14002d5c8
mov eax, dword [rsp + 0x9c]
cmp r8d, eax
cmovg r8d, eax
test r8d, r8d
jle 0x14002dfcd
movsxd r9, r8d
xor eax, eax
jmp 0x14002d53f
mov r13, qword [rsp + 0x80]
mov edi, dword [rsp + 0x90]
mov r15, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x88]
add edi, eax
movsxd rdi, edi
movzx ecx, byte [r13 + rdi]
movzx ecx, byte [r15 + rcx]
mov byte [rdx + rax], cl
add rax, 1
cmp r9, rax
jne 0x14002d520
mov dword [rsp + 0x94], r8d
lea r14, [rsp + 0x80]
mov dword [rsp + 0x98], r8d
mov dword [rsp + 0x5c], 0
jmp 0x14002d20d
lea rcx, str.LC_CTYPE
call sub.msvcrt.dll_getenv
mov r15, rax
test rax, rax
je 0x14002d59d
cmp byte [rax], 0
jne 0x14002d094
lea rcx, str.LANG
call sub.msvcrt.dll_getenv
mov r15, rax
test rax, rax
jne 0x14002d094
lea r15, [0x1400ff99d]
jmp 0x14002d0ac
lea r14, [rsp + 0x80]
mov rcx, r14
call fcn.1400242c0
mov dword [rsp + 0x5c], 0
jmp 0x14002d20d
test rdx, rdx
je 0x14002d3d8
movzx ecx, byte [rdx + 0x30]
mov r11, qword [rdx + 8]
cmp cl, 0x11
je 0x14002d700
mov rax, rdx
jmp 0x14002d38e
add r14d, 1
test dl, dl
jne 0x14002d741
mov dword [rsp + 0x9c], r14d
jmp 0x14002d1e0
mov dword [rsp + 0x5c], 0xc
mov rcx, r12
call fcn.140024400
mov qword [rbx], 0
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 8], 0
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.UTF8
mov rcx, r15
call rsi
test eax, eax
je 0x14002d0c7
jmp 0x14002d0d0
mov dword [rsp + 0x5c], 0xc
mov rsi, qword [r13 + 0x70]
test rsi, rsi
je 0x14002d6a0
mov rcx, rsi
mov rsi, qword [rsi]
call sub.msvcrt.dll_free
test rsi, rsi
jne 0x14002d690
mov qword [r13 + 0x70], 0
mov rcx, qword [r13 + 0x20]
mov dword [r13 + 0x80], 0xf
mov qword [r13 + 0x68], 0
call sub.msvcrt.dll_free
mov qword [r13 + 0x20], 0
cmp byte [rsp + 0xcb], 0
je 0x14002d638
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x14002d638
cmp rbp, rax
jne 0x14002d432
jmp 0x14002d41b
mov ecx, dword [rdx + 0x28]
mov qword [rax + 8], r11
test r11, r11
je 0x14002d70f
mov qword [r11], rax
movsxd rdx, dword [rax + 0x28]
mov r14d, dword [r8 + rdx*4]
movsxd rdx, ecx
mov dword [r8 + rdx*4], r14d
mov rdx, r11
cmp ecx, 0x1f
ja 0x14002d3a0
mov r11d, r9d
shl r11d, cl
mov ecx, r11d
not ecx
and dword [r13 + 0x90], ecx
jmp 0x14002d3a0
movsxd rcx, r14d
mov byte [rsp + 0x38], dl
mov dword [rsp + 0x30], r8d
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14002dfd5
mov qword [rsp + 0x88], rax
movzx edx, byte [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
jmp 0x14002d61c
lea r14, [rsp + 0x40]
nop word [rax + rax]
mov rbp, rdi
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x14002d780
mov rdi, qword [rbp + 0x10]
test rdi, rdi
jne 0x14002d780
jmp 0x14002d7cc
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x18]
mov eax, dword [rax + 0x38]
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x38], eax
mov rax, qword [rbp]
test rax, rax
je 0x14002d82a
mov rdi, qword [rax + 0x10]
cmp rbp, rdi
je 0x14002d7c9
test rdi, rdi
jne 0x14002d780
mov rbp, rax
cmp byte [rbp + 0x30], 0x10
je 0x14002d7a0
mov qword [rbp + 0x18], rbp
movdqu xmm0, xmmword [rbp + 0x28]
mov rdx, r14
mov rcx, r13
movaps xmmword [rsp + 0x40], xmm0
call fcn.140023d30
mov dword [rbp + 0x38], eax
cmp eax, 0xffffffff
je 0x14002dc19
cmp byte [rbp + 0x30], 0xc
jne 0x14002d7b2
cdqe
mov ecx, dword [rbp + 0x28]
shl rax, 4
add rax, qword [r13]
mov edx, dword [rax + 8]
and ecx, 0x3ff
shl ecx, 8
and edx, 0xfffc00ff
or edx, ecx
mov dword [rax + 8], edx
mov rax, qword [rbp]
test rax, rax
jne 0x14002d7bb
mov r15, qword [r13 + 0x68]
mov rax, r15
jmp 0x14002d85e
test rdx, rdx
je 0x14002d845
mov rcx, qword [rax + 0x20]
mov qword [rdx + 0x20], rcx
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14002d856
mov rcx, qword [rax + 0x20]
mov qword [r8 + 0x20], rcx
test rdx, rdx
je 0x14002d89a
mov rax, rdx
movzx ecx, byte [rax + 0x30]
mov rdx, qword [rax + 8]
cmp cl, 0xb
je 0x14002db00
cmp cl, 0x10
jne 0x14002d838
mov rcx, qword [rax + 0x10]
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x20], r8
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
jmp 0x14002d85b
mov r8, qword [rcx + 0x10]
mov rdx, rax
mov rax, rcx
cmp rdx, r8
je 0x14002d8a8
test r8, r8
jne 0x14002ded9
mov rcx, qword [rax]
test rcx, rcx
jne 0x14002d890
movzx ecx, byte [r15 + 0x30]
mov r14d, dword [r15 + 0x38]
cmp cl, 0x10
ja case.0x14002d8cf.0
lea r8, [0x1400ffaa4]
movzx edx, cl
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
and ecx, 8
jne 0x14002deb2
mov rdx, qword [r15 + 0x20]
movsxd rax, r14d
mov ecx, dword [rdx + 0x38]
mov rdx, qword [r13 + 0x18]
mov dword [rdx + rax*4], ecx
nop word [rax + rax]
mov rax, qword [r15 + 8]
test rax, rax
je 0x14002d913
mov r15, rax
jmp 0x14002d8b0
mov r15, rdx
mov rdx, qword [r15 + 0x10]
cmp rdx, rax
je 0x14002d925
test rdx, rdx
jne 0x14002ded1
mov rdx, qword [r15]
mov rax, r15
test rdx, rdx
jne 0x14002d910
mov r15, qword [r13 + 0x10]
xor r14d, r14d
xor ebp, ebp
jmp 0x14002d987
shl rdi, 4
mov rax, qword [r13 + 0x30]
mov r9d, dword [rax + rdi + 4]
test r9d, r9d
jne 0x14002d984
mov r9d, 1
mov r8d, ebp
mov rdx, r13
mov rcx, rsi
call fcn.140027370
test eax, eax
jne 0x14002de29
mov rax, qword [r13 + 0x30]
mov r8d, dword [rax + rdi + 4]
test r8d, r8d
je 0x14002db10
mov r15, qword [r13 + 0x10]
add ebp, 1
movsxd rdi, ebp
cmp r15, rdi
jne 0x14002d940
test r14d, r14d
je 0x14002db3c
xor edi, edi
xor r14d, r14d
xor ebp, ebp
jmp 0x14002d944
mov rdx, qword [r15 + 0x20]
mov ecx, 4
movabs rax, 0x100000001
mov edi, dword [rdx + 0x38]
movsxd rdx, r14d
shl rdx, 4
add rdx, qword [r13 + 0x28]
mov qword [rdx], rax
mov r14, rdx
call sub.msvcrt.dll_malloc
mov qword [r14 + 8], rax
test rax, rax
je 0x14002dfc1
mov dword [rax], edi
jmp case.0x14002d8cf.16
or byte [r13 + 0x98], 1
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14002defc
mov rdx, qword [rdx + 0x18]
mov edi, dword [rdx + 0x38]
mov rdx, qword [r15 + 0x10]
test rdx, rdx
je 0x14002def0
mov rdx, qword [rdx + 0x18]
mov ebp, dword [rdx + 0x38]
test edi, edi
js 0x14002df59
test ebp, ebp
js 0x14002df3a
movsxd rdx, r14d
mov ecx, 8
shl rdx, 4
add rdx, qword [r13 + 0x28]
mov dword [rdx], 2
mov r14, rdx
call sub.msvcrt.dll_malloc
mov qword [r14 + 8], rax
test rax, rax
je 0x14002dc19
cmp edi, ebp
je 0x14002dee1
mov dword [r14 + 4], 2
jge 0x14002df08
mov dword [rax], edi
mov dword [rax + 4], ebp
jmp case.0x14002d8cf.16
mov rdx, qword [r15 + 0x20]
movsxd rax, r14d
mov rcx, qword [r13 + 0x18]
mov r14d, dword [rdx + 0x38]
mov dword [rcx + rax*4], r14d
cmp byte [r15 + 0x30], 4
jne case.0x14002d8cf.16
shl rax, 4
add rax, qword [r13 + 0x28]
mov ecx, 4
mov rdi, rax
movabs rax, 0x100000001
mov qword [rdi], rax
call sub.msvcrt.dll_malloc
mov qword [rdi + 8], rax
test rax, rax
je 0x14002dfec
mov dword [rax], r14d
jmp case.0x14002d8cf.16
cmp qword [r15 + 0x20], 0
je case.0x14002d8cf.16
mov r8d, 0x593
lea rdx, str.regcomp.c
lea rcx, str.node__next__NULL
call qword [sym.imp.msvcrt.dll__assert]
jmp case.0x14002d8cf.16
mov qword [rdx + 0x20], rax
jmp 0x14002d85b
mov rcx, qword [rsp + 0x78]
add ebp, 1
movsxd rdi, ebp
call sub.msvcrt.dll_free
mov r15, qword [r13 + 0x10]
cmp rdi, r15
je 0x14002de1d
shl rdi, 4
mov r14d, 1
jmp 0x14002d944
test byte [rbx + 0x30], 0x10
jne 0x14002db58
cmp qword [rbx + 0x28], 0
je 0x14002db58
test byte [r13 + 0x98], 1
jne 0x14002db67
nop dword [rax + rax]
mov ecx, dword [r13 + 0x8c]
test ecx, ecx
je 0x14002dc41
mov rcx, r15
shl rcx, 4
call sub.msvcrt.dll_malloc
mov qword [r13 + 0x38], rax
test rax, rax
je 0x14002dfd5
xor edx, edx
test r15, r15
jne 0x14002db94
jmp 0x14002dc41
mov rax, qword [r13 + 0x38]
mov rcx, rdx
add rdx, 1
shl rcx, 4
mov qword [rax + rcx], 0
mov qword [rax + rcx + 8], 0
mov rax, qword [r13 + 0x10]
cmp rax, rdx
ja 0x14002db90
test rax, rax
je 0x14002dc41
mov qword [rsp + 0x38], 0
mov rax, qword [r13 + 0x30]
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
mov r14d, edi
shl rdi, 4
lea rdx, [rax + rdi]
mov rbp, qword [rdx + 8]
mov edx, dword [rdx + 4]
test edx, edx
jg 0x14002dbff
jmp 0x14002dc30
mov rax, qword [r13 + 0x30]
add r15, 1
cmp dword [rax + rdi + 4], r15d
jle 0x14002dc30
movsxd rcx, dword [rbp + r15*4]
mov edx, r14d
shl rcx, 4
add rcx, qword [r13 + 0x38]
call fcn.140023cd0
cmp eax, 0xffffffff
jne 0x14002dbf0
mov r13, qword [rbx]
mov eax, 0xc
mov dword [rsp + 0x5c], eax
jmp 0x14002d687
add qword [rsp + 0x38], 1
mov rdi, qword [rsp + 0x38]
cmp qword [r13 + 0x10], rdi
ja 0x14002dbcf
mov rax, qword [r12 + 0x68]
mov rcx, rsi
mov dword [rsp + 0x5c], 0
mov rax, qword [rax + 0x18]
movsxd rdx, dword [rax + 0x38]
mov dword [r12 + 0x88], edx
shl rdx, 4
add rdx, qword [r12 + 0x30]
call fcn.140025720
mov dword [rsp + 0x60], eax
mov edi, eax
test eax, eax
jne 0x14002dd9c
mov eax, dword [r12 + 0x8c]
test eax, eax
jle 0x14002dd58
mov ebp, dword [rsp + 0x74]
test ebp, ebp
jle 0x14002dd58
xor r11d, r11d
jmp 0x14002dcad
add r11d, 1
cmp r11d, ebp
jge 0x14002dd58
mov rcx, qword [rsp + 0x78]
movsxd rax, r11d
mov r8, qword [r12]
movsxd r9, dword [rcx + rax*4]
shl r9, 4
lea r14, [r8 + r9]
cmp byte [r14 + 8], 4
jne 0x14002dca0
test ebp, ebp
jle 0x14002de06
lea r10d, [rbp + 1]
mov edx, 1
jmp 0x14002dcef
mov eax, edx
add rdx, 1
cmp r10, rdx
je 0x14002de10
movsxd rax, dword [rcx + rdx*4 - 4]
shl rax, 4
add rax, r8
cmp byte [rax + 8], 9
jne 0x14002dce0
mov r15d, dword [r14]
cmp dword [rax], r15d
jne 0x14002dce0
mov rax, qword [r12 + 0x28]
mov rcx, rsi
mov rax, qword [rax + r9 + 8]
movsxd rdx, dword [rax]
call fcn.140023710
test eax, eax
jne 0x14002dca0
shl rdx, 4
mov rcx, rsi
add rdx, qword [r12 + 0x30]
call fcn.140024e80
test eax, eax
jne 0x14002dfe5
mov ebp, dword [rsp + 0x74]
mov r11d, 1
cmp r11d, ebp
jl 0x14002dcad
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8, rsi
mov rdx, r12
call fcn.140026490
mov qword [r12 + 0x48], rax
test rax, rax
je 0x14002dea9
cmp byte [rax + 0x50], 0
js 0x14002de40
mov qword [r12 + 0x60], rax
mov qword [r12 + 0x58], rax
mov qword [r12 + 0x50], rax
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov dword [rsp + 0x5c], edi
mov rdi, qword [rbx]
mov rsi, qword [rdi + 0x70]
test rsi, rsi
je 0x14002ddc0
nop dword [rax]
mov rcx, rsi
mov rsi, qword [rsi]
call sub.msvcrt.dll_free
test rsi, rsi
jne 0x14002ddb0
mov qword [rdi + 0x70], 0
mov rcx, qword [rdi + 0x20]
mov dword [rdi + 0x80], 0xf
mov qword [rdi + 0x68], 0
call sub.msvcrt.dll_free
mov qword [rdi + 0x20], 0
cmp byte [rsp + 0xcb], 0
jne 0x14002de31
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x14002d652
jmp 0x14002d638
xor eax, eax
nop dword [rax + rax]
cmp eax, ebp
jne 0x14002dd09
jmp 0x14002dca0
xor r14d, r14d
xor ebp, ebp
xor edi, edi
jmp 0x14002d944
mov r13, qword [rbx]
jmp 0x14002dc21
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
jmp 0x14002ddf5
mov r14, qword [rsp + 0x30]
mov r9d, 1
mov r8, rsi
mov rdx, r12
mov rcx, r14
call fcn.140026490
mov r8, rsi
mov rdx, r12
mov rcx, r14
mov qword [r12 + 0x50], rax
mov r9d, 2
call fcn.140026490
mov r8, rsi
mov rdx, r12
mov rcx, r14
mov qword [r12 + 0x58], rax
mov r9d, 6
call fcn.140026490
cmp qword [r12 + 0x50], 0
mov qword [r12 + 0x60], rax
je 0x14002dea9
cmp qword [r12 + 0x58], 0
je 0x14002dea9
test rax, rax
jne 0x14002dd92
mov edi, dword [rsp + 0x60]
jmp 0x14002dd9c
mov r8d, 0x5b6
lea rdx, str.regcomp.c
lea rcx, str._IS_EPSILON_NODE__node__token.type_
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x14002d8e1
mov rax, rdx
jmp 0x14002d901
mov rdx, r8
jmp 0x14002d85b
mov dword [r14 + 4], 1
mov dword [rax], edi
jmp case.0x14002d8cf.16
mov rdx, qword [r15 + 0x20]
mov ebp, dword [rdx + 0x38]
jmp 0x14002da20
mov rdx, qword [r15 + 0x20]
mov edi, dword [rdx + 0x38]
jmp 0x14002da0c
mov dword [rax], ebp
mov dword [rax + 4], edi
jmp case.0x14002d8cf.16
mov rcx, r12
mov edx, 0xd0
call sub.msvcrt.dll_realloc
mov r12, rax
test rax, rax
je 0x14002e011
mov dword [rbx + 8], 0xd0
mov qword [rbx], rax
jmp 0x14002cfce
mov r8d, 0x5a4
lea rdx, str.regcomp.c
lea rcx, str.right____1
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x14002da30
mov r8d, 0x5a3
lea rdx, str.regcomp.c
lea rcx, str.left____1
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x14002da28
xor esi, esi
mov edx, 1
jmp 0x14002d04e
mov dword [rsp + 0x5c], 0xc
mov qword [r12 + 0x68], 0
jmp 0x14002d687
test rax, rax
je 0x14002e000
lea rsi, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov r9, rsi
mov byte [rsp + 0x78], 2
call fcn.140023f20
mov rdi, rax
jmp 0x14002d29b
mov qword [r14], 0
jmp 0x14002dc19
xor r8d, r8d
jmp 0x14002d55b
mov dword [rsp + 0x5c], 0xc
mov r13, qword [rbx]
jmp 0x14002d687
mov edi, eax
jmp 0x14002dd9c
mov qword [rdi], 0
mov r13, qword [rbx]
mov eax, 0xc
jmp 0x14002dc21
mov qword [r12 + 0x68], 0
mov r13, qword [rbx]
jmp 0x14002d687
mov eax, 0xc
jmp 0x14002d652