Function at 0x44c130
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x288c
call fcn.006a8ce0
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
call dword [sym.imp.MSVCR100.dll__getpid]
push eax
push str.pg_xlog_xlogtemp._d
lea eax, [ebp - 0x484]
push 0x400
push eax
call sym.postgres.exe_pg_snprintf
lea ecx, [ebp - 0x484]
push ecx
call sym.postgres.exe_pgunlink
push 0x180
lea edx, [ebp - 0x484]
push 0x502
push edx
call sym.postgres.exe_BasicOpenFile
add esp, 0x20
mov dword [ebp - 0x2888], eax
test eax, eax
jns 0x44c1d5
push 0
push str.writeTimeLineHistory
push 0x1275
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c1d5
lea eax, [ebp - 0x484]
push eax
push str.could_not_create_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp byte [0x8334d6], 0
push esi
je 0x44c214
mov esi, dword [ebp + 0xc]
push esi
push str._08X.history
lea ecx, [ebp - 0x84]
push 0x40
push ecx
call sym.postgres.exe_pg_snprintf
push 0
lea edx, [ebp - 0x884]
push str.RECOVERYHISTORY
push edx
lea ecx, [ebp - 0x84]
call fcn.0044ab20
add esp, 0x1c
jmp 0x44c234
mov eax, dword [ebp + 0xc]
push eax
push str.pg_xlog__08X.history
lea ecx, [ebp - 0x884]
push 0x400
push ecx
call sym.postgres.exe_pg_snprintf
mov esi, dword [ebp + 0xc]
add esp, 0x10
push ebx
push edi
push 0
lea edx, [ebp - 0x884]
push 0
push edx
call sym.postgres.exe_BasicOpenFile
mov edi, dword [sym.imp.MSVCR100.dll__errno]
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x288c], ebx
test ebx, ebx
jns 0x44c2b1
call edi
cmp dword [eax], 2
je 0x44c3c6
push 0
push str.writeTimeLineHistory
push 0x1288
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c3c6
lea eax, [ebp - 0x884]
push eax
push str.could_not_open_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
jmp 0x44c3c6
call edi
push 0x2000
lea ecx, [ebp - 0x2884]
push ecx
push ebx
mov dword [eax], 0
call dword [sym.imp.MSVCR100.dll__read]
mov esi, eax
add esp, 0xc
test esi, esi
js 0x44c2dc
call edi
cmp dword [eax], 0
je 0x44c31e
push 0
push str.writeTimeLineHistory
push 0x1294
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c31e
lea edx, [ebp - 0x884]
push edx
push str.could_not_read_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
test esi, esi
je 0x44c3b9
call edi
mov ecx, dword [ebp - 0x2888]
mov dword [eax], 0
push esi
lea eax, [ebp - 0x2884]
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__write]
add esp, 0xc
cmp eax, esi
je 0x44c2b1
call edi
mov esi, dword [eax]
lea edx, [ebp - 0x484]
push edx
call sym.postgres.exe_pgunlink
add esp, 4
test esi, esi
jne 0x44c36a
mov esi, 0x1c
call edi
push 0
push str.writeTimeLineHistory
push 0x12a9
push str.src_backend_access_transamxlog.c
push 0x14
mov dword [eax], esi
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c2b1
lea eax, [ebp - 0x484]
push eax
push str.could_not_write_to_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
jmp 0x44c2b1
push ebx
call dword [sym.imp.MSVCR100.dll__close]
mov esi, dword [ebp + 0xc]
add esp, 4
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ecx
push edx
push eax
push str._08X_08X_08X
lea ecx, [ebp - 0x44]
push 0x40
push ecx
call sym.postgres.exe_pg_snprintf
mov eax, dword [0x8334e4]
add esp, 0x18
cmp eax, 1
jne 0x44c43c
cmp byte [0x8333bd], 0
mov ecx, str.after
jne 0x44c402
mov ecx, str.before
mov eax, 0x6aaa59
test ebx, ebx
js 0x44c410
mov eax, 0x6b27a0
mov edx, dword [0x8333d8]
push edx
push ecx
lea ecx, [ebp - 0x44]
push ecx
push esi
push eax
push str._s_u_t_s_t_s_transaction__u_n
lea edx, [ebp - 0x2884]
push 0x2000
push edx
call sym.postgres.exe_pg_snprintf
add esp, 0x20
jmp 0x44c500
cmp eax, 2
jne 0x44c49f
cmp byte [0x8333bd], 0
mov ebx, str.after
jne 0x44c454
mov ebx, str.before
cmp dword [ebp - 0x288c], 0
mov esi, 0x6aaa59
jl 0x44c467
mov esi, 0x6b27a0
mov eax, dword [0x833474]
mov ecx, dword [0x833470]
push eax
push ecx
call sym.postgres.exe_timestamptz_to_str
push eax
mov eax, dword [ebp + 0xc]
push ebx
lea edx, [ebp - 0x44]
push edx
push eax
push esi
push str._s_u_t_s_t_s__s_n
lea ecx, [ebp - 0x2884]
push 0x2000
push ecx
call sym.postgres.exe_pg_snprintf
add esp, 0x28
jmp 0x44c500
cmp eax, 3
mov eax, 0x6aaa59
jne 0x44c4d8
test ebx, ebx
js 0x44c4b2
mov eax, 0x6b27a0
push 0x833478
lea edx, [ebp - 0x44]
push edx
push esi
push eax
push str._s_u_t_s_tat_restore_point___s__n
lea eax, [ebp - 0x2884]
push 0x2000
push eax
call sym.postgres.exe_pg_snprintf
add esp, 0x1c
jmp 0x44c500
test ebx, ebx
js 0x44c4e1
mov eax, 0x6b27a0
lea ecx, [ebp - 0x44]
push ecx
push esi
push eax
push str._s_u_t_s_tno_recovery_target_specified_n
lea edx, [ebp - 0x2884]
push 0x2000
push edx
call sym.postgres.exe_pg_snprintf
add esp, 0x18
lea eax, [ebp - 0x2884]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44c510
sub eax, edx
mov esi, eax
call edi
mov ebx, dword [ebp - 0x2888]
mov dword [eax], 0
push esi
lea eax, [ebp - 0x2884]
push eax
push ebx
call dword [sym.imp.MSVCR100.dll__write]
add esp, 0xc
cmp eax, esi
je 0x44c5a1
call edi
mov esi, dword [eax]
lea ecx, [ebp - 0x484]
push ecx
call sym.postgres.exe_pgunlink
add esp, 4
test esi, esi
jne 0x44c55b
mov esi, 0x1c
call edi
push 0
push str.writeTimeLineHistory
push 0x12e8
push str.src_backend_access_transamxlog.c
push 0x14
mov dword [eax], esi
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c5a1
lea edx, [ebp - 0x484]
push edx
push str.could_not_write_to_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
push ebx
call sym.postgres.exe_pg_fsync
add esp, 4
test eax, eax
je 0x44c5f0
push 0
push str.writeTimeLineHistory
push 0x12ee
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c5f0
lea eax, [ebp - 0x484]
push eax
push str.could_not_fsync_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
push ebx
call dword [sym.imp.MSVCR100.dll__close]
add esp, 4
pop edi
pop ebx
test eax, eax
je 0x44c642
push 0
push str.writeTimeLineHistory
push 0x12f3
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c642
lea ecx, [ebp - 0x484]
push ecx
push str.could_not_close_file___s_:__m
call sym.postgres.exe_errmsg
add esp, 8
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov esi, dword [ebp + 8]
push esi
push str.pg_xlog__08X.history
lea edx, [ebp - 0x884]
push 0x400
push edx
call sym.postgres.exe_pg_snprintf
lea eax, [ebp - 0x884]
push eax
lea ecx, [ebp - 0x484]
push ecx
call sym.postgres.exe_pgrename
add esp, 0x18
test eax, eax
jns 0x44c6bf
push 0
push str.writeTimeLineHistory
push 0x130c
push str.src_backend_access_transamxlog.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c6bf
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x484]
push eax
push str.could_not_rename_file___s__to___s_:__m
call sym.postgres.exe_errmsg
add esp, 0xc
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
push esi
push str._08X.history
lea ecx, [ebp - 0x84]
push 0x40
push ecx
call sym.postgres.exe_pg_snprintf
lea edx, [ebp - 0x84]
push edx
call fcn.0044a060
mov ecx, dword [ebp - 4]
add esp, 0x14
xor ecx, ebp
pop esi
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret