Function at 0x44ab20
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc30
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x8334d8], 0
mov eax, dword [ebp + 8]
push esi
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0xc2c], ecx
je 0x44af98
push eax
push str.pg_xlog__s
lea edx, [ebp - 0x804]
push 0x400
push edx
call sym.postgres.exe_pg_snprintf
lea eax, [ebp - 0xc28]
push eax
lea ecx, [ebp - 0x804]
push ecx
call sym.postgres.exe_pgwin32_safestat
add esp, 0x18
test eax, eax
je 0x44abc1
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 2
je 0x44ac16
push 0
push str.RestoreArchivedFile
push 0xc35
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44ac16
lea edx, [ebp - 0x804]
push edx
push str.could_not_stat_file___s_:__m
jmp 0x44abff
lea eax, [ebp - 0x804]
push eax
call sym.postgres.exe_pgunlink
add esp, 4
test eax, eax
je 0x44ac16
push 0
push str.RestoreArchivedFile
push 0xc3d
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44ac16
lea ecx, [ebp - 0x804]
push ecx
push str.could_not_remove_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 [0x833568], 0
je 0x44ac41
mov eax, dword [0x833510]
movzx edx, byte [eax + 0x37]
mov ecx, dword [eax + 0x30]
push edx
mov edx, dword [eax + 0x38]
push ecx
push edx
push str._08X_08X_08X
push 0x40
lea eax, [ebp - 0xc04]
push eax
jmp 0x44ac55
push 0
push 0
push 0
push str._08X_08X_08X
push 0x40
lea ecx, [ebp - 0xc04]
push ecx
call sym.postgres.exe_pg_snprintf
add esp, 0x18
push ebx
mov ebx, dword [0x8334d8]
mov byte [ebp - 5], 0
cmp byte [ebx], 0
lea esi, [ebp - 0x404]
je 0x44ad7c
jmp 0x44ac80
mov al, byte [ebx]
cmp al, 0x25
jne 0x44ad68
movsx eax, byte [ebx + 1]
add eax, 0xffffffdb
cmp eax, 0x4d
ja case.0x44aca1.38
movzx edx, byte [eax + 0x44afe0]
jmp dword [edx*4 + 0x44afcc]
lea edi, [ebp - 5]
inc ebx
sub edi, esi
je 0x44acc7
push edi
lea eax, [ebp - 0x804]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
push esi
call sym.postgres.exe_make_native_path
mov eax, esi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44acd5
sub eax, edx
add esi, eax
jmp 0x44ad72
lea edi, [ebp - 5]
inc ebx
sub edi, esi
je 0x44ad04
mov ecx, dword [ebp - 0xc2c]
push edi
push ecx
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44ad10
sub eax, edx
add esi, eax
jmp 0x44ad72
lea edi, [ebp - 5]
inc ebx
sub edi, esi
je 0x44ad3c
push edi
lea edx, [ebp - 0xc04]
push edx
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44ad41
sub eax, edx
add esi, eax
jmp 0x44ad72
lea eax, [ebp - 5]
inc ebx
cmp esi, eax
jae 0x44ad72
mov cl, byte [ebx]
mov byte [esi], cl
jmp 0x44ad71
lea edx, [ebp - 5]
cmp esi, edx
jae 0x44ad72
mov byte [esi], 0x25
jmp 0x44ad71
lea ecx, [ebp - 5]
cmp esi, ecx
jae 0x44ad72
mov byte [esi], al
inc esi
inc ebx
cmp byte [ebx], 0
jne 0x44ac80
push 0
push str.RestoreArchivedFile
push 0xc94
push str.src_backend_access_transamxlog.c
push 0xc
mov byte [esi], 0
call sym.postgres.exe_errstart
add esp, 0x14
pop ebx
test al, al
je 0x44adb9
lea edx, [ebp - 0x404]
push edx
push str.executing_restore_command___s_
call sym.postgres.exe_errmsg_internal
push eax
call sym.postgres.exe_errfinish
add esp, 0xc
call sym.postgres.exe_PreRestoreCommand
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.MSVCR100.dll_system]
add esp, 4
mov edi, eax
call sym.postgres.exe_PostRestoreCommand
test edi, edi
jne 0x44af29
lea ecx, [ebp - 0xc28]
push ecx
lea edx, [ebp - 0x804]
push edx
call sym.postgres.exe_pgwin32_safestat
add esp, 8
test eax, eax
jne 0x44aedc
mov esi, dword [ebp + 0x10]
test esi, esi
jle 0x44ae77
mov eax, dword [ebp - 0xc14]
cmp eax, esi
je 0x44ae77
cmp byte [sym.postgres.exe_StandbyMode], 0
je 0x44ae1c
cmp eax, esi
lea eax, [edi + 0xe]
jl 0x44ae21
mov eax, 0x15
push 0
push str.RestoreArchivedFile
push 0xcc2
push str.src_backend_access_transamxlog.c
push eax
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44afb8
mov eax, dword [ebp - 0xc14]
mov ecx, dword [ebp - 0xc2c]
push esi
push eax
push ecx
push str.archive_file___s__has_wrong_size:__lu_instead_of__lu
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x14
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
push 0
push str.RestoreArchivedFile
push 0xcc9
push str.src_backend_access_transamxlog.c
push 0xf
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44aeb0
mov edx, dword [ebp - 0xc2c]
push edx
push str.restored_log_file___s__from_archive
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0xc
mov edx, dword [ebp - 0xc30]
lea eax, [ebp - 0x804]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44aec0
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 2
je 0x44af29
push 0
push str.RestoreArchivedFile
push 0xcd5
push str.src_backend_access_transamxlog.c
push 0x15
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44af29
lea edx, [ebp - 0x804]
push edx
push str.could_not_stat_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, edi
and esi, 0xffffff00
je 0x44af42
cmp edi, 0xf
jne 0x44af42
push 1
call sym.postgres.exe_proc_exit
add esp, 4
test esi, esi
jne 0x44af4f
cmp edi, 0x7d
jg 0x44af4f
xor al, al
jmp 0x44af51
mov al, 1
xor ecx, ecx
test al, al
push 0
setne cl
push str.RestoreArchivedFile
push 0xcfb
push str.src_backend_access_transamxlog.c
lea ecx, [ecx*8 + 0xd]
push ecx
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44af98
mov edx, dword [ebp - 0xc2c]
push edi
push edx
push str.could_not_restore_file___s__from_archive:_return_code__d
call sym.postgres.exe_errmsg
push eax
call sym.postgres.exe_errfinish
add esp, 0x10
mov eax, dword [ebp - 0xc2c]
mov ecx, dword [ebp - 0xc30]
push eax
push str.pg_xlog__s
push 0x400
push ecx
call sym.postgres.exe_pg_snprintf
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor al, al
pop esi
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret