Function at 0x140002930
Capabilities:
Delete file
Move file

Disassembly:
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x20c0
call fcn.140005680
sub rsp, rax
mov rax, qword [0x14000b428]
xor rax, rsp
mov qword [rsp + 0x20b0], rax
mov dword [rsp + 0x44], 0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x20d0]
mov rcx, qword [rcx + 0x60]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x40], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0xb0], al
lea rax, [rsp + 0xb1]
mov rdi, rax
xor eax, eax
mov ecx, 0x1ff
rep stosb byte [rdi], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0x6b0], al
lea rax, [rsp + 0x6b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x1ff
rep stosb byte [rdi], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0x4b0], al
lea rax, [rsp + 0x4b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x1ff
rep stosb byte [rdi], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0x10b0], al
lea rax, [rsp + 0x10b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x7ff
rep stosb byte [rdi], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0x18b0], al
lea rax, [rsp + 0x18b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x7ff
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x20d0]
call fcn.1400016a0
movsx eax, byte [rsp + 0x40]
cmp eax, 0x66
jne 0x140002b15
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x140002b07
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x78]
lea rcx, [rsp + 0xb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x20], 0
je 0x140002aa7
lea rdx, [0x140009338]
lea rcx, [rsp + 0xb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x20]
lea rcx, [rsp + 0xb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140002adc
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, [rsp + 0xb0]
lea rdx, str._Install:_Files_mode__copying_files_to__s.._n
mov rcx, rax
call fcn.140004400
mov rax, qword [rsp + 0x20d0]
mov rax, qword [rax]
mov r8, qword [rax]
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x50]
lea rcx, [rsp + 0xb0]
call fcn.140003d10
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
mov byte [rsp + 0x48], 0
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x38]
lea rcx, [rsp + 0xb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
lea rdx, [0x140009338]
lea rcx, [rsp + 0xb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x48]
lea rcx, [rsp + 0x6b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
lea rdx, [0x140009338]
lea rcx, [rsp + 0x6b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
lea rdx, [rsp + 0x6b0]
lea rcx, [rsp + 0x10b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x20]
lea rcx, [rsp + 0x4b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
lea rdx, str..dat
lea rcx, [rsp + 0x4b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x10b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140002c00
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, [rsp + 0x10b0]
lea rdx, str._Writing_package_file__s_.._n
mov rcx, rax
call fcn.140004400
mov rax, qword [rsp + 0x20d0]
mov rax, qword [rax]
mov byte [rsp + 0x28], 0x6c
mov qword [rsp + 0x20], 0
mov r9, qword [rax]
mov rax, qword [rsp + 0x20d0]
mov r8, qword [rax + 0x50]
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x70]
lea rcx, [rsp + 0x10b0]
call sub.icutu58.dll_writePackageDatFile
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x140002c6f
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_writing_package_dat_file._n
mov rcx, rax
call fcn.140004400
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
movsx eax, byte [rsp + 0x40]
cmp eax, 0x61
je 0x140002c87
movsx eax, byte [rsp + 0x40]
cmp eax, 0x63
jne 0x140002e0b
movzx eax, byte [0x140009104]
mov byte [rsp + 0x8b0], al
lea rax, [rsp + 0x8b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x7ff
rep stosb byte [rdi], al
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x8b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x8b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x10b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x140002dd1
lea rcx, [rsp + 0x8b0]
call sub.icutu58.dll_T_FileStream_file_exists
movsx eax, al
test eax, eax
je 0x140002d48
lea rcx, [rsp + 0x8b0]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x140002d48
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, [rsp + 0x8b0]
lea rdx, str.Unable_to_remove_old_dat_file:__s_n
mov rcx, rax
call fcn.140004400
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x10b0]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140002d97
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, [rsp + 0x8b0]
lea rdx, str._Moving_package_file_to__s_.._n
mov rcx, rax
call fcn.140004400
cmp dword [rsp + 0x44], 0
je 0x140002dd1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r9, [rsp + 0x8b0]
lea r8, [rsp + 0x10b0]
lea rdx, str.Unable_to_move_dat_file___s__to_target_location___s_._n
mov rcx, rax
call fcn.140004400
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x140002dfd
lea rdx, [rsp + 0x8b0]
mov rax, qword [rsp + 0x20d0]
mov rcx, qword [rax + 0x78]
call fcn.140003bd0
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
movzx eax, byte [0x140009104]
mov byte [rsp + 0x2b0], al
lea rax, [rsp + 0x2b1]
mov rdi, rax
xor eax, eax
mov ecx, 0x1ff
rep stosb byte [rdi], al
movzx eax, byte [0x140009104]
mov byte [rsp + 0x88], al
lea rax, [rsp + 0x89]
mov rdi, rax
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
mov byte [rsp + 0x49], 0
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x68], 0
je 0x140002ee8
mov dword [rsp + 0x4c], 0
jmp 0x140002e7b
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
cmp rax, 0xa
jae 0x140002ee6
mov eax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x20d0]
mov rcx, qword [rcx + 0x68]
movsx eax, byte [rcx + rax]
cmp eax, 0x2e
jne 0x140002ec5
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0xa
jae 0x140002eb1
jmp 0x140002eb6
call fcn.140005454
mov rax, qword [rsp + 0x60]
mov byte [rsp + rax + 0x88], 0
jmp 0x140002ee6
mov eax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x20d0]
mov rcx, qword [rcx + 0x68]
mov edx, dword [rsp + 0x4c]
movzx eax, byte [rcx + rax]
mov byte [rsp + rdx + 0x88], al
jmp 0x140002e71
jmp 0x140002f1b
mov byte [rsp + 0x48], 1
movsx eax, byte [rsp + 0x40]
cmp eax, 0x64
je 0x140002f01
movsx eax, byte [rsp + 0x40]
cmp eax, 0x6c
jne 0x140002f1b
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Warning:_Providing_a_revision_number_with_the__r_option_is_recommended_when_packaging_data_in_the_current_mode._n
mov rcx, rax
call fcn.140004400
mov eax, 8
imul rax, rax, 5
mov qword [rsp + 0x78], rax
mov ecx, 8
imul rcx, rcx, 5
mov rdx, qword [0x14000b470]
mov rcx, qword [rdx + rcx]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [0x14000b470]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rcx + rdx]
movsx eax, byte [rcx + rax - 1]
mov dword [rsp + 0x58], eax
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + 0x80], rcx
mov edx, 8
imul rdx, rdx, 1
mov rdi, qword [0x14000b470]
mov rcx, qword [rdi + rdx]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [0x14000b470]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rcx + rdx]
movsx eax, byte [rcx + rax - 1]
mov ecx, dword [rsp + 0x58]
cmp ecx, eax
jne 0x140002faa
mov byte [rsp + 0x49], 1
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x68], 0
jne 0x140002fc7
lea rax, [0x140009104]
mov qword [rsp + 0x68], rax
jmp 0x140002fd8
mov rax, qword [rsp + 0x20d0]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x20d0]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x68]
lea r8, [rsp + 0x88]
movzx edx, byte [rsp + 0x40]
mov rcx, qword [rsp + 0x20d0]
call fcn.140001030
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x68], 0
jne 0x14000303a
movsx eax, byte [rsp + 0x40]
cmp eax, 0x73
jne 0x140003244
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x90]
test eax, eax
jne 0x140003244
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x94]
test eax, eax
jne 0x140003244
mov eax, 0x100
imul rax, rax, 2
lea rcx, [0x14000b480]
add rcx, rax
mov rax, rcx
mov r9, rax
lea r8, [rsp + 0xb0]
lea rdx, str._s_s
lea rcx, [rsp + 0x18b0]
call fcn.140005100
lea rcx, [rsp + 0x18b0]
call sub.icutu58.dll_T_FileStream_file_exists
movsx eax, al
test eax, eax
je 0x1400031f4
mov r8b, 1
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x50]
lea rcx, [rsp + 0x18b0]
call sub.icutu58.dll_isFileModTimeLater
movsx eax, al
test eax, eax
je 0x1400031a2
xor r8d, r8d
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x58]
lea rcx, [rsp + 0x18b0]
call sub.icutu58.dll_isFileModTimeLater
movsx eax, al
test eax, eax
je 0x1400031a2
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x140003170
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x14000314b
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, qword [rsp + 0x20d0]
mov r8, qword [rcx + 0x78]
lea rdx, str._Installing_already_built_library_into__s_n
mov rcx, rax
call fcn.140004400
movzx r8d, byte [rsp + 0x48]
lea rdx, [rsp + 0xb0]
mov rax, qword [rsp + 0x20d0]
mov rcx, qword [rax + 0x78]
call fcn.140003fb0
mov dword [rsp + 0x44], eax
jmp 0x140003197
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140003197
lea rdx, [rsp + 0x18b0]
lea rcx, str._Not_rebuilding__s___up_to_date._n
call fcn.1400050a0
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x1400031f2
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x1400031f2
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, qword [rsp + 0x20d0]
mov r9, qword [rcx + 0x78]
lea r8, [rsp + 0x18b0]
lea rdx, str._Not_installing_up_to_date_library__s_into__s_n
mov rcx, rax
call fcn.140004400
jmp 0x140003244
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140003244
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x140003244
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, qword [rsp + 0x20d0]
mov r9, qword [rcx + 0x78]
lea r8, [rsp + 0x18b0]
lea rdx, str._Not_installing_missing__s_into__s_n
mov rcx, rax
call fcn.140004400
mov rcx, qword [rsp + 0x20d0]
call fcn.140001fe0
test rax, rax
jne 0x14000325f
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x93]
test eax, eax
jne 0x14000345b
mov eax, 8
imul rax, rax, 0
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [0x14000b470]
mov rax, qword [rdx + rax]
movsx eax, byte [rax + rcx]
test eax, eax
je 0x14000345b
mov eax, 8
imul rax, rax, 0
mov rcx, qword [0x14000b470]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x1400032f2
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, qword [rsp + 0x50]
lea r8, [rsp + 0x2b0]
lea rdx, str._Generating_assembly_code__s_of_type__s_.._n
mov rcx, rax
call fcn.140004400
cmp qword [rsp + 0x50], 0
je 0x14000342d
mov rcx, qword [rsp + 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
cmp rax, 3
jbe 0x14000342d
mov rax, qword [rsp + 0x50]
add rax, 3
mov rcx, rax
call sub.icutu58.dll_checkAssemblyHeaderName
movsx eax, al
test eax, eax
je 0x14000342d
lea rax, [rsp + 0x2b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov rax, qword [rsp + 0x20d0]
mov r8, qword [rax + 0x30]
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x48]
lea rcx, [rsp + 0x10b0]
call sub.icutu58.dll_writeAssemblyCode
lea r8, [rsp + 0x2b0]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.1400026f0
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x1400033ad
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_generating_assembly_code_for_data._n
mov rcx, rax
call fcn.140004400
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
movsx eax, byte [rsp + 0x40]
cmp eax, 0x73
jne 0x14000342b
mov rax, qword [rsp + 0x20d0]
cmp qword [rax + 0x78], 0
je 0x140003422
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x1400033ff
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, qword [rsp + 0x20d0]
mov r8, qword [rcx + 0x78]
lea rdx, str._Installing_static_library_into__s_n
mov rcx, rax
call fcn.140004400
movzx r8d, byte [rsp + 0x48]
lea rdx, [rsp + 0xb0]
mov rax, qword [rsp + 0x20d0]
mov rcx, qword [rax + 0x78]
call fcn.140003fb0
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
jmp 0x140003456
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x50]
lea rdx, str.Assembly_type___s__is_unknown._n
mov rcx, rax
call fcn.140004400
mov eax, 0xffffffff
jmp 0x1400035a6
jmp 0x1400035a2
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x91]
test eax, eax
je 0x140003490
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, [rsp + 0x2b0]
lea rdx, str._Writing_object_code_to__s_.._n
mov rcx, rax
call fcn.140004400
mov rax, qword [rsp + 0x20d0]
movsx eax, byte [rax + 0x93]
test eax, eax
je 0x1400034c2
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error__BUILD_DATA_WITHOUT_ASSEMBLY_is_not_defined._Internal_error._n
mov rcx, rax
call fcn.140004400
jmp 0x14000357b
lea rax, [rsp + 0x98]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
lea rcx, [rsp + 0x98]
call fcn.140001ff0
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rsp + rax + 0x98]
test eax, eax
jne 0x140003503
mov qword [rsp + 0x70], 0
jmp 0x140003510
lea rax, [rsp + 0x98]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x2b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x70]
mov rax, qword [rsp + 0x20d0]
mov r8, qword [rax + 0x30]
mov rax, qword [rsp + 0x20d0]
mov rdx, qword [rax + 0x48]
lea rcx, [rsp + 0x10b0]
call sub.icutu58.dll_writeObjectCode
lea rcx, [rsp + 0x98]
call fcn.1400028e0
mov r8, qword [rsp + 0x20d0]
lea rdx, [rsp + 0x2b0]
movzx ecx, byte [rsp + 0x40]
call fcn.1400022e0
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x1400035a2
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_generating_package_data._n
mov rcx, rax
call fcn.140004400
mov eax, dword [rsp + 0x44]
jmp 0x1400035a6
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x20b0]
xor rcx, rsp
call fcn.1400056f0
add rsp, 0x20c0
pop rdi
ret