Function at 0x5815f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3ec
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [sym.postgres.exe_IsUnderPostmaster], 1
call dword [sym.imp.MSVCR100.dll__getpid]
xor ebx, ebx
push ebx
mov dword [sym.postgres.exe_MyProcPid], eax
call dword [sym.imp.MSVCR100.dll__time32]
cdq
mov dword [sym.postgres.exe_MyStartTime], eax
mov dword [0x868004], edx
call sym.postgres.exe_InitializeLatchSupport
push 0x836378
call sym.postgres.exe_InitLatch
push 0x57e700
push 1
call sym.postgres.exe_pqsignal
push 1
push 2
call sym.postgres.exe_pqsignal
push 1
push 0xf
call sym.postgres.exe_pqsignal
push 0x57e6d0
push 3
call sym.postgres.exe_pqsignal
push 1
push 0xe
call sym.postgres.exe_pqsignal
push 1
push 0xd
call sym.postgres.exe_pqsignal
push 1
push 0x1e
call sym.postgres.exe_pqsignal
add esp, 0x40
push 1
push 0x1f
call sym.postgres.exe_pqsignal
push ebx
push 0x14
call sym.postgres.exe_pqsignal
push ebx
push 0x15
call sym.postgres.exe_pqsignal
push ebx
push 0x16
call sym.postgres.exe_pqsignal
push ebx
push 0x13
call sym.postgres.exe_pqsignal
push ebx
push 0x1c
call sym.postgres.exe_pqsignal
mov eax, dword [0x869288]
push eax
call sym.postgres.exe_pqsigsetmask
push 0x6aaa59
push 0x6aaa59
push 0x6aaa59
push str.stats_collector_process
call sym.postgres.exe_init_ps_display
add esp, 0x44
call sym.postgres.exe_GetCurrentTimestamp
mov dword [0x836368], eax
sub eax, 1
mov dword [0x83636c], edx
sbb edx, ebx
push 1
push ebx
mov dword [0x8362f8], eax
mov dword [0x8362fc], edx
mov byte [0x83638a], 1
call fcn.00580770
push 0x836378
mov dword [0x8363c0], eax
call sym.postgres.exe_ResetLatch
mov cl, byte [0x8363cc]
add esp, 0xc
test cl, cl
jne 0x581a1d
jmp 0x581730
mov dl, byte [0x8363cc]
test dl, dl
jne 0x5819e3
mov edi, edi
mov al, byte [0x8363cd]
test al, al
je 0x581759
push 2
mov byte [0x8363cd], bl
call sym.postgres.exe_ProcessConfigFile
add esp, 4
mov ecx, dword [0x8362fc]
cmp ecx, dword [0x83636c]
jg 0x581780
jl 0x581777
mov edx, dword [0x8362f8]
cmp edx, dword [0x836368]
jae 0x581780
push ebx
call fcn.0057e990
add esp, 4
mov ecx, dword [sym.postgres.exe_pgStatSock]
push ebx
push 0x3e8
lea eax, [ebp - 0x3ec]
push eax
push ecx
mov dword [sym.postgres.exe_pgwin32_noblock], 1
call sym.postgres.exe_pgwin32_recv
mov edi, eax
add esp, 0x10
mov dword [sym.postgres.exe_pgwin32_noblock], ebx
cmp edi, ebx
jge 0x58181c
mov esi, dword [sym.imp.MSVCR100.dll__errno]
call esi
cmp dword [eax], 0x2733
je 0x5819e3
call esi
cmp dword [eax], 0x2733
je 0x5819e3
call esi
cmp dword [eax], 0x2714
je 0x5819e3
push ebx
push 0x734bf0
push 0xc43
push str.src_backendpostmasterpgstat.c
push 0x14
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x58181c
push str.could_not_read_statistics_message:__m
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errcode_for_socket_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
cmp edi, 8
jb case.default.0x581841
cmp dword [ebp - 0x3e8], edi
jne case.default.0x581841
mov eax, dword [ebp - 0x3ec]
dec eax
cmp eax, 0xf
ja case.default.0x581841
jmp dword [eax*4 + 0x581a30]
mov ecx, dword [ebp - 0x3e0]
cmp ecx, dword [0x83636c]
jl case.default.0x581841
mov eax, dword [ebp - 0x3e4]
jg 0x58186e
cmp eax, dword [0x836368]
jbe case.default.0x581841
mov dword [0x836368], eax
mov dword [0x83636c], ecx
jmp case.default.0x581841
lea edx, [ebp - 0x3ec]
push edx
call fcn.0057ef80
add esp, 4
jmp case.default.0x581841
lea ebx, [ebp - 0x3ec]
call fcn.0057f220
xor ebx, ebx
jmp case.default.0x581841
lea eax, [ebp - 0x3ec]
call fcn.0057f2a0
jmp case.default.0x581841
lea eax, [ebp - 0x3ec]
call fcn.0057f350
jmp case.default.0x581841
cmp dword [ebp - 0x3e4], ebx
jne case.default.0x581841
push 0x60
push ebx
push 0x836308
call sub.MSVCR100.dll_memset
add esp, 0xc
call sym.postgres.exe_GetCurrentTimestamp
mov dword [0x836360], eax
mov dword [0x836364], edx
jmp case.default.0x581841
lea eax, [ebp - 0x3ec]
call fcn.0057f4f0
jmp case.default.0x581841
mov eax, dword [ebp - 0x3e4]
push 1
push eax
call fcn.0057e730
mov ecx, dword [ebp - 0x3dc]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp - 0x3d8]
add esp, 8
mov dword [eax + 0x54], edx
jmp case.default.0x581841
lea esi, [ebp - 0x3ec]
call fcn.0057f5a0
jmp case.default.0x581841
lea esi, [ebp - 0x3ec]
call fcn.0057f600
jmp case.default.0x581841
lea eax, [ebp - 0x3ec]
call fcn.0057f680
jmp case.default.0x581841
lea edi, [ebp - 0x3ec]
call fcn.0057f800
jmp case.default.0x581841
lea ebx, [ebp - 0x3ec]
call fcn.0057f8a0
xor ebx, ebx
jmp case.default.0x581841
lea eax, [ebp - 0x3ec]
call fcn.0057f740
jmp case.default.0x581841
mov eax, dword [ebp - 0x3e4]
push 1
push eax
call fcn.0057e730
add esp, 8
add dword [eax + 0x90], 1
adc dword [eax + 0x94], ebx
jmp case.default.0x581841
mov ecx, dword [ebp - 0x3e4]
push 1
push ecx
call fcn.0057e730
mov edx, dword [ebp - 0x3e0]
add esp, 8
add dword [eax + 0x88], edx
adc dword [eax + 0x8c], ebx
add dword [eax + 0x80], 1
adc dword [eax + 0x84], ebx
mov al, byte [0x8363cc]
test al, al
je 0x581740
mov ecx, dword [sym.postgres.exe_pgStatSock]
push 0x7d0
push ecx
push 0x1b
push 0x836378
call sym.postgres.exe_WaitLatchOrSocket
add esp, 0x10
test al, 0x10
jne 0x581a1d
push 0x836378
call sym.postgres.exe_ResetLatch
mov dl, byte [0x8363cc]
add esp, 4
test dl, dl
je 0x581730
push 1
call fcn.0057e990
add esp, 4
push ebx
call dword [sym.imp.MSVCR100.dll_exit]
mov edi, edi
dec eax
sbb byte [eax], bl
jle 0x581a4e
pop eax
add byte [edx - 0x5bffa7e8], dl
sbb byte [eax], bl
mov ah, 0x18
pop eax
add ah, al
sbb byte [eax], bl
cmc
sbb byte [eax], bl
add eax, 0x2d005819
sbb dword [eax], ebx
cmp eax, 0x4d005819
pop eax
add byte [0x3d005819], ch
sbb dword [eax], ebx
dec ebp
sbb dword [eax], ebx
pop ebp
sbb dword [eax], ebx
push 0x19
pop eax
add byte [ecx + 0x19], bh
pop eax
add byte [esi - 0x79ffa7e7], ah
sbb dword [eax], ebx