Function at 0x44c700
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2004
call fcn.006a8ce0
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
fld qword [0x6b2900]
push esi
mov esi, dword [0x833510]
mov eax, 0x2000
fstp qword [esi + 0xa0]
push edi
mov dword [esi + 0xa8], eax
mov dword [esi + 0xb0], eax
or eax, 0xffffffff
mov dword [esi + 8], 0x39a
mov dword [esi + 0xc], 0xbfe224d
mov dword [esi + 0x9c], 8
mov dword [esi + 0xac], 0x20000
mov dword [esi + 0xb4], 0x1000000
mov dword [esi + 0xb8], 0x40
mov dword [esi + 0xbc], 0x20
mov dword [esi + 0xc0], 0x7cc
mov word [esi + 0xc4], 0x101
mov byte [esi + 0xc6], 0
mov dword [esi + 0xc8], eax
mov edi, esi
mov edx, 0xc8
push ebx
movzx ebx, byte [edi]
mov ecx, eax
shr ecx, 0x18
xor ecx, ebx
and ecx, 0xff
shl eax, 8
xor eax, dword [ecx*4 + sym.postgres.exe_pg_crc32_table]
inc edi
dec edx
mov dword [esi + 0xc8], eax
jne 0x44c7a7
not eax
push 0x2000
mov dword [esi + 0xc8], eax
push edx
lea eax, [ebp - 0x2004]
push eax
call sub.MSVCR100.dll_memset
push 0x180
push 0x8502
mov ecx, 0x34
lea edi, [ebp - 0x2004]
push str.global_pg_control
rep movsd dword es:[edi], dword [esi]
call sym.postgres.exe_BasicOpenFile
add esp, 0x18
mov esi, eax
pop ebx
test esi, esi
jns 0x44c850
push 0
push str.WriteControlFile
push 0x135e
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c850
push str.global_pg_control
push str.could_not_create_control_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 edi, dword [sym.imp.MSVCR100.dll__errno]
call edi
push 0x2000
lea ecx, [ebp - 0x2004]
push ecx
push esi
mov dword [eax], 0
call dword [sym.imp.MSVCR100.dll__write]
add esp, 0xc
cmp eax, 0x2000
je 0x44c8c5
call edi
cmp dword [eax], 0
jne 0x44c88a
call edi
mov dword [eax], 0x1c
push 0
push str.WriteControlFile
push 0x1368
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c8c5
push str.could_not_write_to_control_file:__m
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
push esi
call sym.postgres.exe_pg_fsync
add esp, 4
test eax, eax
je 0x44c90d
push 0
push str.WriteControlFile
push 0x136e
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c90d
push str.could_not_fsync_control_file:__m
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
push esi
call dword [sym.imp.MSVCR100.dll__close]
add esp, 4
pop edi
pop esi
test eax, eax
je 0x44c958
push 0
push str.WriteControlFile
push 0x1373
push str.src_backend_access_transamxlog.c
push 0x16
call sym.postgres.exe_errstart
add esp, 0x14
test al, al
je 0x44c958
push str.could_not_close_control_file:__m
call sym.postgres.exe_errmsg
add esp, 4
push eax
call sym.postgres.exe_errcode_for_file_access
push eax
call sym.postgres.exe_errfinish
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret