Function at 0x401143
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x2a0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
push rsi
push rdi
lea rsi, str.________________0___________0_____0_____0_______0___________nhabdiopN
lea rdi, [rbp - 0x3c]
mov ecx, 7
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
pop rdi
pop rsi
push rsi
push rdi
lea rsi, str.________________0___________0_____0_____0_______0___________nhabdiopN
lea rdi, [rbp - 0x78]
mov ecx, 7
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
pop rdi
pop rsi
movabs rax, 0
mov qword [rbp - 0x88], rax
movabs rax, 0
mov qword [rbp - 0x90], rax
movabs rax, 0
mov qword [rbp - 0x98], rax
movabs rax, 0
mov qword [rbp - 0xd8], rax
movabs rax, 0
mov qword [rbp - 0xe0], rax
mov eax, 0
mov dword [rbp - 0xe4], eax
movabs rax, 0
mov qword [rbp - 0xf0], rax
movabs rax, 0
mov qword [rbp - 0xf8], rax
mov eax, 0
mov dword [rbp - 0x100], eax
mov eax, 0
mov dword [rbp - 0x104], eax
mov eax, 0
mov dword [rbp - 0x108], eax
mov eax, 2
mov dword [rbp - 0x23c], eax
lea rax, [0x0040508c]
mov qword [rbp - 0x248], rax
mov eax, 0
mov dword [rbp - 0x24c], eax
mov eax, 0
mov dword [rbp - 0x250], eax
mov eax, 0
mov dword [rbp - 0x254], eax
mov eax, 0
mov dword [rbp - 0xbc], eax
mov eax, 0
mov dword [rbp - 0xc0], eax
mov eax, 1
mov dword [rbp - 0xb4], eax
mov eax, dword [rbp - 0xb4]
mov ecx, dword [rbp + 0x18]
cmp eax, ecx
jge 0x40146a
jmp 0x4012a6
mov eax, dword [rbp - 0xb4]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xb4], eax
jmp 0x40127d
mov eax, dword [rbp - 0xb4]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
mov qword [rbp - 0x260], rcx
mov rax, qword [rbp - 0x260]
movsx eax, byte [rax]
cmp eax, 0x2d
jne 0x40130b
lea rax, str...xtv
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strstr
cmp rax, 0
je 0x40130b
mov eax, 1
mov dword [rbp - 0x23c], eax
mov rax, qword [rbp - 0x260]
movsx eax, byte [rax]
cmp eax, 0x2d
je 0x401356
mov eax, dword [rbp - 0xb4]
cmp eax, 1
jne 0x40142a
lea rax, [0x00405097]
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strstr
cmp rax, 0
jne 0x40142a
mov rax, qword [rbp - 0x248]
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401050
cmp eax, 0
je 0x401389
mov eax, 1
mov dword [rbp - 0x23c], eax
lea rax, [0x00405099]
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strstr
cmp rax, 0
je 0x4013bd
mov eax, 1
mov dword [rbp - 0x24c], eax
lea rax, [0x0040509b]
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strstr
cmp rax, 0
je 0x4013f1
mov eax, 1
mov dword [rbp - 0x250], eax
lea rax, [0x0040509d]
mov r11, rax
mov rax, qword [rbp - 0x260]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strstr
cmp rax, 0
je 0x401425
mov eax, 1
mov dword [rbp - 0x254], eax
jmp 0x401465
mov eax, dword [rbp - 0xbc]
cmp eax, 0
jne 0x40144a
mov eax, dword [rbp - 0xb4]
mov dword [rbp - 0xbc], eax
jmp 0x401465
mov eax, dword [rbp - 0xc0]
cmp eax, 0
jne 0x401465
mov eax, dword [rbp - 0xb4]
mov dword [rbp - 0xc0], eax
jmp 0x401293
mov eax, dword [rbp - 0xbc]
cmp eax, 0
jne 0x401484
mov eax, 1
mov dword [rbp - 0x23c], eax
mov eax, dword [rbp - 0xc0]
cmp eax, 0
je 0x401498
jmp 0x4014a0
mov eax, dword [rbp + 0x18]
jmp 0x4014a6
mov eax, dword [rbp - 0xc0]
mov dword [rbp - 0xc0], eax
mov eax, dword [rbp - 0x23c]
cmp eax, 1
jne 0x4014d1
mov eax, dword [rbp - 0x23c]
mov r10, rax
mov rcx, r10
call fcn.004010e2
jmp 0x402875
mov eax, dword [rbp - 0x24c]
cmp eax, 0
jne 0x4014ef
mov eax, dword [rbp - 0x250]
cmp eax, 0
je 0x401977
mov eax, dword [rbp - 0xbc]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
lea rax, [0x0040509f]
mov r11, rax
mov rcx, qword [rcx]
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x88], rax
cmp rax, 0
jne 0x40156f
call sub.msvcrt.dll___iob_func
add rax, 0x60
mov ecx, dword [rbp - 0xbc]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rbp + 0x20]
add rdx, rcx
mov rdx, qword [rdx]
mov r8, rdx
lea rcx, str.tcc:_ar:_cant_open_file__s_n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x401949
mov rax, qword [rbp - 0x88]
mov r9, rax
movabs rax, 8
mov r8, rax
movabs rax, 1
mov r11, rax
lea rax, [rbp - 0x228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
movabs rax, 8
mov r8, rax
lea rax, [0x004050bf]
mov r11, rax
lea rax, [rbp - 0x228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcmp
cmp eax, 0
je 0x40161d
call sub.msvcrt.dll___iob_func
add rax, 0x60
mov ecx, dword [rbp - 0xbc]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rbp + 0x20]
add rdx, rcx
mov rdx, qword [rdx]
mov r8, rdx
lea rcx, str.tcc:_ar:_not_an_ar_archive__s_n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x401949
mov rax, qword [rbp - 0x88]
mov r9, rax
movabs rax, 0x3c
mov r8, rax
movabs rax, 1
mov r11, rax
lea rax, [rbp - 0x3c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
cmp rax, 0x3c
jne 0x40193e
movabs rax, 2
mov r8, rax
lea rax, [0x004050e7]
mov r11, rax
lea rax, [rbp - 2]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcmp
cmp eax, 0
je 0x401694
jmp 0x4015dd
lea rax, [rbp - 0x3c]
mov qword [rbp - 0x268], rax
mov rax, qword [rbp - 0x268]
add rax, 0x10
mov qword [rbp - 0x270], rax
mov rax, qword [rbp - 0x270]
mov rcx, qword [rbp - 0x268]
cmp rax, rcx
jbe 0x4016f6
mov rax, qword [rbp - 0x270]
add rax, 0xffffffffffffffff
movsx eax, byte [rax]
cmp eax, 0x20
jne 0x4016f6
mov rax, qword [rbp - 0x270]
mov rcx, rax
add rax, 0xffffffffffffffff
mov qword [rbp - 0x270], rax
jmp 0x4016b1
mov rax, qword [rbp - 0x270]
mov ecx, 0
mov byte [rax], cl
mov eax, 0
mov byte [rbp - 3], al
lea rax, [rbp - 0xc]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atoi
mov dword [rbp - 0xb8], eax
mov eax, dword [rbp - 0xb8]
add eax, 1
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_malloc
mov qword [rbp - 0xc8], rax
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x88]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
lea rax, [0x004050ea]
mov r11, rax
lea rax, [rbp - 0x3c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x401927
lea rax, str._SYM64_
mov r11, rax
lea rax, [rbp - 0x3c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
je 0x401927
mov rax, qword [rbp - 0x270]
mov rcx, qword [rbp - 0x268]
cmp rax, rcx
jbe 0x4017fe
mov rax, qword [rbp - 0x270]
add rax, 0xffffffffffffffff
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x4017fe
mov rax, qword [rbp - 0x270]
add rax, 0xffffffffffffffff
mov ecx, 0
mov byte [rax], cl
mov eax, dword [rbp - 0x250]
cmp eax, 0
jne 0x40181c
mov eax, dword [rbp - 0x254]
cmp eax, 0
je 0x401862
mov eax, dword [rbp - 0x24c]
cmp eax, 0
je 0x401830
jmp 0x40183c
lea rax, [0x004050ff]
jmp 0x401843
lea rax, str.x__
lea rcx, [rbp - 0x3c]
mov r8, rcx
mov r11, rax
lea rax, str._s_s_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x24c]
cmp eax, 0
je 0x401927
lea rax, [0x00405100]
mov r11, rax
lea rax, [rbp - 0x3c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x90], rax
cmp rax, 0
jne 0x4018dd
call sub.msvcrt.dll___iob_func
add rax, 0x60
lea rcx, [rbp - 0x3c]
mov r8, rcx
lea rcx, [0x00405103]
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
jmp 0x401949
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x90]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0x90]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
jmp 0x40161d
mov eax, 0
mov dword [rbp - 0x23c], eax
mov rax, qword [rbp - 0x88]
cmp rax, 0
je 0x40196c
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov eax, dword [rbp - 0x23c]
jmp 0x402875
mov eax, dword [rbp - 0xbc]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
lea rax, [0x00405122]
mov r11, rax
mov rcx, qword [rcx]
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x88], rax
cmp rax, 0
jne 0x4019f7
call sub.msvcrt.dll___iob_func
add rax, 0x60
mov ecx, dword [rbp - 0xbc]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rbp + 0x20]
add rdx, rcx
mov rdx, qword [rdx]
mov r8, rdx
lea rcx, str.tcc:_ar:_cant_create_file__s_n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x40279f
mov eax, dword [rbp - 0xbc]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
mov qword [rbp - 0x98], rcx
mov eax, dword [rbp - 0xbc]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
mov r8, rcx
lea rax, str._s.tmp
mov r11, rax
lea rax, [rbp - 0x214]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
lea rax, [0x0040514b]
mov r11, rax
lea rax, [rbp - 0x214]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x90], rax
cmp rax, 0
jne 0x401aae
call sub.msvcrt.dll___iob_func
add rax, 0x60
lea rcx, [rbp - 0x214]
mov r8, rcx
lea rcx, str.tcc:_ar:_cant_create_temporary_file__s_n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x40279f
mov eax, 0xfa
mov dword [rbp - 0x10c], eax
mov eax, dword [rbp - 0x10c]
movsxd rax, eax
shl rax, 2
shl rax, 0x20
shr rax, 0x20
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.libtccbs.dll_tcc_realloc
mov qword [rbp - 0xf8], rax
movabs rax, 6
mov r8, rax
lea rax, str.100644
mov r11, rax
lea rax, [rbp - 0x50]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0xc0]
mov ecx, dword [rbp + 0x18]
cmp eax, ecx
jge 0x4023b6
mov eax, dword [rbp - 0xc0]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
movsx ecx, byte [rcx]
cmp ecx, 0x2d
jne 0x401b63
mov eax, dword [rbp - 0xc0]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xc0], eax
jmp 0x401b19
mov eax, dword [rbp - 0xc0]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
lea rax, [0x0040517f]
mov r11, rax
mov rcx, qword [rcx]
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x80], rax
cmp rax, 0
jne 0x401be0
call sub.msvcrt.dll___iob_func
add rax, 0x60
mov ecx, dword [rbp - 0xc0]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rbp + 0x20]
add rdx, rcx
mov rdx, qword [rdx]
mov r8, rdx
lea rcx, str.tcc:_ar:_cant_open_file__s__n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x40279f
mov eax, dword [rbp - 0x254]
cmp eax, 0
je 0x401c1e
mov eax, dword [rbp - 0xc0]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
mov r11, rcx
lea rax, str.a____s_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
mov eax, 2
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_ftell
mov dword [rbp - 0xb8], eax
mov eax, 0
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov eax, dword [rbp - 0xb8]
add eax, 1
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_malloc
mov qword [rbp - 0xc8], rax
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x80]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0xc8]
mov qword [rbp - 0xa0], rax
mov rax, qword [rbp - 0xa0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 2
je 0x401d3b
call sub.msvcrt.dll___iob_func
add rax, 0x60
mov ecx, dword [rbp - 0xc0]
movsxd rcx, ecx
shl rcx, 3
mov rdx, qword [rbp + 0x20]
add rdx, rcx
mov rdx, qword [rdx]
mov r8, rdx
lea rcx, str.tcc:_ar:_Unsupported_Elf_Class:__s_n
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fprintf
jmp 0x40279f
mov rax, qword [rbp - 0xa0]
add rax, 0x28
mov rax, qword [rax]
mov rcx, qword [rbp - 0xc8]
add rcx, rax
mov rax, qword [rbp - 0xa0]
add rax, 0x3e
mov rdx, qword [rbp - 0xa0]
add rdx, 0x3a
movzx eax, word [rax]
movzx edx, word [rdx]
imul eax, edx
movsxd rax, eax
add rcx, rax
mov qword [rbp - 0xa8], rcx
mov rax, qword [rbp - 0xa8]
add rax, 0x18
mov rax, qword [rax]
mov rcx, qword [rbp - 0xc8]
add rcx, rax
mov qword [rbp - 0xd0], rcx
mov eax, 0
mov dword [rbp - 0xb4], eax
mov rax, qword [rbp - 0xa0]
add rax, 0x3c
movzx eax, word [rax]
mov ecx, dword [rbp - 0xb4]
cmp ecx, eax
jge 0x401eec
jmp 0x401ddd
mov eax, dword [rbp - 0xb4]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xb4], eax
jmp 0x401da9
mov rax, qword [rbp - 0xa0]
add rax, 0x28
mov rax, qword [rax]
mov rcx, qword [rbp - 0xc8]
add rcx, rax
mov rax, qword [rbp - 0xa0]
add rax, 0x3a
movzx eax, word [rax]
mov edx, dword [rbp - 0xb4]
imul edx, eax
movsxd rdx, edx
add rcx, rdx
mov qword [rbp - 0xa8], rcx
mov rax, qword [rbp - 0xa8]
add rax, 0x18
mov rax, qword [rax]
cmp rax, 0
jne 0x401e36
jmp 0x401dca
mov rax, qword [rbp - 0xa8]
add rax, 4
mov eax, dword [rax]
cmp eax, 2
jne 0x401e7e
mov rax, qword [rbp - 0xa8]
add rax, 0x18
mov rax, qword [rax]
mov rcx, qword [rbp - 0xc8]
add rcx, rax
mov qword [rbp - 0xd8], rcx
mov rax, qword [rbp - 0xa8]
add rax, 0x20
mov eax, dword [rax]
mov dword [rbp - 0xe4], eax
mov rax, qword [rbp - 0xa8]
add rax, 4
mov eax, dword [rax]
cmp eax, 3
jne 0x401ee7
mov rax, qword [rbp - 0xa8]
mov eax, dword [rax]
mov rcx, qword [rbp - 0xd0]
add rcx, rax
lea rax, str..strtab
mov r11, rax
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x401ee7
mov rax, qword [rbp - 0xa8]
add rax, 0x18
mov rax, qword [rax]
mov rcx, qword [rbp - 0xc8]
add rcx, rax
mov qword [rbp - 0xe0], rcx
jmp 0x401dca
mov rax, qword [rbp - 0xd8]
cmp rax, 0
je 0x402162
mov eax, dword [rbp - 0xe4]
cmp eax, 0
je 0x402162
mov eax, dword [rbp - 0xe4]
movsxd rax, eax
movabs rcx, 0x18
xor rdx, rdx
div rcx
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0x274], eax
mov eax, 1
mov dword [rbp - 0xb4], eax
mov eax, dword [rbp - 0xb4]
mov ecx, dword [rbp - 0x274]
cmp eax, ecx
jge 0x402162
jmp 0x401f6a
mov eax, dword [rbp - 0xb4]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xb4], eax
jmp 0x401f3e
mov eax, dword [rbp - 0xb4]
movsxd rax, eax
movabs rcx, 0x18
imul rax, rcx
mov rcx, qword [rbp - 0xd8]
add rcx, rax
mov qword [rbp - 0xb0], rcx
mov rax, qword [rbp - 0xb0]
add rax, 6
movzx eax, word [rax]
cmp eax, 0
je 0x40215d
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x10
je 0x402033
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x11
je 0x402033
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x12
je 0x402033
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x20
je 0x402033
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x21
je 0x402033
mov rax, qword [rbp - 0xb0]
add rax, 4
movzx eax, byte [rax]
cmp eax, 0x22
jne 0x40215d
mov rax, qword [rbp - 0xb0]
mov eax, dword [rax]
mov rcx, qword [rbp - 0xe0]
add rcx, rax
mov r10, rcx
mov rcx, r10
call sub.msvcrt.dll_strlen
add rax, 1
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0xfc], eax
mov eax, dword [rbp - 0x100]
mov ecx, dword [rbp - 0xfc]
add eax, ecx
mov r11, rax
mov rax, qword [rbp - 0xf0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.libtccbs.dll_tcc_realloc
mov qword [rbp - 0xf0], rax
mov eax, dword [rbp - 0x100]
movsxd rax, eax
mov rcx, qword [rbp - 0xf0]
add rcx, rax
mov rax, qword [rbp - 0xb0]
mov eax, dword [rax]
mov rdx, qword [rbp - 0xe0]
add rdx, rax
mov r11, rdx
mov r10, rcx
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
mov eax, dword [rbp - 0x100]
mov ecx, dword [rbp - 0xfc]
add eax, ecx
mov dword [rbp - 0x100], eax
mov eax, dword [rbp - 0x108]
add eax, 1
mov dword [rbp - 0x108], eax
mov ecx, dword [rbp - 0x10c]
cmp eax, ecx
jl 0x40213e
mov eax, dword [rbp - 0x10c]
add eax, 0xfa
mov dword [rbp - 0x10c], eax
mov eax, dword [rbp - 0x10c]
movsxd rax, eax
shl rax, 2
shl rax, 0x20
shr rax, 0x20
mov r11, rax
mov rax, qword [rbp - 0xf8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.libtccbs.dll_tcc_realloc
mov qword [rbp - 0xf8], rax
mov eax, dword [rbp - 0x108]
movsxd rax, eax
shl rax, 2
mov rcx, qword [rbp - 0xf8]
add rcx, rax
mov eax, dword [rbp - 0x104]
mov dword [rcx], eax
jmp 0x401f57
mov eax, dword [rbp - 0xc0]
movsxd rax, eax
shl rax, 3
mov rcx, qword [rbp + 0x20]
add rcx, rax
mov rcx, qword [rcx]
mov qword [rbp - 0x230], rcx
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x230]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strchr
mov qword [rbp - 0x238], rax
mov rax, qword [rbp - 0x238]
mov rcx, qword [rbp - 0x230]
cmp rax, rcx
jbe 0x402204
mov rax, qword [rbp - 0x238]
add rax, 0xffffffffffffffff
movsx eax, byte [rax]
cmp eax, 0x2f
je 0x402204
mov rax, qword [rbp - 0x238]
add rax, 0xffffffffffffffff
movsx eax, byte [rax]
cmp eax, 0x5c
je 0x402204
jmp 0x402202
mov rax, qword [rbp - 0x238]
add rax, 0xffffffffffffffff
mov qword [rbp - 0x238], rax
jmp 0x4021a4
jmp 0x4021ee
mov rax, qword [rbp - 0x238]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_strlen
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0xfc], eax
mov eax, dword [rbp - 0xfc]
movsxd rax, eax
cmp rax, 0x10
jb 0x402242
mov eax, 0xf
mov dword [rbp - 0xfc], eax
movabs rax, 0x10
mov r8, rax
mov eax, 0x20
mov r11, rax
lea rax, [rbp - 0x78]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0xfc]
movsxd rax, eax
mov r8, rax
mov rax, qword [rbp - 0x238]
mov r11, rax
lea rax, [rbp - 0x78]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0xfc]
movsxd rax, eax
lea rcx, [rbp - 0x78]
add rcx, rax
mov eax, 0x2f
mov byte [rcx], al
mov eax, dword [rbp - 0xb8]
mov r8, rax
lea rax, [0x004051d4]
mov r11, rax
lea rax, [rbp - 0x228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
movabs rax, 0xa
mov r8, rax
lea rax, [rbp - 0x228]
mov r11, rax
lea rax, [rbp - 0x48]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x90]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 0x3c
mov r11, rax
lea rax, [rbp - 0x78]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x90]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
mov eax, dword [rbp - 0xc0]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xc0], eax
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
add rax, 0x3c
mov ecx, dword [rbp - 0x104]
movsxd rcx, ecx
add rcx, rax
shl rcx, 0x20
shr rcx, 0x20
mov dword [rbp - 0x104], ecx
jmp 0x401b19
mov eax, dword [rbp - 0x100]
movsxd rax, eax
add rax, 0x44
mov ecx, dword [rbp - 0x108]
add ecx, 1
movsxd rcx, ecx
shl rcx, 2
add rax, rcx
shl rax, 0x20
shr rax, 0x20
mov dword [rbp - 0x110], eax
mov eax, 0
mov dword [rbp - 0x104], eax
mov eax, dword [rbp - 0x110]
and eax, 1
cmp eax, 0
je 0x40241d
mov eax, dword [rbp - 0x110]
mov ecx, eax
add eax, 1
mov dword [rbp - 0x110], eax
mov eax, 1
mov dword [rbp - 0x104], eax
mov rax, qword [rbp - 0x88]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 8
mov r11, rax
lea rax, str.__arch__n
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp - 0x108]
cmp eax, 0
jne 0x402475
mov eax, 0
mov dword [rbp - 0x23c], eax
jmp 0x40279f
mov eax, dword [rbp - 0x108]
add eax, 1
movsxd rax, eax
shl rax, 2
mov ecx, dword [rbp - 0x100]
movsxd rcx, ecx
add rcx, rax
shl rcx, 0x20
shr rcx, 0x20
mov eax, dword [rbp - 0x104]
add ecx, eax
mov r8, rcx
lea rax, str.__10d
mov r11, rax
lea rax, [rbp - 0x228]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_sprintf
movabs rax, 0xa
mov r8, rax
lea rax, [rbp - 0x228]
mov r11, rax
lea rax, [rbp - 0xc]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x88]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 0x3c
mov r11, rax
lea rax, [rbp - 0x3c]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0xf8]
mov ecx, dword [rbp - 0x108]
mov r10, rcx
mov qword [rbp - 0x280], rax
mov rcx, r10
call fcn.00401000
mov rcx, qword [rbp - 0x280]
mov dword [rcx], eax
mov eax, 1
mov dword [rbp - 0xb4], eax
mov eax, dword [rbp - 0xb4]
mov ecx, dword [rbp - 0x108]
cmp eax, ecx
jg 0x4025d6
jmp 0x402581
mov eax, dword [rbp - 0xb4]
mov ecx, eax
add eax, 1
mov dword [rbp - 0xb4], eax
jmp 0x402555
mov eax, dword [rbp - 0xb4]
movsxd rax, eax
shl rax, 2
mov rcx, qword [rbp - 0xf8]
add rcx, rax
mov eax, dword [rbp - 0xb4]
movsxd rax, eax
shl rax, 2
mov rdx, qword [rbp - 0xf8]
add rdx, rax
mov edx, dword [rdx]
mov eax, dword [rbp - 0x110]
add edx, eax
mov r10, rdx
mov qword [rbp - 0x280], rcx
mov rcx, r10
call fcn.00401000
mov rcx, qword [rbp - 0x280]
mov dword [rcx], eax
jmp 0x40256e
mov eax, dword [rbp - 0x108]
add eax, 1
movsxd rax, eax
shl rax, 2
mov rcx, qword [rbp - 0x88]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xf8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp - 0x100]
movsxd rax, eax
mov rcx, qword [rbp - 0x88]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xf0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, dword [rbp - 0x104]
cmp eax, 0
je 0x402695
mov rax, qword [rbp - 0x88]
mov r9, rax
movabs rax, 1
mov r8, rax
movabs rax, 1
mov r11, rax
lea rax, [0x004051e9]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov eax, 2
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x90]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov rax, qword [rbp - 0x90]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_ftell
mov dword [rbp - 0xb8], eax
mov eax, 0
mov r8, rax
mov eax, 0
mov r11, rax
mov rax, qword [rbp - 0x90]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fseek
mov eax, dword [rbp - 0xb8]
add eax, 1
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_malloc
mov qword [rbp - 0xc8], rax
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x90]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fread
mov eax, dword [rbp - 0xb8]
movsxd rax, eax
mov rcx, qword [rbp - 0x88]
mov r9, rcx
movabs rcx, 1
mov r8, rcx
mov r11, rax
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0xc8]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
mov eax, 0
mov dword [rbp - 0x23c], eax
mov rax, qword [rbp - 0xf0]
cmp rax, 0
je 0x4027c2
mov rax, qword [rbp - 0xf0]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
mov rax, qword [rbp - 0xf8]
cmp rax, 0
je 0x4027e5
mov rax, qword [rbp - 0xf8]
mov r10, rax
mov rcx, r10
call sub.libtccbs.dll_tcc_free
mov rax, qword [rbp - 0x88]
cmp rax, 0
je 0x402808
mov rax, qword [rbp - 0x88]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
mov rax, qword [rbp - 0x98]
cmp rax, 0
je 0x40283a
mov eax, dword [rbp - 0x23c]
cmp eax, 0
je 0x40283a
mov rax, qword [rbp - 0x98]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_remove
mov rax, qword [rbp - 0x90]
cmp rax, 0
je 0x40286f
mov rax, qword [rbp - 0x90]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_fclose
lea rax, [rbp - 0x214]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_remove
mov eax, dword [rbp - 0x23c]
leave
ret