Function at 0x14003bb30
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
cmp dword [rdx + 0x48], 0
mov r12, r8
mov rbx, rdx
mov qword [rdx + 0x90], rcx
jne 0x14003bc0d
cmp dword [rdx + 0x4c], 0
mov dword [rdx + 0x48], 1
jne 0x14003bb72
mov dword [rdx + 0x4c], 1
cmp qword [rdx + 8], 0
jne 0x14003bb85
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov qword [rbx + 8], rax
cmp qword [rbx + 0x10], 0
jne 0x14003bb9b
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbx + 0x28]
lea rdi, [rbx + 0x18]
test rcx, rcx
je 0x14003bbb2
mov rax, qword [rdi]
cmp qword [rcx + rax*8], 0
jne 0x14003bbd6
mov rcx, rbx
call fcn.14003a860
mov rcx, qword [rbx + 8]
mov r8, rbx
mov edx, 0x4000
call fcn.14003a610
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x28]
mov qword [rcx + rdx*8], rax
mov rcx, qword [rdi]
mov rax, qword [rbx + 0x28]
lea r8, [rax + rcx*8]
mov rax, qword [rax + rcx*8]
mov ecx, dword [rax + 0x1c]
mov dword [rbx + 0x34], ecx
mov rax, qword [r8]
mov rdx, qword [rax + 0x10]
mov qword [rbx + 0x40], rdx
mov qword [rbx + 0x80], rdx
mov rax, qword [r8]
mov rcx, qword [rax]
mov qword [rbx + 8], rcx
movzx eax, byte [rdx]
mov byte [rbx + 0x30], al
xor r11d, r11d
lea r10, [0x140000000]
nop word [rax + rax]
mov r9, qword [rbx + 0x40]
movzx eax, byte [rbx + 0x30]
mov r15, r9
mov byte [r9], al
mov edx, dword [rbx + 0x4c]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9]
movzx r8d, byte [rax + r10 + 0x51ca0]
movsxd rax, edx
cmp word [r10 + rax*2 + 0x51c40], 0
je 0x14003bc63
mov dword [rbx + 0x68], edx
mov qword [rbx + 0x70], r9
movsx eax, word [r10 + rax*2 + 0x51dc0]
add eax, r8d
cdqe
movsx eax, word [r10 + rax*2 + 0x51f80]
cmp eax, edx
je 0x14003bcbc
nop
movsxd rax, edx
movsx rdx, word [r10 + rax*2 + 0x51e30]
cmp edx, 0x2d
jl 0x14003bc9e
movzx eax, r8b
movzx r8d, byte [rax + r10 + 0x51da0]
movsx ecx, word [r10 + rdx*2 + 0x51dc0]
movzx eax, r8b
add eax, ecx
cdqe
movsx eax, word [r10 + rax*2 + 0x51f80]
cmp eax, edx
jne 0x14003bc80
movsxd rax, edx
inc r9
movsx ecx, word [r10 + rax*2 + 0x51dc0]
movzx eax, r8b
add eax, ecx
cdqe
movsx edx, word [r10 + rax*2 + 0x51ea0]
cmp edx, 0x2c
jne 0x14003bc40
mov rsi, qword [rbx + 0x70]
mov eax, dword [rbx + 0x68]
nop dword [rax]
cdqe
mov qword [rbx + 0x80], r15
movsx r9, word [r10 + rax*2 + 0x51c40]
mov eax, esi
sub eax, r15d
mov dword [rbx + 0x38], eax
movzx eax, byte [rsi]
mov byte [rbx + 0x30], al
mov byte [rsi], 0
mov qword [rbx + 0x40], rsi
cmp r9d, 0x1e
je 0x14003bd80
cmp dword [r10 + r9*4 + 0x52060], 0
je 0x14003bd80
cmp dword [rbx + 0x38], 0
mov r10d, r11d
mov r8, r11
jle 0x14003bd79
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx + 0x80]
cmp byte [r8 + rax], 0xa
jne 0x14003bd6d
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x28]
mov rdx, qword [rax + rcx*8]
inc dword [rdx + 0x2c]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x30], r11d
inc r10d
inc r8
cmp r10d, dword [rbx + 0x38]
jl 0x14003bd40
lea r10, [0x140000000]
cmp r9d, 0x20
ja case.default.0x14003bd98
movsxd rax, r9d
mov ecx, dword [r10 + rax*4 + 0x3cf50]
add rcx, r10
jmp rcx
movzx eax, byte [rbx + 0x30]
mov r14d, esi
sub r14d, dword [rbx + 0x80]
mov byte [rsi], al
dec r14d
mov rax, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x18]
lea rcx, [rax + rcx*8]
mov rax, qword [rcx]
cmp dword [rax + 0x38], 0
jne 0x14003bde5
mov eax, dword [rax + 0x1c]
mov dword [rbx + 0x34], eax
mov rcx, qword [rcx]
mov rax, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x38], 1
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x28]
mov rdx, qword [rax + rcx*8]
mov rcx, rbx
movsxd rax, dword [rbx + 0x34]
add rax, qword [rdx + 8]
cmp qword [rbx + 0x40], rax
jbe 0x14003be7c
call fcn.14003b3d0
test eax, eax
je 0x14003bf5d
sub eax, 1
jne 0x14003be39
mov rax, qword [rbx + 0x80]
xor r11d, r11d
mov qword [rbx + 0x40], rax
mov eax, dword [rbx + 0x4c]
dec eax
mov dword [rbx + 0x50], r11d
cdq
sub eax, edx
sar eax, 1
lea r9d, [rax + 0x1f]
jmp 0x14003bd79
cmp eax, 1
jne 0x14003bc0d
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x28]
mov rdx, qword [rax + rcx*8]
mov rcx, rbx
movsxd rax, dword [rbx + 0x34]
add rax, qword [rdx + 8]
mov qword [rbx + 0x40], rax
call fcn.14003d170
mov rsi, qword [rbx + 0x40]
lea r10, [0x140000000]
mov r15, qword [rbx + 0x80]
xor r11d, r11d
jmp 0x14003bcf0
movsxd rax, r14d
add rax, qword [rbx + 0x80]
mov qword [rbx + 0x40], rax
call fcn.14003d170
movsxd rdx, eax
lea r10, [0x140000000]
mov r8b, 1
lea rax, [rdx + rdx]
cmp word [rax + r10 + 0x51c40], 0
je 0x14003beb7
mov rcx, qword [rbx + 0x40]
mov qword [rbx + 0x70], rcx
mov dword [rbx + 0x68], edx
movsx rax, word [rax + r10 + 0x51dc0]
movsx eax, word [r10 + rax*2 + 0x51f82]
cmp eax, edx
je 0x14003bf0c
nop dword [rax]
movsxd rax, edx
movsx rdx, word [r10 + rax*2 + 0x51e30]
cmp edx, 0x2d
jl 0x14003beee
movzx eax, r8b
movzx r8d, byte [rax + r10 + 0x51da0]
movsx ecx, word [r10 + rdx*2 + 0x51dc0]
movzx eax, r8b
add eax, ecx
cdqe
movsx eax, word [r10 + rax*2 + 0x51f80]
cmp eax, edx
jne 0x14003bed0
mov r15, qword [rbx + 0x80]
mov r11d, 0
movsxd rax, edx
movsx ecx, word [r10 + rax*2 + 0x51dc0]
movzx eax, r8b
add eax, ecx
cdqe
movsx edx, word [r10 + rax*2 + 0x51ea0]
cmp edx, 0x2c
cmove edx, r11d
test edx, edx
je 0x14003bce5
inc qword [rbx + 0x40]
mov r9, qword [rbx + 0x40]
jmp 0x14003bc40
movzx eax, byte [rbx + 0x30]
mov byte [rsi], al
jmp 0x14003bce5
movsxd rax, r14d
mov rcx, rbx
add rax, qword [rbx + 0x80]
mov qword [rbx + 0x40], rax
call fcn.14003d170
mov r9, qword [rbx + 0x40]
lea r10, [0x140000000]
mov r15, qword [rbx + 0x80]
mov edx, eax
xor r11d, r11d
jmp 0x14003bc40
mov dword [rbx + 0x4c], 3
xorps xmm0, xmm0
movups xmmword [r12 + 1], xmm0
movups xmmword [r12 + 0x11], xmm0
mov byte [r12], 1
jmp 0x14003bc20
mov dword [rbx + 0x4c], 3
xorps xmm0, xmm0
movups xmmword [r12 + 1], xmm0
movups xmmword [r12 + 0x11], xmm0
mov byte [r12], 1
or byte [r12 + 0xc], 0x20
jmp 0x14003bc20
mov dword [rbx + 0x4c], 3
xorps xmm0, xmm0
movups xmmword [r12 + 1], xmm0
movups xmmword [r12 + 0x11], xmm0
mov byte [r12], 0
or byte [r12 + 0xc], 0x20
jmp 0x14003bc20
mov dword [rbx + 0x4c], 3
xorps xmm0, xmm0
movups xmmword [r12 + 1], xmm0
movups xmmword [r12 + 0x11], xmm0
mov byte [r12], 0
jmp 0x14003bc20
mov rcx, qword [rbx + 0x80]
movzx edi, byte [rcx]
movzx eax, byte [rcx + 2]
mov byte [rbp + 0x48], dil
movzx edx, al
mov byte [rbp + 0x40], al
cmp dil, 0x5c
jne 0x14003c06b
lea rdx, [rbp + 0x48]
call fcn.14003b8d0
test eax, eax
je 0x14003cc76
mov rax, qword [rbx + 0x80]
movzx edi, byte [rbp + 0x48]
cmp byte [rax + 1], 0x78
jne 0x14003c061
movzx eax, byte [rax + 5]
jmp 0x14003c065
movzx eax, byte [rax + 3]
movzx edx, al
mov byte [rbp + 0x40], al
cmp dl, 0x5c
jne 0x14003c0d7
mov rcx, rbx
mov word [rbp - 0xe], 0
mov byte [rbp - 0x10], dl
call fcn.14003ba20
mov byte [rbp - 0xf], al
lea ecx, [rax + 1]
cmp cl, 1
jbe 0x14003cc76
cmp al, 0x78
jne 0x14003c0be
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp - 0xe], al
inc al
cmp al, 1
jbe 0x14003cc76
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp - 0xd], al
inc al
cmp al, 1
jbe 0x14003cc76
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.14003b8d0
test eax, eax
je 0x14003cc76
movzx eax, byte [rbp + 0x40]
cmp al, dil
jb 0x14003cc8e
movzx r8d, dil
lea r10, [0x140000000]
movzx r9d, al
mov r11d, 0
cmp r8w, r9w
ja 0x14003bc20
nop
movzx edx, r8w
shr rdx, 3
movzx eax, r8w
inc r8w
and eax, 7
movzx ecx, byte [rdx + r12 + 1]
bts ecx, eax
mov byte [rdx + r12 + 1], cl
cmp r8w, r9w
jbe 0x14003c100
jmp 0x14003bc10
movzx eax, byte [0x1400625b0]
or byte [r12 + 1], al
movzx eax, byte [0x1400625b1]
or byte [r12 + 2], al
movzx eax, byte [0x1400625b2]
or byte [r12 + 3], al
movzx eax, byte [0x1400625b3]
or byte [r12 + 4], al
movzx eax, byte [0x1400625b4]
or byte [r12 + 5], al
movzx eax, byte [0x1400625b5]
or byte [r12 + 6], al
movzx eax, byte [0x1400625b6]
or byte [r12 + 7], al
movzx eax, byte [0x1400625b7]
or byte [r12 + 8], al
movzx eax, byte [0x1400625b8]
or byte [r12 + 9], al
movzx eax, byte [0x1400625b9]
or byte [r12 + 0xa], al
movzx eax, byte [0x1400625ba]
or byte [r12 + 0xb], al
movzx eax, byte [0x1400625bb]
or byte [r12 + 0xc], al
movzx eax, byte [0x1400625bc]
or byte [r12 + 0xd], al
movzx eax, byte [0x1400625bd]
or byte [r12 + 0xe], al
movzx eax, byte [0x1400625be]
or byte [r12 + 0xf], al
movzx eax, byte [0x1400625bf]
or byte [r12 + 0x10], al
movzx eax, byte [0x1400625c0]
or byte [r12 + 0x11], al
movzx eax, byte [0x1400625c1]
or byte [r12 + 0x12], al
movzx eax, byte [0x1400625c2]
or byte [r12 + 0x13], al
movzx eax, byte [0x1400625c3]
or byte [r12 + 0x14], al
movzx eax, byte [0x1400625c4]
or byte [r12 + 0x15], al
movzx eax, byte [0x1400625c5]
or byte [r12 + 0x16], al
movzx eax, byte [0x1400625c6]
or byte [r12 + 0x17], al
movzx eax, byte [0x1400625c7]
or byte [r12 + 0x18], al
movzx eax, byte [0x1400625c8]
or byte [r12 + 0x19], al
movzx eax, byte [0x1400625c9]
or byte [r12 + 0x1a], al
movzx eax, byte [0x1400625ca]
or byte [r12 + 0x1b], al
movzx eax, byte [0x1400625cb]
or byte [r12 + 0x1c], al
movzx eax, byte [0x1400625cc]
or byte [r12 + 0x1d], al
movzx eax, byte [0x1400625cd]
or byte [r12 + 0x1e], al
movzx eax, byte [0x1400625ce]
or byte [r12 + 0x1f], al
movzx eax, byte [0x1400625cf]
or byte [r12 + 0x20], al
jmp 0x14003bc20
movzx eax, byte [0x1400625b0]
not al
or byte [r12 + 1], al
movzx eax, byte [0x1400625b1]
not al
or byte [r12 + 2], al
movzx eax, byte [0x1400625b2]
not al
or byte [r12 + 3], al
movzx eax, byte [0x1400625b3]
not al
or byte [r12 + 4], al
movzx eax, byte [0x1400625b4]
not al
or byte [r12 + 5], al
movzx eax, byte [0x1400625b5]
not al
or byte [r12 + 6], al
movzx eax, byte [0x1400625b6]
not al
or byte [r12 + 7], al
movzx eax, byte [0x1400625b7]
not al
or byte [r12 + 8], al
movzx eax, byte [0x1400625b8]
not al
or byte [r12 + 9], al
movzx eax, byte [0x1400625b9]
not al
or byte [r12 + 0xa], al
movzx eax, byte [0x1400625ba]
not al
or byte [r12 + 0xb], al
movzx eax, byte [0x1400625bb]
not al
or byte [r12 + 0xc], al
movzx eax, byte [0x1400625bc]
not al
or byte [r12 + 0xd], al
movzx eax, byte [0x1400625bd]
not al
or byte [r12 + 0xe], al
movzx eax, byte [0x1400625be]
not al
or byte [r12 + 0xf], al
movzx eax, byte [0x1400625bf]
not al
or byte [r12 + 0x10], al
movzx eax, byte [0x1400625c0]
not al
or byte [r12 + 0x11], al
movzx eax, byte [0x1400625c1]
not al
or byte [r12 + 0x12], al
movzx eax, byte [0x1400625c2]
not al
or byte [r12 + 0x13], al
movzx eax, byte [0x1400625c3]
not al
or byte [r12 + 0x14], al
movzx eax, byte [0x1400625c4]
not al
or byte [r12 + 0x15], al
movzx eax, byte [0x1400625c5]
not al
or byte [r12 + 0x16], al
movzx eax, byte [0x1400625c6]
not al
or byte [r12 + 0x17], al
movzx eax, byte [0x1400625c7]
not al
or byte [r12 + 0x18], al
movzx eax, byte [0x1400625c8]
not al
or byte [r12 + 0x19], al
movzx eax, byte [0x1400625c9]
not al
or byte [r12 + 0x1a], al
movzx eax, byte [0x1400625ca]
not al
or byte [r12 + 0x1b], al
movzx eax, byte [0x1400625cb]
not al
or byte [r12 + 0x1c], al
movzx eax, byte [0x1400625cc]
not al
or byte [r12 + 0x1d], al
movzx eax, byte [0x1400625cd]
not al
or byte [r12 + 0x1e], al
movzx eax, byte [0x1400625ce]
not al
or byte [r12 + 0x1f], al
movzx eax, byte [0x1400625cf]
not al
or byte [r12 + 0x20], al
jmp 0x14003bc20
movzx eax, byte [0x1400625d0]
or byte [r12 + 1], al
movzx eax, byte [0x1400625d1]
or byte [r12 + 2], al
movzx eax, byte [0x1400625d2]
or byte [r12 + 3], al
movzx eax, byte [0x1400625d3]
or byte [r12 + 4], al
movzx eax, byte [0x1400625d4]
or byte [r12 + 5], al
movzx eax, byte [0x1400625d5]
or byte [r12 + 6], al
movzx eax, byte [0x1400625d6]
or byte [r12 + 7], al
movzx eax, byte [0x1400625d7]
or byte [r12 + 8], al
movzx eax, byte [0x1400625d8]
or byte [r12 + 9], al
movzx eax, byte [0x1400625d9]
or byte [r12 + 0xa], al
movzx eax, byte [0x1400625da]
or byte [r12 + 0xb], al
movzx eax, byte [0x1400625db]
or byte [r12 + 0xc], al
movzx eax, byte [0x1400625dc]
or byte [r12 + 0xd], al
movzx eax, byte [0x1400625dd]
or byte [r12 + 0xe], al
movzx eax, byte [0x1400625de]
or byte [r12 + 0xf], al
movzx eax, byte [0x1400625df]
or byte [r12 + 0x10], al
movzx eax, byte [0x1400625e0]
or byte [r12 + 0x11], al
movzx eax, byte [0x1400625e1]
or byte [r12 + 0x12], al
movzx eax, byte [0x1400625e2]
or byte [r12 + 0x13], al
movzx eax, byte [0x1400625e3]
or byte [r12 + 0x14], al
movzx eax, byte [0x1400625e4]
or byte [r12 + 0x15], al
movzx eax, byte [0x1400625e5]
or byte [r12 + 0x16], al
movzx eax, byte [0x1400625e6]
or byte [r12 + 0x17], al
movzx eax, byte [0x1400625e7]
or byte [r12 + 0x18], al
movzx eax, byte [0x1400625e8]
or byte [r12 + 0x19], al
movzx eax, byte [0x1400625e9]
or byte [r12 + 0x1a], al
movzx eax, byte [0x1400625ea]
or byte [r12 + 0x1b], al
movzx eax, byte [0x1400625eb]
or byte [r12 + 0x1c], al
movzx eax, byte [0x1400625ec]
or byte [r12 + 0x1d], al
movzx eax, byte [0x1400625ed]
or byte [r12 + 0x1e], al
movzx eax, byte [0x1400625ee]
or byte [r12 + 0x1f], al
movzx eax, byte [0x1400625ef]
or byte [r12 + 0x20], al
jmp 0x14003bc20
movzx eax, byte [0x1400625d0]
not al
or byte [r12 + 1], al
movzx eax, byte [0x1400625d1]
not al
or byte [r12 + 2], al
movzx eax, byte [0x1400625d2]
not al
or byte [r12 + 3], al
movzx eax, byte [0x1400625d3]
not al
or byte [r12 + 4], al
movzx eax, byte [0x1400625d4]
not al
or byte [r12 + 5], al
movzx eax, byte [0x1400625d5]
not al
or byte [r12 + 6], al
movzx eax, byte [0x1400625d6]
not al
or byte [r12 + 7], al
movzx eax, byte [0x1400625d7]
not al
or byte [r12 + 8], al
movzx eax, byte [0x1400625d8]
not al
or byte [r12 + 9], al
movzx eax, byte [0x1400625d9]
not al
or byte [r12 + 0xa], al
movzx eax, byte [0x1400625da]
not al
or byte [r12 + 0xb], al
movzx eax, byte [0x1400625db]
not al
or byte [r12 + 0xc], al
movzx eax, byte [0x1400625dc]
not al
or byte [r12 + 0xd], al
movzx eax, byte [0x1400625dd]
not al
or byte [r12 + 0xe], al
movzx eax, byte [0x1400625de]
not al
or byte [r12 + 0xf], al
movzx eax, byte [0x1400625df]
not al
or byte [r12 + 0x10], al
movzx eax, byte [0x1400625e0]
not al
or byte [r12 + 0x11], al
movzx eax, byte [0x1400625e1]
not al
or byte [r12 + 0x12], al
movzx eax, byte [0x1400625e2]
not al
or byte [r12 + 0x13], al
movzx eax, byte [0x1400625e3]
not al
or byte [r12 + 0x14], al
movzx eax, byte [0x1400625e4]
not al
or byte [r12 + 0x15], al
movzx eax, byte [0x1400625e5]
not al
or byte [r12 + 0x16], al
movzx eax, byte [0x1400625e6]
not al
or byte [r12 + 0x17], al
movzx eax, byte [0x1400625e7]
not al
or byte [r12 + 0x18], al
movzx eax, byte [0x1400625e8]
not al
or byte [r12 + 0x19], al
movzx eax, byte [0x1400625e9]
not al
or byte [r12 + 0x1a], al
movzx eax, byte [0x1400625ea]
not al
or byte [r12 + 0x1b], al
movzx eax, byte [0x1400625eb]
not al
or byte [r12 + 0x1c], al
movzx eax, byte [0x1400625ec]
not al
or byte [r12 + 0x1d], al
movzx eax, byte [0x1400625ed]
not al
or byte [r12 + 0x1e], al
movzx eax, byte [0x1400625ee]
not al
or byte [r12 + 0x1f], al
movzx eax, byte [0x1400625ef]
not al
or byte [r12 + 0x20], al
jmp 0x14003bc20
mov r8b, 0x30
nop dword [rax + rax]
movzx edx, r8b
inc r8b
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r12 + 1]
bts eax, edx
mov byte [rcx + r12 + 1], al
cmp r8b, 0x39
jle 0x14003c7f0
jmp 0x14003bc20
mov edx, r11d
mov r8, r11
nop
cmp r8, 6
je 0x14003c841
cmp r8, 7
jne 0x14003c83b
movzx eax, byte [r12 + r8 + 1]
or al, 0xfc
mov byte [r12 + 8], al
jmp 0x14003c841
mov byte [r12 + r8 + 1], 0xff
cmp edx, 5
je 0x14003c9eb
lea rax, [r12 + r8]
cmp edx, 6
jne 0x14003c9e5
or byte [rax + 2], 0xfc
mov byte [rax + 3], 0xff
cmp edx, 3
je 0x14003ca09
cmp edx, 4
jne 0x14003ca05
or byte [rax + 4], 0xfc
mov byte [rax + 5], 0xff
cmp edx, 1
je 0x14003ca23
cmp edx, 2
jne 0x14003ca1f
or byte [rax + 6], 0xfc
mov byte [rax + 7], 0xff
cmp edx, 0xffffffff
je 0x14003ca3c
test edx, edx
jne 0x14003ca38
or byte [rax + 8], 0xfc
mov byte [rax + 9], 0xff
cmp edx, 0xfffffffd
je 0x14003ca56
cmp edx, 0xfffffffe
jne 0x14003ca52
or byte [rax + 0xa], 0xfc
mov byte [rax + 0xb], 0xff
cmp edx, 0xfffffffb
je 0x14003ca70
cmp edx, 0xfffffffc
jne 0x14003ca6c
or byte [rax + 0xc], 0xfc
mov byte [rax + 0xd], 0xff
cmp edx, 0xfffffff9
je 0x14003ca8a
cmp edx, 0xfffffffa
jne 0x14003ca86
or byte [rax + 0xe], 0xfc
mov byte [rax + 0xf], 0xff
cmp edx, 0xfffffff7
je 0x14003caa4
cmp edx, 0xfffffff8
jne 0x14003caa0
or byte [rax + 0x10], 0xfc
mov byte [rax + 0x11], 0xff
cmp edx, 0xfffffff5
je 0x14003cabe
cmp edx, 0xfffffff6
jne 0x14003caba
or byte [rax + 0x12], 0xfc
mov byte [rax + 0x13], 0xff
cmp edx, 0xfffffff3
je 0x14003cad8
cmp edx, 0xfffffff4
jne 0x14003cad4
or byte [rax + 0x14], 0xfc
mov byte [rax + 0x15], 0xff
cmp edx, 0xfffffff1
je 0x14003caf2
cmp edx, 0xfffffff2
jne 0x14003caee
or byte [rax + 0x16], 0xfc
mov byte [rax + 0x17], 0xff
cmp edx, 0xffffffef
je 0x14003cb0c
cmp edx, 0xfffffff0
jne 0x14003cb08
or byte [rax + 0x18], 0xfc
mov byte [rax + 0x19], 0xff
cmp edx, 0xffffffed
je 0x14003cb26
cmp edx, 0xffffffee
jne 0x14003cb22
or byte [rax + 0x1a], 0xfc
mov byte [rax + 0x1b], 0xff
cmp edx, 0xffffffeb
je 0x14003cb40
cmp edx, 0xffffffec
jne 0x14003cb3c
or byte [rax + 0x1c], 0xfc
mov byte [rax + 0x1d], 0xff
cmp edx, 0xffffffe9
je 0x14003cb5c
cmp edx, 0xffffffea
jne 0x14003cb56
or byte [rax + 0x1e], 0xfc
mov byte [rax + 0x1f], 0xff
cmp edx, 0xffffffe7
je 0x14003cb7a
cmp edx, 0xffffffe8
jne 0x14003cb76
or byte [rax + 0x20], 0xfc
jmp 0x14003cb7a
mov byte [rax + 2], 0xff
jmp 0x14003c9ef
lea rax, [r8 + r12]
cmp edx, 4
je 0x14003c85f
cmp edx, 5
jne 0x14003c85b
or byte [rax + 3], 0xfc
mov byte [rax + 4], 0xff
cmp edx, 2
je 0x14003c879
cmp edx, 3
jne 0x14003c875
or byte [rax + 5], 0xfc
mov byte [rax + 6], 0xff
test edx, edx
je 0x14003c893
cmp edx, 1
jne 0x14003c88f
or byte [rax + 7], 0xfc
mov byte [rax + 8], 0xff
cmp edx, 0xfffffffe
je 0x14003c8ac
cmp edx, 0xffffffff
jne 0x14003c8a8
or byte [rax + 9], 0xfc
mov byte [rax + 0xa], 0xff
cmp edx, 0xfffffffc
je 0x14003c8c6
cmp edx, 0xfffffffd
jne 0x14003c8c2
or byte [rax + 0xb], 0xfc
mov byte [rax + 0xc], 0xff
cmp edx, 0xfffffffa
je 0x14003c8e0
cmp edx, 0xfffffffb
jne 0x14003c8dc
or byte [rax + 0xd], 0xfc
mov byte [rax + 0xe], 0xff
cmp edx, 0xfffffff8
je 0x14003c8fa
cmp edx, 0xfffffff9
jne 0x14003c8f6
or byte [rax + 0xf], 0xfc
mov byte [rax + 0x10], 0xff
cmp edx, 0xfffffff6
je 0x14003c914
cmp edx, 0xfffffff7
jne 0x14003c910
or byte [rax + 0x11], 0xfc
mov byte [rax + 0x12], 0xff
cmp edx, 0xfffffff4
je 0x14003c92e
cmp edx, 0xfffffff5
jne 0x14003c92a
or byte [rax + 0x13], 0xfc
mov byte [rax + 0x14], 0xff
cmp edx, 0xfffffff2
je 0x14003c948
cmp edx, 0xfffffff3
jne 0x14003c944
or byte [rax + 0x15], 0xfc
mov byte [rax + 0x16], 0xff
cmp edx, 0xfffffff0
je 0x14003c962
cmp edx, 0xfffffff1
jne 0x14003c95e
or byte [rax + 0x17], 0xfc
mov byte [rax + 0x18], 0xff
cmp edx, 0xffffffee
je 0x14003c97c
cmp edx, 0xffffffef
jne 0x14003c978
or byte [rax + 0x19], 0xfc
mov byte [rax + 0x1a], 0xff
cmp edx, 0xffffffec
je 0x14003c996
cmp edx, 0xffffffed
jne 0x14003c992
or byte [rax + 0x1b], 0xfc
mov byte [rax + 0x1c], 0xff
cmp edx, 0xffffffea
je 0x14003c9b0
cmp edx, 0xffffffeb
jne 0x14003c9ac
or byte [rax + 0x1d], 0xfc
mov byte [rax + 0x1e], 0xff
jmp 0x14003cb60
lea rax, [r8 + r12]
cmp edx, 0xffffffe8
je 0x14003c9ca
cmp edx, 0xffffffe9
jne 0x14003c9c6
or byte [rax + 0x1f], 0xfc
mov byte [rax + 0x20], 0xff
add edx, 0x20
add r8, 0x20
cmp r8, 0x20
jl 0x14003c820
jmp 0x14003bc20
mov rcx, rbx
mov word [rbp - 0xa], 0
mov byte [rbp - 0xc], 0x5c
call fcn.14003ba20
mov byte [rbp - 0xb], al
lea ecx, [rax + 1]
cmp cl, 1
jbe 0x14003cc76
cmp al, 0x78
jne 0x14003cbdf
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp - 0xa], al
inc al
cmp al, 1
jbe 0x14003cc76
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp - 9], al
inc al
cmp al, 1
jbe 0x14003cc76
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0xc]
call fcn.14003b8d0
test eax, eax
je 0x14003cc76
movzx edx, byte [rbp + 0x58]
mov r8d, edx
mov eax, edx
shr r8, 3
and eax, 7
movzx ecx, byte [r8 + r12 + 1]
bts ecx, eax
mov byte [r8 + r12 + 1], cl
jmp 0x14003bc0d
mov rax, qword [rbx + 0x80]
movsx ecx, byte [rax]
lea eax, [rcx - 0x20]
cmp al, 0x5e
ja 0x14003cf0f
mov edx, ecx
mov eax, ecx
and edx, 7
test cl, cl
jns 0x14003cc3d
add eax, 7
sub edx, 8
sar eax, 3
movsxd rcx, eax
movzx eax, byte [rcx + r12 + 1]
bts eax, edx
mov byte [rcx + r12 + 1], al
jmp 0x14003bc20
movsxd rdx, dword [rbx + 0x38]
mov r8d, 1
mov r9, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
jmp 0x14003bc0d
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.illegal_escape_sequence
jmp 0x14003cf1e
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.bad_character_range
jmp 0x14003cf1e
mov rcx, qword [rbx + 0x80]
inc rcx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov rcx, qword [rbx + 0x80]
mov edx, 0x2c
mov edi, eax
call sub.VCRUNTIME140.dll_strchr
mov rdx, qword [rbx + 0x80]
mov r8, rax
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x14003cce0
sub rcx, 2
sub rax, rdx
cmp rax, rcx
jne 0x14003cd26
mov ecx, 0x7fff
cmp ecx, edi
jl 0x14003cd0e
test ecx, ecx
js 0x14003cd0e
test edi, edi
js 0x14003cd0e
test ecx, ecx
jne 0x14003cd51
test edi, edi
jne 0x14003cd51
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.bad_repeat_interval
jmp 0x14003cf1e
lea rcx, [r8 + 1]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, eax
cmp eax, 0x7fff
jle 0x14003ccfa
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.repeat_interval_too_large
jmp 0x14003cf1e
shl ecx, 0x10
or ecx, edi
mov rax, qword [rbx + 0x90]
mov dword [rax], ecx
mov eax, 0x104
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbx + 0x80]
inc rcx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
cmp eax, 0x7fff
ja 0x14003cd39
test eax, eax
je 0x14003cd0e
mov ecx, eax
shl ecx, 0x10
or ecx, eax
jmp 0x14003cd56
mov rax, qword [rbx + 0x80]
movsx ecx, byte [rax]
mov rax, qword [rbx + 0x90]
mov dword [rax], ecx
mov eax, 0x102
jmp 0x14003cd64
mov eax, 0x106
jmp 0x14003cd64
mov eax, 0x107
jmp 0x14003cd64
mov eax, 0x108
jmp 0x14003cd64
mov eax, 0x109
jmp 0x14003cd64
mov eax, 0x10a
jmp 0x14003cd64
mov eax, 0x10b
jmp 0x14003cd64
mov eax, 0x10c
jmp 0x14003cd64
mov eax, 0x10d
jmp 0x14003cd64
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.backreferences_are_not_allowed
jmp 0x14003cf1e
mov rcx, rbx
mov word [rbp + 0x4a], 0
mov byte [rbp + 0x48], 0x5c
call fcn.14003ba20
mov byte [rbp + 0x49], al
lea ecx, [rax + 1]
cmp cl, 1
jbe 0x14003cc76
cmp al, 0x78
jne 0x14003ce66
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp + 0x4a], al
inc al
cmp al, 1
jbe 0x14003cc76
mov rcx, rbx
call fcn.14003ba20
mov byte [rbp + 0x4b], al
inc al
cmp al, 1
jbe 0x14003cc76
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x48]
call fcn.14003b8d0
test eax, eax
je 0x14003cc76
mov rax, qword [rbx + 0x90]
movzx ecx, byte [rbp + 0x40]
mov dword [rax], ecx
mov eax, 0x102
jmp 0x14003cd64
mov ecx, 0x21
call fcn.14001cf70
mov rcx, qword [rbx + 0x90]
mov qword [rcx], rax
mov rax, qword [rbx + 0x90]
movups xmm0, xmmword [r12 + 1]
mov rcx, qword [rax]
movups xmmword [rcx + 1], xmm0
movups xmm1, xmmword [r12 + 0x11]
movups xmmword [rcx + 0x11], xmm1
mov rax, qword [rbx + 0x90]
mov rcx, qword [rax]
movzx eax, byte [r12]
mov byte [rcx], al
mov eax, 0x105
mov dword [rbx + 0x4c], 1
jmp 0x14003cd64
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.missing_terminating___for_character_class
jmp 0x14003cf1e
mov rax, qword [rbx + 0x80]
movsx ecx, byte [rax]
lea eax, [rcx - 0x20]
cmp al, 0x5e
ja 0x14003cf0f
mov eax, ecx
jmp 0x14003cd64
cmp dword [r12 + 0x24], 0
jne case.0x14003bd98.31
lea rdx, str.non_ascii_character
mov r8d, 0x100
mov dword [r12 + 0x24], 9
lea rcx, [r12 + 0x28]
call fcn.140026380
xor eax, eax
jmp 0x14003cd64
lea rdx, str.fatal_flex_scanner_internal_error__no_action_found
mov rcx, rbx
call fcn.14003a940
int3