Function at 0x457310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x47], 0
mov byte [ebp - 0x46], 0
mov byte [ebp - 0x48], 0
mov byte [ebp - 0x49], 0
call fcn.0044c970
mov ecx, dword [0x833510]
mov eax, dword [ecx + 0x10]
cmp eax, 1
jl 0x457364
cmp eax, 6
jg 0x457364
mov eax, dword [ecx + 0x24]
and eax, 0x1fff
cmp eax, 0x10
jb 0x457364
mov ecx, 0x2000
sub ecx, eax
cmp ecx, 0x20
jae 0x457396
push 0
push 0x6b6200
push 0x1878
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457396
push str.control_file_contains_invalid_data
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov edx, dword [0x833510]
mov eax, dword [edx + 0x10]
cmp eax, 1
jne 0x457422
push 0
push 0x6b6200
push 0x187d
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [sym.postgres.exe_log_timezone]
mov dword [ebp - 0x88], ecx
push eax
lea ecx, [ebp - 0x88]
push ecx
mov dword [ebp - 0x84], edx
call sym.postgres.exe_pg_localtime
push eax
push str._Y__m__d__H:_M:_S__Z
push 0x80
push 0x8333e0
call sym.postgres.exe_pg_strftime
push 0x8333e0
push str.database_system_was_shut_down_at__s
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x24
jmp 0x4575a6
cmp eax, 2
jne 0x457467
push 0
push 0x6b6200
push 0x1881
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
mov eax, dword [0x833510]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
push edx
push eax
call fcn.0044d530
push eax
push str.database_system_was_shut_down_in_recovery_at__s
jmp 0x457598
cmp eax, 3
jne 0x4574ac
push 0
push 0x6b6200
push 0x1885
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
push edx
call fcn.0044d530
push eax
push str.database_system_shutdown_was_interrupted__last_known_up_at__s
jmp 0x457598
cmp eax, 4
jne 0x457510
push 0
push 0x6b6200
push 0x188b
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
push str.This_probably_means_that_some_data_is_corrupted_and_you_will_have_to_use_the_last_backup_for_recovery.
call sym.postgres.exe_errhint
add esp, 4
push eax
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
push edx
call fcn.0044d530
push eax
push str.database_system_was_interrupted_while_in_recovery_at__s
call sym.postgres.exe_errmsg
add esp, 0x10
push eax
call sym.postgres.exe_errfinish
add esp, 8
jmp 0x4575a6
cmp eax, 5
jne 0x45755c
push 0
push 0x6b6200
push 0x1891
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
push str.If_this_has_occurred_more_than_once_some_data_might_be_corrupted_and_you_might_need_to_choose_an_earlier_recovery_target.
call sym.postgres.exe_errhint
add esp, 4
push eax
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x64]
mov edx, dword [eax + 0x60]
push ecx
push edx
call fcn.0044d530
push eax
push str.database_system_was_interrupted_while_in_recovery_at_log_time__s
jmp 0x4574fa
cmp eax, 6
jne 0x4575a6
push 0
push 0x6b6200
push 0x1895
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4575a6
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
push edx
call fcn.0044d530
push eax
push str.database_system_was_interrupted__last_known_up_at__s
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
call fcn.0044b6f0
call sym.postgres.exe_RelationCacheInitFileRemove
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x38]
mov dword [0x8333c0], ecx
call fcn.0044d570
mov ecx, dword [0x8333c0]
call fcn.0044bbe0
mov edx, dword [0x833510]
mov ecx, dword [edx + 0x38]
push ecx
push eax
mov dword [0x8333a8], eax
call sym.postgres.exe_list_member_int
add esp, 8
test al, al
jne 0x45762d
push 0
push 0x6b6200
push 0x18c7
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x45762d
mov edx, dword [0x833510]
mov eax, dword [edx + 0x38]
mov ecx, dword [0x8333c0]
push eax
push ecx
push str.requested_timeline__u_is_not_a_child_of_database_system_timeline__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
mov eax, dword [0x8334e0]
mov ecx, dword [0x83350c]
mov edx, dword [0x8333c0]
mov dword [ecx + 0x500], edx
test eax, eax
jne 0x45764d
mov eax, 0x6aaa59
push 0x400
push eax
add ecx, 0x88
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
cmp byte [0x8334d5], 0
je 0x457797
cmp byte [0x8334e8], 0
push 0
push 0x6b6200
je 0x4576a6
push 0x18d7
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457797
push str.entering_standby_mode
jmp 0x457789
mov eax, dword [0x8334e4]
cmp eax, 1
jne 0x4576ea
push 0x18db
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457797
mov eax, dword [0x8333dc]
push eax
push str.starting_point_in_time_recovery_to_XID__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0xc
jmp 0x457797
cmp eax, 2
jne 0x457734
push 0x18df
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457797
mov ecx, dword [0x8333a4]
mov edx, dword [0x8333a0]
push ecx
push edx
call sym.postgres.exe_timestamptz_to_str
push eax
push str.starting_point_in_time_recovery_to__s
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
jmp 0x457797
cmp eax, 3
jne 0x45776c
push 0x18e3
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457797
mov eax, dword [0x8333c4]
push eax
push str.starting_point_in_time_recovery_to___s_
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0xc
jmp 0x457797
push 0x18e6
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457797
push str.starting_archive_recovery
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp byte [0x8334e8], 0
je 0x4577b5
mov ecx, dword [0x83350c]
add ecx, 0x48c
push ecx
call sym.postgres.exe_OwnLatch
add esp, 4
push ebx
push esi
lea edx, [ebp - 0x48]
push edi
push edx
lea ecx, [ebp - 0x49]
lea edx, [ebp - 0x54]
call fcn.0044f940
add esp, 4
test al, al
je 0x457932
cmp byte [0x8334e8], 0
mov byte [0x8334d6], 1
je 0x4577e9
mov byte [sym.postgres.exe_StandbyMode], 1
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
push eax
push ecx
xor esi, esi
call fcn.00453cc0
add esp, 8
push esi
push 0x6b6200
test eax, eax
je 0x4578e0
cmp byte [eax + 0x18], 0
push 0x1907
lea esi, [eax + 0x20]
push str.src_backend_access_transamxlog.c
mov ecx, 0x10
lea edi, [ebp - 0x44]
push 0xe
rep movsd dword es:[edi], dword [esi]
sete byte [ebp - 0x45]
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457851
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
push edx
push eax
push str.checkpoint_record_is_at__X__X
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov byte [sym.postgres.exe_InRecovery], 1
cmp ebx, eax
jb 0x457874
jne 0x457929
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebp - 0x50]
jae 0x457929
push 0
push 0xf
lea eax, [ebp - 0x44]
call fcn.004531a0
add esp, 8
test eax, eax
jne 0x457926
push eax
push 0x6b6200
push 0x1915
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457926
mov edx, dword [sym.postgres.exe_DataDir]
push edx
push str.If_you_are_not_restoring_from_a_backup__try_removing_the_file___s_backup_label_.
call sym.postgres.exe_errhint
add esp, 8
push eax
push str.could_not_find_redo_location_referenced_by_checkpoint_record
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errfinish
mov ebx, dword [ebp - 0x44]
add esp, 8
mov byte [ebp - 0x46], 1
jmp 0x457aca
push 0x191c
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457922
mov eax, dword [sym.postgres.exe_DataDir]
push eax
push str.If_you_are_not_restoring_from_a_backup__try_removing_the_file___s_backup_label_.
call sym.postgres.exe_errhint
add esp, 8
push eax
push str.could_not_locate_required_checkpoint_record
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov byte [ebp - 0x45], 0
mov ebx, dword [ebp - 0x44]
mov byte [ebp - 0x46], 1
jmp 0x457aca
cmp byte [0x8334d5], 0
mov eax, dword [0x833510]
je 0x45798c
mov edx, dword [sym.postgres.exe_InvalidXLogRecPtr]
cmp dword [eax + 0x70], edx
jne 0x457975
mov ecx, dword [0x6b0594]
cmp dword [eax + 0x74], ecx
jne 0x457975
cmp byte [eax + 0x88], 0
jne 0x457975
cmp dword [eax + 0x80], edx
jne 0x457975
cmp dword [eax + 0x84], ecx
jne 0x457975
cmp dword [eax + 0x10], 1
jne 0x45798c
cmp byte [0x8334e8], 0
mov byte [0x8334d6], 1
je 0x45798c
mov byte [sym.postgres.exe_StandbyMode], 1
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x54], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x50], edx
mov esi, dword [eax + 0x30]
mov dword [0x833504], esi
mov eax, dword [eax + 0x34]
push edx
push ecx
mov esi, 1
mov dword [0x833508], eax
call fcn.00453cc0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x457a01
push 0
push 0x6b6200
push 0x194a
push str.src_backend_access_transamxlog.c
push 0xe
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457ab2
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
push ecx
push edx
push str.checkpoint_record_is_at__X__X
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
jmp 0x457ab2
cmp byte [sym.postgres.exe_StandbyMode], 0
je 0x457a18
push 0
push 0x6b6200
push 0x1953
jmp 0x457a8c
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x54], ecx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x50], edx
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
push ecx
push edx
mov esi, 2
call fcn.00453cc0
add esp, 8
mov ebx, eax
push 0
push 0x6b6200
test ebx, ebx
je 0x457a87
push 0x195d
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457a7e
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
push eax
push ecx
push str.using_previous_checkpoint_record_at__X__X
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
mov byte [sym.postgres.exe_InRecovery], 1
jmp 0x457ab2
push 0x1962
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457ab2
push str.could_not_locate_a_valid_checkpoint_record
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp byte [ebx + 0x18], 0
lea esi, [ebx + 0x20]
mov ecx, 0x10
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [ebp - 0x44]
sete byte [ebp - 0x45]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push 0
push 0x6b6200
push 0x196d
push str.src_backend_access_transamxlog.c
push 0xe
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov dword [0x8333d0], ecx
mov dword [0x8333d4], eax
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457b29
cmp byte [ebp - 0x45], 0
mov eax, str.TRUE
jne 0x457b10
mov eax, str.FALSE
mov edx, dword [ebp - 0x40]
push eax
push edx
push ebx
push str.redo_record_is_at__X__X__shutdown__s
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
push 0
push 0x6b6200
push 0x1971
push str.src_backend_access_transamxlog.c
push 0xe
call sym.postgres.exe_errstart
mov esi, dword [ebp - 0x30]
add esp, 0x14
test al, al
je 0x457b67
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
push eax
push esi
push ecx
push str.next_transaction_ID:__u__u__next_OID:__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
push 0
push 0x6b6200
push 0x1974
push str.src_backend_access_transamxlog.c
push 0xe
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457ba1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
push edx
push eax
push str.next_MultiXactId:__u__next_MultiXactOffset:__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
push 0
push 0x6b6200
push 0x1977
push str.src_backend_access_transamxlog.c
push 0xe
call sym.postgres.exe_errstart
mov edi, dword [ebp - 0x1c]
add esp, 0x14
test al, al
je 0x457bdb
mov ecx, dword [ebp - 0x20]
push edi
push ecx
push str.oldest_unfrozen_transaction_ID:__u__in_database__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
cmp esi, 3
jae 0x457c12
push 0
push 0x6b6200
push 0x197a
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457c12
push str.invalid_next_transaction_ID
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov edx, dword [sym.postgres.exe_ShmemVariableCache]
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 8], esi
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov edx, dword [sym.postgres.exe_ShmemVariableCache]
push eax
push ecx
mov dword [edx + 4], 0
call sym.postgres.exe_MultiXactSetNextMXact
mov edx, dword [ebp - 0x20]
push edi
push edx
call sym.postgres.exe_SetTransactionIdLimit
mov ecx, dword [0x83350c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 0x3c], eax
mov al, byte [ebp - 0x38]
mov dword [ecx + 0x40], esi
mov esi, dword [ebp - 0x60]
mov byte [0x8333bc], al
mov eax, dword [ebp - 0x40]
add esp, 0x10
mov dword [sym.postgres.exe_ThisTimeLineID], edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [0x8333c8], ebx
mov dword [0x8333cc], eax
cmp esi, ebx
jb 0x457c92
cmp ebx, esi
jne 0x457cc6
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
jae 0x457cc4
push 0
push 0x6b6200
push 0x1992
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457cc4
push str.invalid_redo_in_checkpoint_record
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp ebx, esi
jb 0x457cfa
cmp ebx, esi
jne 0x457cd4
mov edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x40], edx
jb 0x457cfa
mov eax, dword [0x833510]
cmp dword [eax + 0x10], 1
je 0x457ce8
mov byte [sym.postgres.exe_InRecovery], 1
jmp 0x457d4d
cmp byte [0x8334d5], 0
je 0x457d40
mov byte [sym.postgres.exe_InRecovery], 1
jmp 0x457d4d
cmp byte [ebp - 0x45], 0
je 0x457d32
push 0
push 0x6b6200
push 0x199d
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457d32
push str.invalid_redo_record_in_shutdown_checkpoint
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov eax, dword [0x833510]
mov byte [sym.postgres.exe_InRecovery], 1
jmp 0x457d4d
cmp byte [sym.postgres.exe_InRecovery], 0
je 0x458438
cmp byte [0x8334d6], 0
mov ecx, dword [0x83350c]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], edx
je 0x457d6e
mov dword [eax + 0x10], 5
jmp 0x457dac
push 0
push 0x6b6200
push 0x19bd
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457da0
push str.database_system_was_not_properly_shut_down__automatic_recovery_in_progress
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov eax, dword [0x833510]
mov dword [eax + 0x10], 4
cmp byte [0x8334d6], 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x50]
lea edi, [eax + 0x30]
mov ecx, 0x10
lea esi, [ebp - 0x44]
mov dword [eax + 0x24], edx
rep movsd dword es:[edi], dword [esi]
je 0x457df4
mov ecx, dword [eax + 0x70]
cmp ecx, ebx
jb 0x457deb
jne 0x457df4
mov ecx, dword [eax + 0x74]
cmp ecx, dword [ebp - 0x40]
jae 0x457df4
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x70], ebx
mov dword [eax + 0x74], edx
cmp byte [ebp - 0x46], 0
je 0x457e72
cmp byte [ebp - 0x49], 0
mov ecx, dword [ebp - 0x40]
mov dl, byte [ebp - 0x48]
mov dword [eax + 0x78], ebx
mov dword [eax + 0x7c], ecx
mov byte [eax + 0x88], dl
je 0x457e72
cmp dword [ebp - 0x68], 5
je 0x457e60
push 0
push 0x6b6200
push 0x19de
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457e5b
push str.This_means_that_the_backup_is_corrupted_and_you_will_have_to_use_another_backup_for_recovery.
call sym.postgres.exe_errhint
add esp, 4
push eax
push str.backup_label_contains_data_inconsistent_with_control_file
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x74]
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], edx
push 0
call dword [sym.imp.MSVCR100.dll__time32]
mov ecx, dword [0x833510]
cdq
add esp, 4
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call sym.postgres.exe_UpdateControlFile
mov eax, dword [0x833510]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x74]
mov dword [0x833464], ecx
mov dword [0x833468], edx
call sym.postgres.exe_pgstat_reset_all
cmp byte [ebp - 0x46], 0
je 0x457f16
push str.backup_label.old
call sym.postgres.exe_pgunlink
push str.backup_label.old
push str.backup_label
call sym.postgres.exe_pgrename
add esp, 0xc
test eax, eax
je 0x457f16
push 0
push 0x6b6200
push 0x19fd
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457f16
push str.backup_label.old
push str.backup_label
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
call fcn.0044e260
push 1
call sym.postgres.exe_ResetUnloggedRelations
add esp, 4
call sym.postgres.exe_DeleteAllExportedSnapshotFiles
cmp byte [0x8334d5], 0
je 0x457ffb
cmp byte [sym.postgres.exe_EnableHotStandby], 0
je 0x457ffb
push 0
push 0x6b6200
push 0x1a1d
push str.src_backend_access_transamxlog.c
push 0xe
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x457f76
push str.initializing_for_hot_standby
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
call sym.postgres.exe_InitRecoveryTransactionEnvironment
mov bl, byte [ebp - 0x45]
test bl, bl
je 0x457f96
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x74]
push ecx
call sym.postgres.exe_PrescanPreparedTransactions
add esp, 8
mov esi, eax
jmp 0x457f99
mov esi, dword [ebp - 0xc]
call sym.postgres.exe_StartupCLOG
push esi
call sym.postgres.exe_StartupSUBTRANS
add esp, 4
test bl, bl
je 0x457ffb
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xa0], edx
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], esi
lea ebx, [ebx]
dec eax
cmp eax, 3
jb 0x457fd0
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0xa0]
push ecx
mov dword [ebp - 0x8c], eax
call sym.postgres.exe_ProcArrayApplyRecoveryInfo
push 0
call sym.postgres.exe_StandbyRecoverPreparedTransactions
add esp, 8
mov esi, 0x6b012c
mov eax, dword [esi]
test eax, eax
je 0x458008
call eax
add esi, 0x18
cmp esi, 0x6b02ac
jle 0x458000
mov edi, dword [ebp - 0x64]
xor esi, esi
push esi
push 1
lea ebx, [edi + 0x51c]
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x45803f
push 0x1a62
push str.src_backend_access_transamxlog.c
push ebx
call sym.postgres.exe_s_lock
add esp, 0xc
mov edx, dword [0x8333b4]
mov eax, dword [0x8333b8]
mov ecx, dword [0x8333ac]
mov dword [edi + 0x4f0], edx
mov edx, dword [0x8333b0]
mov dword [edi + 0x4f4], eax
mov dword [edi + 0x4e8], ecx
mov dword [edi + 0x4ec], edx
mov dword [edi + 0x4f8], esi
mov dword [edi + 0x4fc], esi
mov dword [edi + 0x508], esi
mov dword [edi + 0x50c], esi
mov byte [edi + 0x510], 0
mov dword [ebx], esi
call sym.postgres.exe_GetCurrentTimestamp
cmp byte [0x8334d5], 0
mov dword [0x833548], eax
mov dword [0x83354c], edx
je 0x4580cb
cmp byte [sym.postgres.exe_IsUnderPostmaster], 0
je 0x4580cb
call sym.postgres.exe_PublishStartupProcessInformation
call sym.postgres.exe_SetForwardFsyncRequests
push esi
call sym.postgres.exe_SendPostmasterSignal
add esp, 4
mov byte [0x833569], 1
call fcn.0044e480
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
jb 0x4580ec
jne 0x4580e4
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x40], eax
jb 0x4580ec
push 0
push 0xf
xor eax, eax
jmp 0x4580f3
push 0
push 0x16
lea eax, [ebp - 0x44]
call fcn.004531a0
add esp, 8
mov esi, eax
push 0
push 0x6b6200
test esi, esi
je 0x45840d
push 0x1aa1
push str.src_backend_access_transamxlog.c
push 0xf
mov byte [ebp - 0x45], 1
mov byte [ebp - 0x46], 1
mov byte [0x833568], 1
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x458154
mov ecx, dword [0x8333b8]
mov edx, dword [0x8333b4]
push ecx
push edx
push str.redo_starts_at__X__X
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
call sym.postgres.exe_HandleStartupProcInterrupts
mov al, byte [edi + 0x510]
test al, al
je 0x458168
call fcn.00452030
lea edx, [ebp - 0x46]
call fcn.00451cc0
test al, al
je 0x4581d8
cmp byte [0x7a33c7], 0
je 0x4581c6
mov edi, dword [0x83350c]
push 0
mov dword [ebp - 0x58], edi
push 1
add edi, 0x51c
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x4581ae
push 0x17be
push str.src_backend_access_transamxlog.c
push edi
call sym.postgres.exe_s_lock
add esp, 0xc
mov ecx, dword [ebp - 0x58]
mov byte [ecx + 0x510], 1
mov dword [edi], 0
call fcn.00452030
mov edi, dword [ebp - 0x64]
cmp byte [ebp - 0x46], 0
mov byte [ebp - 0x47], 1
mov byte [ebp - 0x45], 0
je 0x458343
mov edx, dword [sym.postgres.exe_error_context_stack]
mov ecx, dword [sym.postgres.exe_ShmemVariableCache]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x7c], 0x44fbc0
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x80], edx
mov dword [sym.postgres.exe_error_context_stack], eax
mov edx, dword [ecx + 8]
mov eax, dword [esi + 0xc]
push edx
push eax
call sym.postgres.exe_TransactionIdFollowsOrEquals
add esp, 8
test al, al
je 0x458249
push 0
push 3
call sym.postgres.exe_LWLockAcquire
mov ecx, dword [esi + 0xc]
mov edx, dword [sym.postgres.exe_ShmemVariableCache]
mov dword [edx + 8], ecx
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
inc dword [eax + 8]
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
add esp, 8
cmp dword [eax + 8], 3
jae 0x45823f
mov dword [eax + 8], 3
push 3
call sym.postgres.exe_LWLockRelease
add esp, 4
push 0
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x45826b
push 0x1afc
push str.src_backend_access_transamxlog.c
push ebx
call sym.postgres.exe_s_lock
add esp, 0xc
mov eax, dword [0x8333ac]
mov ecx, dword [0x8333b0]
mov dword [edi + 0x4f0], eax
mov dword [edi + 0x4f4], ecx
mov dword [ebx], 0
cmp dword [sym.postgres.exe_standbyState], 1
jl 0x4582a1
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4582a1
push eax
call sym.postgres.exe_RecordKnownAssignedTransactionIds
add esp, 4
movzx eax, byte [esi + 0x19]
mov ecx, dword [0x8333ac]
lea edx, [eax + eax*2]
mov eax, dword [0x8333b0]
mov edx, dword [edx*8 + 0x6b0124]
push esi
push eax
push ecx
call edx
mov eax, dword [ebp - 0x80]
add esp, 0xc
push 0
push 1
push ebx
mov dword [sym.postgres.exe_error_context_stack], eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x4582ec
push 0x1b12
push str.src_backend_access_transamxlog.c
push ebx
call sym.postgres.exe_s_lock
add esp, 0xc
mov ecx, dword [0x8333ac]
mov edx, dword [0x8333b0]
mov eax, dword [0x8333b4]
mov dword [edi + 0x4e8], ecx
mov ecx, dword [0x8333b8]
mov dword [edi + 0x4ec], edx
mov dword [ebx], 0
mov dword [0x8333d0], eax
mov dword [0x8333d4], ecx
call fcn.0044e480
cmp byte [ebp - 0x45], 0
je 0x458343
push 0
push 0xf
xor eax, eax
call fcn.004531a0
mov esi, eax
add esp, 8
test esi, esi
jne 0x458154
push 0
push 0x6b6200
push 0x1b2a
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x458382
mov edx, dword [0x8333b8]
mov eax, dword [0x8333b4]
push edx
push eax
push str.redo_done_at__X__X
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
mov esi, dword [0x83350c]
push 0
mov edi, esi
push 1
add esi, 0x51c
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x4583b2
push 0x17df
push str.src_backend_access_transamxlog.c
push esi
call sym.postgres.exe_s_lock
add esp, 0xc
mov ebx, dword [edi + 0x4f8]
mov edi, dword [edi + 0x4fc]
mov ecx, ebx
or ecx, edi
mov dword [esi], 0
je 0x458404
push 0
push 0x6b6200
push 0x1b2f
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x458404
push edi
push ebx
call sym.postgres.exe_timestamptz_to_str
push eax
push str.last_completed_transaction_was_at_log_time__s
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
mov byte [0x833568], 0
jmp 0x458438
push 0x1b36
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x458438
push str.redo_is_not_required
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
call sym.postgres.exe_ShutdownWalRcv
cmp byte [0x8334e8], 0
je 0x45845b
mov edx, dword [0x83350c]
add edx, 0x48c
push edx
call sym.postgres.exe_DisownLatch
add esp, 4
push 0
push 0x16
mov eax, 0x8333d0
mov byte [sym.postgres.exe_StandbyMode], 0
call fcn.004531a0
mov edi, dword [0x8333b0]
mov ebx, dword [0x8333ac]
lea esi, [edi - 1]
add esp, 8
shr esi, 0x18
cmp byte [sym.postgres.exe_InRecovery], 0
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x58], ebx
je 0x4585a7
mov eax, dword [0x833464]
mov ecx, dword [0x833510]
cmp ebx, eax
jb 0x4584be
jne 0x4584b4
cmp edi, dword [0x833468]
jb 0x4584be
cmp dword [ecx + 0x7c], 0
je 0x4585a7
cmp byte [ebp - 0x47], 0
je 0x4584fc
push 0
push 0x6b6200
push 0x1b66
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4584f6
push str.requested_recovery_stop_point_is_before_consistent_recovery_point
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov ecx, dword [0x833510]
cmp byte [0x8334d5], 0
jne 0x458512
cmp byte [ecx + 0x88], 0
je 0x458618
cmp byte [ecx + 0x88], 0
push 0
push 0x6b6200
je 0x458557
push 0x1b77
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4585a7
push str.All_WAL_generated_while_online_backup_was_taken_must_be_available_at_recovery.
call sym.postgres.exe_errhint
add esp, 4
push eax
push str.WAL_ends_before_end_of_online_backup
call sym.postgres.exe_errmsg
add esp, 4
jmp 0x45859e
cmp dword [ecx + 0x7c], 0
je 0x45857c
push 0x1b7b
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4585a7
push str.Online_backup_started_with_pg_start_backup___must_be_ended_with_pg_stop_backup____and_all_WAL_up_to_that_point_must_be_available_at_recovery.
jmp 0x45853f
push 0x1b7e
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x4585a7
push str.WAL_ends_before_consistent_recovery_point
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp byte [0x8334d5], 0
je 0x458618
mov eax, dword [0x8333c0]
push eax
call fcn.0044c030
push 0
push 0x6b6200
push 0x1b96
inc eax
push str.src_backend_access_transamxlog.c
push 0xf
mov dword [sym.postgres.exe_ThisTimeLineID], eax
call sym.postgres.exe_errstart
add esp, 0x18
test al, al
je 0x4585fa
mov ecx, dword [sym.postgres.exe_ThisTimeLineID]
push ecx
push str.selected_new_timeline_ID:__u
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0xc
mov edx, dword [0x833460]
mov eax, dword [0x8333c0]
mov ecx, dword [sym.postgres.exe_ThisTimeLineID]
push esi
push ebx
push edx
push eax
push ecx
call fcn.0044c130
add esp, 0x14
cmp byte [0x8334d5], 0
mov edx, dword [0x83350c]
mov eax, dword [sym.postgres.exe_ThisTimeLineID]
mov dword [edx + 0x84], eax
je 0x458645
mov edi, ebx
mov ebx, dword [0x833460]
call fcn.00451ac0
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x58]
push esi
push ebx
mov dword [0x833524], ebx
mov dword [0x833528], esi
call sym.postgres.exe_XLogFileOpen
mov ecx, dword [0x8333d0]
mov esi, dword [0x83350c]
mov dword [0x7a33d0], eax
mov eax, dword [esi + 0x7c]
mov dword [esi], ecx
mov edx, dword [0x8333d4]
mov ecx, dword [0x833524]
mov dword [esi + 4], edx
mov dword [eax], ecx
mov edx, dword [esi + 0x7c]
lea eax, [edi - 1]
mov dword [ebp - 0x64], eax
shr eax, 0xd
inc eax
shl eax, 0xd
mov dword [edx + 4], eax
mov eax, dword [0x833554]
mov ecx, dword [esi + 0xc]
push 0x2000
push eax
push ecx
mov dword [0x83352c], 0
call sub.MSVCR100.dll_memcpy
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0xc]
mov ecx, edi
sub ecx, dword [edx + 4]
add esp, 0x14
lea edx, [ecx + eax + 0x2000]
mov ecx, dword [ebp - 0x70]
mov dword [esi + 0x10], edx
mov edx, ecx
mov dword [esi + 0x68], edx
mov edx, edi
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x10]
sub eax, edx
add eax, 0x2000
mov dword [0x83351c], ecx
mov dword [0x833520], edi
mov dword [0x833514], ecx
mov dword [0x833518], edi
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], edi
je 0x458749
test dl, 3
jne 0x458734
test al, 3
jne 0x458734
cmp eax, 0x400
ja 0x458734
lea ecx, [edx + eax]
cmp edx, ecx
jae 0x458740
sub ecx, edx
dec ecx
shr ecx, 2
inc ecx
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [esi + 0x58], eax
jmp 0x458757
push eax
push 0
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [esi + 0x58], 0
jmp 0x458757
xor eax, eax
cmp dword [esi + 0x80], eax
setne al
mov dword [esi + 0x58], eax
push 0
push 0
call sym.postgres.exe_PrescanPreparedTransactions
mov cl, byte [0x8333bc]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [0x83350c]
mov edx, esi
push 0
mov byte [edx + 0x1d], cl
mov ecx, dword [eax + 0x84]
lea esi, [eax + 0x51c]
push 1
push esi
mov dword [0x7a33cc], 1
mov dword [sym.postgres.exe_ThisTimeLineID], ecx
mov edi, eax
call ebx
test eax, eax
je 0x4587b8
push 0x1de2
push str.src_backend_access_transamxlog.c
push esi
call sym.postgres.exe_s_lock
add esp, 0xc
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
mov dword [0x8333c8], edx
mov dword [0x8333cc], eax
mov dword [esi], 0
call sym.postgres.exe_UpdateFullPageWrites
cmp byte [sym.postgres.exe_InRecovery], 0
mov dword [0x7a33cc], 0xffffffff
je 0x45889a
mov eax, dword [0x83350c]
mov ecx, dword [eax + 0x84]
push 0
lea esi, [eax + 0x51c]
push 1
push esi
mov dword [0x7a33cc], 1
mov dword [sym.postgres.exe_ThisTimeLineID], ecx
mov edi, eax
call ebx
test eax, eax
je 0x45882c
push 0x1de2
push str.src_backend_access_transamxlog.c
push esi
call sym.postgres.exe_s_lock
add esp, 0xc
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
mov dword [0x8333c8], edx
mov dword [0x8333cc], eax
mov dword [esi], 0
mov esi, 0x6b0130
mov eax, dword [esi]
test eax, eax
je 0x458850
call eax
add esi, 0x18
cmp esi, 0x6b02b0
jle 0x458848
cmp byte [0x833569], 0
mov dword [0x7a33cc], 0xffffffff
je 0x458877
push 0x16
call sym.postgres.exe_RequestCheckpoint
jmp 0x45887e
push 6
call sym.postgres.exe_CreateCheckPoint
mov ecx, dword [0x8334dc]
add esp, 4
test ecx, ecx
je 0x45889a
push 1
push str.recovery_end_command
call fcn.0044b030
add esp, 8
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x70]
mov edi, dword [sym.imp.MSVCR100.dll__close]
mov eax, ecx
and ecx, 0xffffff
shr eax, 0x18
cmp ecx, 0xc00000
jb 0x4588e9
cmp eax, 0xfe
jb 0x4588c5
inc edx
xor eax, eax
jmp 0x4588c6
inc eax
push 1
lea ecx, [ebp - 0x4a]
push ecx
push eax
push edx
mov byte [ebp - 0x4a], 1
call sym.postgres.exe_XLogFileInit
push eax
call edi
add esp, 0x14
cmp byte [ebp - 0x4a], 0
jne 0x4588e9
inc dword [0x86942c]
cmp byte [sym.postgres.exe_InRecovery], 0
je 0x4588fc
push 2
call sym.postgres.exe_ResetUnloggedRelations
add esp, 4
push 0
push 9
mov byte [sym.postgres.exe_InRecovery], 0
call sym.postgres.exe_LWLockAcquire
mov edx, dword [0x833510]
mov esi, dword [sym.imp.MSVCR100.dll__time32]
push 0
mov dword [edx + 0x10], 6
call esi
mov ecx, dword [0x833510]
cdq
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call sym.postgres.exe_UpdateControlFile
push 9
call sym.postgres.exe_LWLockRelease
push 0
call esi
mov ecx, dword [0x83350c]
cdq
push 0
push 4
mov dword [ecx + 0x60], eax
mov dword [ecx + 0x64], edx
call sym.postgres.exe_LWLockAcquire
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
mov ecx, dword [eax + 8]
mov dword [eax + 0x24], ecx
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
add esp, 0x1c
add eax, 0x24
lea esp, [esp]
dec dword [eax]
mov eax, dword [sym.postgres.exe_ShmemVariableCache]
add eax, 0x24
cmp dword [eax], 3
jb 0x458970
push 4
call sym.postgres.exe_LWLockRelease
add esp, 4
cmp dword [sym.postgres.exe_standbyState], 0
jne 0x4589a3
call sym.postgres.exe_StartupCLOG
mov edx, dword [ebp - 0x5c]
push edx
call sym.postgres.exe_StartupSUBTRANS
add esp, 4
call sym.postgres.exe_StartupMultiXact
call sym.postgres.exe_TrimCLOG
call sym.postgres.exe_RecoverPreparedTransactions
cmp dword [sym.postgres.exe_standbyState], 0
je 0x4589c0
call sym.postgres.exe_ShutdownRecoveryTransactionEnvironment
mov eax, dword [0x7a33d4]
test eax, eax
js 0x4589d9
push eax
call edi
add esp, 4
mov dword [0x7a33d4], 0xffffffff
mov eax, dword [0x833554]
mov esi, dword [sym.imp.MSVCR100.dll_free]
xor edi, edi
cmp eax, edi
je 0x4589f6
push eax
call esi
add esp, 4
mov dword [0x833554], edi
mov eax, dword [0x833558]
cmp eax, edi
je 0x458a11
push eax
call esi
add esp, 4
mov dword [0x833558], edi
mov dword [0x83355c], edi
mov edi, dword [0x83350c]
mov eax, dword [edi + 0x84]
push 0
push 1
lea esi, [edi + 0x51c]
push esi
mov dword [0x7a33cc], 1
mov dword [sym.postgres.exe_ThisTimeLineID], eax
call ebx
test eax, eax
je 0x458a50
push 0x1de2
push str.src_backend_access_transamxlog.c
push esi
call sym.postgres.exe_s_lock
add esp, 0xc
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov dword [0x8333c8], ecx
mov dword [0x8333cc], edx
mov dword [esi], 0
call fcn.00455f90
mov eax, dword [0x83350c]
push 0
lea esi, [eax + 0x51c]
push 1
push esi
mov edi, eax
call ebx
test eax, eax
je 0x458a98
push 0x1c76
push str.src_backend_access_transamxlog.c
push esi
call sym.postgres.exe_s_lock
add esp, 0xc
mov byte [edi + 0x488], 0
mov dword [esi], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret