Function at 0x140003640
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x1400c8008]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
xor r15d, r15d
lea ecx, [r15 + 0x40]
call fcn.1400997c8
mov rbx, rax
mov qword [rax], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rax + 0x20], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], reloc.WS2_32.dll_ntohs
lea r8d, [r15 + 9]
lea rdx, str.fonts.zip
mov rcx, rax
call fcn.140006300
mov rcx, qword [0x1400cd230]
mov r9, qword [rcx]
mov r8, rbx
lea rdx, [rbp - 0x58]
call qword [r9 + reloc.WS2_32.dll_recv]
mov rcx, rbx
call fcn.140003e20
cmp byte [rbp - 0x48], r15b
jne 0x1400036ff
xor r9d, r9d
lea r8, [0x14009ecb0]
lea rdx, str.Unable_to_contact_REST_Service.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x80004005
jmp 0x140003de1
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
movups xmmword [rbp + 0x470], xmm0
movups xmmword [rbp + 0x480], xmm0
movups xmmword [rbp + 0x490], xmm0
movups xmmword [rbp + 0x4a0], xmm0
movups xmmword [rbp + 0x4b0], xmm0
movups xmmword [rbp + 0x4c0], xmm0
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp + 0x460]
call fcn.14000ea10
test eax, eax
jne 0x14000376e
xor r9d, r9d
lea r8, [0x14009ecb0]
lea rdx, str.Failed_to_initialize_zip_archive.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x80004005
jmp 0x140003de1
mov eax, dword [rbp + 0x470]
mov r13d, eax
mov r12, r15
test eax, eax
je 0x140003dd3
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbp + 0x4c8]
mov edi, r12d
test rdx, rdx
je 0x1400037b4
cmp r12d, eax
jae 0x1400037b4
mov ecx, r12d
mov rax, qword [rdx + 0x20]
mov r8d, dword [rax + rcx*4]
add r8, qword [rdx]
jmp 0x1400037b7
mov r8, r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x40]
mov edx, edi
lea rcx, [rbp + 0x460]
call fcn.14000eb60
test eax, eax
je 0x140003892
xorps xmm0, xmm0
mov rsi, qword [rbp - 0x18]
movdqu xmmword [rbp + 0x440], xmm0
mov r14, r15
mov qword [rbp + 0x450], r15
test rsi, rsi
je 0x14000382e
mov rdx, rsi
lea rcx, [rbp + 0x440]
call fcn.1400077a0
mov rbx, qword [rbp + 0x440]
lea r15, [rsi + rbx]
mov r8, r15
sub r8, rbx
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x448], r15
mov r14, qword [rbp + 0x450]
jmp 0x14000383c
mov r15, qword [rbp + 0x448]
mov rbx, qword [rbp + 0x440]
sub r15, rbx
mov r9, r15
mov r8, rbx
mov edx, edi
lea rcx, [rbp + 0x460]
call fcn.14000f160
test eax, eax
jne 0x1400038a9
test rbx, rbx
je 0x14000388f
sub r14, rbx
mov rax, rbx
cmp r14, 0x1000
jb 0x140003884
add r14, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003dcc
mov rdx, r14
mov rcx, rbx
call fcn.1400997c0
xor r15d, r15d
inc r12
cmp r12, r13
jae 0x140003dd3
mov eax, dword [rbp + 0x470]
jmp 0x140003790
mov ecx, 0x104
call fcn.140099a54
mov rsi, rax
mov rax, qword [rbp + 0x4c8]
test rax, rax
je 0x140003906
cmp edi, dword [rbp + 0x470]
jae 0x140003906
mov edx, edi
mov rcx, qword [rax + 0x20]
mov edx, dword [rcx + rdx*4]
add rdx, qword [rax]
je 0x140003906
movzx ecx, byte [rdx + 0x1d]
shl ecx, 8
movzx eax, byte [rdx + 0x1c]
or ecx, eax
mov eax, 0x103
cmp ecx, eax
cmovae ecx, eax
mov edi, ecx
add rdx, 0x2e
mov r8d, ecx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
jmp 0x140003913
mov byte [rsi], 0
mov dword [rbp + 0x47c], 0x18
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x80], dil
lea r8d, [rdi + 0x11]
lea rdx, str.C:WindowsFonts_
lea rcx, [rbp - 0x80]
call fcn.140006300
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x140003945
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140006460
mov qword [rbp + 0x420], rdi
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x438], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x420], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x430], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400039cf
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400039ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003da9
call fcn.1400997c0
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x80], 0
lea rcx, [rbp + 0x420]
cmp qword [rbp + 0x438], 0x10
cmovae rcx, qword [rbp + 0x420]
lea rdx, [0x14009eedc]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rdi, rax
test rax, rax
jne 0x140003b18
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [rax]
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov rdi, rax
lea rdx, str.Error_opening_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140006a50
mov rcx, rax
mov rdx, rdi
call fcn.140006a50
mov rcx, rax
lea rdx, str.__errno:
call fcn.140006a50
mov rcx, rax
mov edx, esi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x14009eee0]
call fcn.140006a50
mov rcx, rax
lea rdx, [0x140007270]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp + 0x438]
cmp rdx, 0x10
jb 0x140003abb
inc rdx
mov rcx, qword [rbp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ab6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003dc5
call fcn.1400997c0
xor r15d, r15d
mov byte [rbp + 0x420], r15b
mov qword [rbp + 0x438], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x430], r15
test rbx, rbx
je 0x140003892
sub r14, rbx
cmp r14, 0x1000
mov rax, rbx
jb 0x140003b08
add r14, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003dcc
mov rdx, r14
mov rcx, rbx
call fcn.1400997c0
jmp 0x140003892
mov r9, rdi
mov r8, r15
mov edx, 1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
xor r15d, r15d
test rax, rax
jne 0x140003c66
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], r15b
lea r8d, [r15 + 0x24]
lea rdx, str.0_Byte_s__written_whilst_extracting
lea rcx, [rsp + 0x40]
call fcn.140006300
nop
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x140003b70
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140006460
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
xor r9d, r9d
lea r8, [0x14009ef10]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140003c16
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003db0
call fcn.1400997c0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140003c66
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003db7
call fcn.1400997c0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, [rbp + 0x420]
cmp qword [rbp + 0x438], 0x10
cmovae rcx, qword [rbp + 0x420]
call qword [sym.imp.GDI32.dll_AddFontResourceA]
test eax, eax
jne 0x140003d9f
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], al
lea r8d, [rax + 0x12]
lea rdx, str.Unable_to_install
lea rcx, [rsp + 0x40]
call fcn.140006300
nop
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x140003cd0
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140006460
mov r8d, 0x2d
lea rdx, str.._The_application_might_not_work_as_expected.
mov rcx, rax
call fcn.140006460
cmp qword [rax + 0x18], 0x10
jb 0x140003d06
mov rax, qword [rax]
xor r9d, r9d
lea r8, [0x14009ef10]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140003d56
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003d50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003dbe
call fcn.1400997c0
nop
mov rdx, qword [rbp + 0x438]
cmp rdx, 0x10
jb 0x140003d93
inc rdx
mov rcx, qword [rbp + 0x420]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140003d8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003dc5
call fcn.1400997c0
mov byte [rbp + 0x420], 0
jmp 0x140003ac5
mov rcx, rsi
call fcn.1400997c0
jmp 0x140003d56
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [rbp + 0x460]
call fcn.14000e8b0
xor eax, eax
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.1400997a0
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret