Function at 0x140001520
Capabilities:
Create thread
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push r14
push r15
sub rsp, 0x50
xor r14b, r14b
mov ebx, ecx
cmp ecx, 1
lea rcx, str._nCompare_file_sync_methods_using_one__dkB_write:_n
je 0x140001546
lea rcx, str._nCompare_file_sync_methods_using_two__dkB_writes:_n
call sub.libintl_8.dll_libintl_gettext
mov edx, 8
mov rcx, rax
call fcn.140004b00
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rdi
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
lea rcx, str._in_wal_sync_method_preference_order__except_fdatasync_is_Linuxs_default__n
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.140004b00
lea rdx, str.open_datasync
lea rcx, str.__________30s
call fcn.140004b00
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
mov rcx, qword [str.._pg_test_fsync.out]
xor r8d, r8d
mov edx, 0x80000082
call qword [sym.imp.MSVCR120.dll__open]
xor r15d, r15d
mov esi, eax
cmp eax, 0xffffffff
jne 0x1400015e5
lea rcx, str.n_a
call sub.libintl_8.dll_libintl_gettext
lea rcx, str._21s_n
mov rdx, rax
call fcn.140004b00
mov r14b, 1
jmp 0x14000173a
lea r8, [0x140002200]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r15
mov byte [0x14000c0d4], r15b
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, 0xffffffffffffffff
jne 0x14000163d
lea rcx, str.Could_not_create_thread_for_alarm_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov rdx, rbx
lea rcx, [rax + 0x60]
call fcn.140004ad0
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, [0x14100c0e8]
xor edx, edx
call fcn.140006780
mov ebp, r15d
cmp byte [0x14000c0d4], bpl
jne 0x1400016a7
mov edi, r15d
test ebx, ebx
jle 0x140001686
nop
mov rdx, qword [0x14100c0e0]
mov r8d, 0x2000
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__write]
cmp eax, 0x2000
jne 0x140001b64
inc edi
cmp edi, ebx
jl 0x140001660
xor r8d, r8d
xor edx, edx
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__lseek]
cmp eax, 0xffffffff
je 0x140001b71
inc ebp
cmp byte [0x14000c0d4], r15b
je 0x140001657
lea rcx, [0x14100c0f0]
xor edx, edx
call fcn.140006780
mov rcx, qword [0x14100c0f0]
mov rax, qword [0x14100c0e8]
movd xmm7, ebp
mov r8, rcx
sub ecx, eax
mov rdx, rax
cvtdq2pd xmm7, xmm7
shr r8, 0x20
shr rdx, 0x20
sub r8d, edx
movd xmm0, ecx
lea rcx, str._13.3f_ops_sec___6.0f_usecs_op_n
movd xmm1, r8d
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x140009a88]
addsd xmm1, xmm0
movaps xmm6, xmm1
divsd xmm6, xmm7
divsd xmm7, xmm1
mulsd xmm6, qword [0x140009a90]
call sub.libintl_8.dll_libintl_gettext
movaps xmm2, xmm6
movaps xmm1, xmm7
mov rcx, rax
movq r8, xmm2
movq rdx, xmm1
call fcn.140004b00
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__close]
lea rdx, str.fdatasync
lea rcx, str.__________30s
call fcn.140004b00
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
lea rcx, [0x140009794]
call sub.libintl_8.dll_libintl_gettext
lea rcx, str._21s_n
mov rdx, rax
call fcn.140004b00
lea rdx, str.fsync
lea rcx, str.__________30s
call fcn.140004b00
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
mov rcx, qword [str.._pg_test_fsync.out]
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCR120.dll__open]
mov esi, eax
cmp eax, 0xffffffff
je 0x140001b57
lea r8, [0x140002200]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r15
mov byte [0x14000c0d4], r15b
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, 0xffffffffffffffff
jne 0x140001812
lea rcx, str.Could_not_create_thread_for_alarm_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov rdx, rbx
lea rcx, [rax + 0x60]
call fcn.140004ad0
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, [0x14100c0e8]
xor edx, edx
call fcn.140006780
mov ebp, r15d
cmp byte [0x14000c0d4], bpl
jne 0x140001897
nop dword [rax]
mov edi, r15d
test ebx, ebx
jle 0x140001866
nop word [rax + rax]
mov rdx, qword [0x14100c0e0]
mov r8d, 0x2000
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__write]
cmp eax, 0x2000
jne 0x140001b8b
inc edi
cmp edi, ebx
jl 0x140001840
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__commit]
test eax, eax
jne 0x140001ba5
xor r8d, r8d
xor edx, edx
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__lseek]
cmp eax, 0xffffffff
je 0x140001b98
inc ebp
cmp byte [0x14000c0d4], r15b
je 0x140001830
lea rcx, [0x14100c0f0]
xor edx, edx
call fcn.140006780
mov rcx, qword [0x14100c0f0]
mov rax, qword [0x14100c0e8]
movd xmm7, ebp
mov r8, rcx
sub ecx, eax
mov rdx, rax
cvtdq2pd xmm7, xmm7
shr r8, 0x20
shr rdx, 0x20
sub r8d, edx
movd xmm0, ecx
lea rcx, str._13.3f_ops_sec___6.0f_usecs_op_n
movd xmm1, r8d
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x140009a88]
addsd xmm1, xmm0
movaps xmm6, xmm1
divsd xmm6, xmm7
divsd xmm7, xmm1
mulsd xmm6, qword [0x140009a90]
call sub.libintl_8.dll_libintl_gettext
movaps xmm2, xmm6
movaps xmm1, xmm7
mov rcx, rax
movq r8, xmm2
movq rdx, xmm1
call fcn.140004b00
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__close]
lea rdx, str.fsync_writethrough
lea rcx, str.__________30s
call fcn.140004b00
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
mov rcx, qword [str.._pg_test_fsync.out]
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCR120.dll__open]
mov esi, eax
cmp eax, 0xffffffff
je 0x140001b7e
lea r8, [0x140002200]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r15
mov byte [0x14000c0d4], r15b
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, 0xffffffffffffffff
jne 0x1400019c4
lea rcx, str.Could_not_create_thread_for_alarm_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov rdx, rbx
lea rcx, [rax + 0x60]
call fcn.140004ad0
mov ecx, 1
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, [0x14100c0e8]
xor edx, edx
call fcn.140006780
mov ebp, r15d
cmp byte [0x14000c0d4], bpl
jne 0x140001a47
nop
mov edi, r15d
test ebx, ebx
jle 0x140001a16
nop word [rax + rax]
mov rdx, qword [0x14100c0e0]
mov r8d, 0x2000
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__write]
cmp eax, 0x2000
jne 0x140001bb2
inc edi
cmp edi, ebx
jl 0x1400019f0
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__commit]
test eax, eax
jne 0x140001bcc
xor r8d, r8d
xor edx, edx
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__lseek]
cmp eax, 0xffffffff
je 0x140001bbf
inc ebp
cmp byte [0x14000c0d4], r15b
je 0x1400019e0
lea rcx, [0x14100c0f0]
xor edx, edx
call fcn.140006780
mov rdx, qword [0x14100c0f0]
mov rax, qword [0x14100c0e8]
movd xmm7, ebp
mov r8, rdx
mov rcx, rax
sub edx, eax
cvtdq2pd xmm7, xmm7
shr rcx, 0x20
shr r8, 0x20
sub r8d, ecx
lea rcx, str._13.3f_ops_sec___6.0f_usecs_op_n
movd xmm0, edx
movd xmm1, r8d
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x140009a88]
addsd xmm1, xmm0
movaps xmm6, xmm1
divsd xmm6, xmm7
divsd xmm7, xmm1
mulsd xmm6, qword [0x140009a90]
call sub.libintl_8.dll_libintl_gettext
movaps xmm2, xmm6
movaps xmm1, xmm7
mov rcx, rax
movq r8, xmm2
movq rdx, xmm1
call fcn.140004b00
mov ecx, esi
call qword [sym.imp.MSVCR120.dll__close]
lea rdx, str.open_sync
lea rcx, str.__________30s
call fcn.140004b00
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
lea rcx, [0x140009794]
call sub.libintl_8.dll_libintl_gettext
lea rcx, str._21s_n
mov rdx, rax
call fcn.140004b00
test r14b, r14b
je 0x140001b31
lea rcx, str._This_file_system_and_its_mount_options_do_not_support_direct_n__I_O__e.g._ext4_in_journaled_mode._n
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.140004b00
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rsi
ret
lea rcx, str.could_not_open_output_file
call fcn.140002320
int3
lea rcx, str.write_failed
call fcn.140002320
int3
lea rcx, str.seek_failed
call fcn.140002320
int3
lea rcx, str.could_not_open_output_file
call fcn.140002320
int3
lea rcx, str.write_failed
call fcn.140002320
int3
lea rcx, str.seek_failed
call fcn.140002320
int3
lea rcx, str.fsync_failed
call fcn.140002320
int3
lea rcx, str.write_failed
call fcn.140002320
int3
lea rcx, str.seek_failed
call fcn.140002320
int3
lea rcx, str.fsync_failed
call fcn.140002320
int3