Function at 0x409740
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4cc
mov ebx, eax
mov eax, dword [0x416050]
mov edx, dword [eax]
mov dword [ebp - 0x4b4], eax
mov eax, 0xffffffff
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 0x4b8], eax
mov dword [esp], 0
call sub.cygwin1.dll_time
mov dword [ebp - 0x4bc], eax
mov eax, 0x414338
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.cygwin1.dll__fopen64
mov dword [ebp - 0x4a4], eax
mov edi, dword [ebp - 0x4a4]
mov eax, 0xffffffff
test edi, edi
je 0x409cce
mov eax, dword [ebp - 0x4a4]
mov ebx, 9
mov esi, 1
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x418]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], ebx
call sub.cygwin1.dll_fread
test eax, eax
je 0x409b78
mov byte [ebp - 0x40f], 0
mov edi, str.REDIS
mov ecx, 5
cld
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x409ca6
lea eax, [ebp - 0x413]
mov dword [esp], eax
call sub.cygwin1.dll_atoi
mov dword [ebp - 0x4ac], eax
dec eax
jg 0x409d20
jmp 0x409820
mov eax, dword [ebp - 0x4a4]
call fcn.004047d0
cmp eax, 0xffffffff
mov esi, eax
je 0x409b78
cmp eax, 0xfd
je 0x409b20
cmp esi, 0xff
je 0x409cd9
cmp esi, 0xfe
je 0x409aa0
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00406be0
mov dword [ebp - 0x4a8], eax
test eax, eax
je 0x409b78
test esi, esi
je 0x409af0
lea eax, [esi - 1]
cmp eax, 1
jbe 0x409ba0
cmp esi, 3
jne 0x409d11
mov dword [esp], 0
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00404810
cmp eax, 0xffffffff
mov esi, eax
je 0x409c39
call fcn.00405390
mov dword [ebp - 0x4c0], eax
mov eax, dword [eax]
dec esi
cmp esi, 0xffffffff
mov dword [ebp - 0x4c4], eax
je 0x409a03
lea esi, [esi]
lea edi, [edi]
mov dword [esp], 8
call fcn.0040fee0
mov edi, eax
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00406be0
test eax, eax
mov ebx, eax
je 0x409c39
call fcn.00403e90
mov edx, dword [ebp - 0x4a4]
mov eax, 1
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sub.cygwin1.dll_fread
test eax, eax
je 0x409c39
movzx eax, byte [ebp - 0x49d]
movzx edx, al
cmp edx, 0xfe
je 0x409a90
jg 0x409a75
cmp edx, 0xfd
je 0x409c79
mov edx, dword [ebp - 0x4a4]
movzx eax, al
mov ecx, 1
mov dword [esp + 4], eax
lea eax, [ebp - 0x498]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.cygwin1.dll_fread
test eax, eax
je 0x409c39
movzx eax, byte [ebp - 0x49d]
xor edx, edx
mov dword [esp + 8], edi
mov byte [ebp + eax - 0x498], dl
mov eax, 0x414340
lea edx, [ebp - 0x498]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.cygwin1.dll_sscanf
mov dword [esp + 8], edi
mov edx, dword [ebp - 0x4c4]
mov dword [esp + 4], ebx
mov eax, dword [edx]
mov dword [esp], eax
call fcn.00402ea0
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx + 4]
mov dword [esp + 8], ebx
fld qword [edi]
fstp qword [esp]
call fcn.004095c0
mov eax, ebx
call fcn.00403b30
dec esi
cmp esi, 0xffffffff
jne 0x4098e0
mov eax, dword [ebp - 0x4c0]
mov edx, dword [ebp - 0x4a8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x4b0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00402ea0
dec eax
je 0x409ceb
cmp dword [ebp - 0x4b8], 0xffffffff
je 0x409820
mov eax, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0x4a8]
mov dword [esp], eax
mov eax, dword [ebp - 0x4b4]
call fcn.00404910
mov edx, dword [ebp - 0x4bc]
cmp dword [ebp - 0x4b8], edx
jl 0x409c86
mov edx, 0xffffffff
mov dword [ebp - 0x4b8], edx
jmp 0x409820
cmp edx, 0xff
jne 0x409968
fld qword [0x416028]
fstp qword [edi]
jmp 0x4099c3
fld qword [0x416018]
fstp qword [edi]
jmp 0x4099c3
mov dword [esp], 0
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00404810
cmp eax, 0xffffffff
je 0x409b78
mov edx, dword [0x4161ac]
cmp edx, eax
jbe 0x409d57
lea edx, [eax + eax*2]
mov eax, dword [0x416050]
lea edx, [eax + edx*4]
mov dword [ebp - 0x4b4], edx
mov edx, dword [edx]
mov dword [ebp - 0x4b0], edx
jmp 0x409820
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00406be0
mov dword [ebp - 0x4c0], eax
test eax, eax
je 0x409c39
call fcn.00403e90
jmp 0x409a03
mov eax, dword [ebp - 0x4a4]
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], eax
mov eax, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x49c]
mov dword [esp], eax
call sub.cygwin1.dll_fread
test eax, eax
mov edx, 0xffffffff
je 0x409b59
mov edx, dword [ebp - 0x49c]
mov dword [ebp - 0x4b8], edx
inc edx
je 0x409b78
mov eax, dword [ebp - 0x4a4]
call fcn.004047d0
cmp eax, 0xffffffff
mov esi, eax
jne 0x409841
mov dword [esp], 2
mov eax, str.Short_read_or_OOM_loading_DB._Unrecoverable_error__aborting_now.
mov dword [esp + 4], eax
call fcn.00403610
mov dword [esp], 1
call sub.cygwin1.dll_exit
lea esi, [esi]
mov dword [esp], 0
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00404810
cmp eax, 0xffffffff
mov edi, eax
je 0x409c39
cmp esi, 1
je 0x409c9c
call fcn.00403cd0
mov dword [ebp - 0x4c0], eax
dec edi
cmp edi, 0xffffffff
je 0x409a03
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00406be0
test eax, eax
mov ebx, eax
je 0x409c39
call fcn.00403e90
cmp esi, 1
je 0x409c60
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0x4c0]
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], eax
call fcn.00402ea0
dec edi
cmp edi, 0xffffffff
je 0x409a03
mov edx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4a4]
call fcn.00406be0
test eax, eax
mov ebx, eax
jne 0x409bf4
mov eax, dword [ebp - 0x4a8]
test eax, eax
je 0x409b78
mov edx, dword [ebp - 0x4a8]
mov dword [esp], edx
call fcn.00405460
jmp 0x409b78
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx]
mov dword [esp], eax
call fcn.00401150
jmp 0x409bd3
fld qword [0x416038]
fstp qword [edi]
jmp 0x4099c3
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4b4]
call fcn.004065c0
jmp 0x409a65
call fcn.00403cb0
jmp 0x409bcd
mov edx, dword [ebp - 0x4a4]
mov dword [esp], edx
call sub.cygwin1.dll_fclose
mov dword [esp], 2
mov ecx, str.Wrong_signature_trying_to_load_DB_from_file
mov dword [esp + 4], ecx
call fcn.00403610
mov eax, 0xffffffff
add esp, 0x4cc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x4a4]
mov dword [esp], eax
call sub.cygwin1.dll_fclose
xor eax, eax
jmp 0x409cce
mov edx, dword [ebp - 0x4a8]
mov ecx, str.Loading_DB__duplicated_key___s__found__Unrecoverable_error__exiting_now.
mov eax, dword [edx]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 2
call fcn.00403610
jmp 0x409b8d
mov eax, str.0___0
call fcn.004039e0
jmp 0x409b8d
mov eax, dword [ebp - 0x4a4]
mov dword [esp], eax
call sub.cygwin1.dll_fclose
mov dword [esp], 2
mov edx, dword [ebp - 0x4ac]
mov dword [esp + 8], edx
mov edx, str.Cant_handle_RDB_format_version__d
mov dword [esp + 4], edx
call fcn.00403610
mov eax, 0xffffffff
jmp 0x409cce
mov dword [esp + 8], edx
mov eax, str.FATAL:_Data_file_was_created_with_a_Redis_server_configured_to_handle_more_than__d_databases._Exiting_n
mov dword [esp + 4], eax
jmp 0x409d00