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

Disassembly:
sub esp, 0xf0
push ebx
push ebp
mov ebp, dword [esp + 0xfc]
xor ebx, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x38], ebx
mov eax, dword [ebp + 0x158]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x108]
push esi
cmp eax, ebx
mov edx, dword [ecx + 0x118]
push edi
mov dword [esp + 0x20], 0xd2f1a9fc
mov dword [esp + 0x24], 0x3f50624d
mov dword [esp + 0x34], edx
je 0x43f8c2
cmp dword [ebp + 0x168], ebx
je 0x43f8c2
mov eax, dword [ebp + 0xe8]
mov ecx, dword [eax + 0x1c]
add ecx, 0x40
push ecx
call fcn.004a318e
add esp, 4
mov eax, dword [ebp + 0x158]
mov ecx, 1
mov edx, dword [eax + 0x4c]
or edx, ecx
mov dword [eax + 0x4c], edx
mov edx, dword [ebp + 0x16c]
mov eax, dword [edx + 0x30]
mov dword [esp + 0x30], eax
mov edi, dword [eax + 0x5c]
or edi, ecx
mov dword [eax + 0x5c], edi
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.00434630
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x440385
mov eax, dword [esp + 0x108]
mov dword [esp + 0x5c], ebx
cmp eax, ebx
mov dword [esp + 0x60], ebx
je 0x43f977
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x5c]
push ebx
push ecx
push eax
push edx
push ebp
call fcn.00440570
mov esi, eax
add esp, 0x14
cmp esi, ebx
jne 0x440385
mov edx, dword [esp + 0x10]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x44]
push 0x11
lea ecx, [esp + 0x3c]
push eax
push ecx
push edx
call fcn.00434960
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x43fa68
cmp esi, 0xffff86f3
jne 0x43fa55
xor esi, esi
jmp 0x440385
mov eax, dword [ebp + 0xa4]
lea edi, [ebp + 0xa4]
cmp eax, ebx
je 0x43f934
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x74]
push eax
push ecx
push edx
push ebp
call fcn.00440720
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x440385
mov eax, dword [edi]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jge 0x43f934
push edi
call fcn.004a402f
push eax
push 0x4ba140
lea ecx, [esp + 0xd0]
push 0x3c
push ecx
call fcn.004a3f7b
lea edx, [esp + 0xd8]
push 0xa
push edx
call fcn.004a3aa0
add esp, 0x1c
cmp eax, ebx
je 0x43f9e7
mov byte [eax], 0
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x88], eax
call fcn.004a402f
push eax
push 0x4ba140
lea edx, [esp + 0x94]
push 0x3c
push edx
call fcn.004a3f7b
lea eax, [esp + 0x9c]
push 0xa
push eax
call fcn.004a3aa0
add esp, 0x1c
cmp eax, ebx
je 0x43fa2d
mov byte [eax], 0
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc4]
push ecx
push edx
push str.Invalid_recovery_timestamp__s__earliest_time_is__s
push ebp
call fcn.00415f80
add esp, 0x10
mov esi, 0x16
jmp 0x440385
push str.Last_log_record_not_found
push ebp
call fcn.00415f80
add esp, 8
jmp 0x440385
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 4]
cmp edi, ebx
jne 0x43faad
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 0x19
lea edx, [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00434960
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x43fa9d
mov ecx, dword [esp + 0x44]
mov edi, dword [ecx + 4]
cmp edi, ebx
je 0x43fa73
cmp esi, 0xffff86f3
je 0x43faad
cmp esi, ebx
jne 0x440385
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x44]
push 9
lea eax, [esp + 0x68]
push edx
push eax
push ecx
mov ebx, edi
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
je 0x43fae1
cmp esi, 0xffff86f3
jne 0x4401d5
xor esi, esi
jmp 0x440385
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x114]
test eax, 0x200000
mov dword [esp + 0x14], edx
mov esi, 1
jne 0x43fc06
lea ecx, [esp + 0x64]
push ecx
push ebp
call fcn.00425a60
add esp, 8
test eax, eax
jne 0x43fb8b
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x44]
push 0x1c
lea eax, [esp + 0x68]
push edx
push eax
push ecx
call fcn.00434960
add esp, 0x10
test eax, eax
jne 0x43fb8b
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x40]
push edx
push eax
push ebp
call fcn.00442080
mov esi, eax
add esp, 0xc
test esi, esi
je 0x43fb6d
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
push ecx
push edx
push str.Invalid_checkpoint_record_at___ld___ld_
push ebp
call fcn.00415f80
add esp, 0x10
jmp 0x440385
mov eax, dword [esp + 0x40]
push eax
push ebp
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x20], edx
call fcn.00410cc0
add esp, 8
xor esi, esi
mov eax, dword [ebp + 0xa4]
test eax, eax
jne 0x43fba0
mov eax, dword [esp + 0x108]
test eax, eax
je 0x43fbc6
lea eax, [esp + 0x14]
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.00473e00
add esp, 8
test eax, eax
jge 0x43fbc6
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
test esi, esi
jne 0x43fc06
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 0x1c
lea edx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
je 0x43fc06
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str.Checkpoint_LSN_record___ld___ld__not_found
push ebp
call fcn.00415f80
add esp, 0x10
jmp 0x440385
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, edx
je 0x43fcac
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jne 0x43fc49
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fild qword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
fild qword [esp + 0x20]
fdivp st(1)
jmp 0x43fc87
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
sub esi, ecx
mov ecx, dword [esp + 0x34]
add esi, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], esi
fild qword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
fild qword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
sub eax, ecx
fdivp st(1)
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
faddp st(1)
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fcomp qword [0x4b0b00]
fnstsw ax
test ah, 1
je 0x43fcac
mov dword [esp + 0x20], 0xd2f1a9fc
mov dword [esp + 0x24], 0x3f50624d
cmp edi, edx
je 0x43fd1b
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 4]
cmp edi, edx
jne 0x43fd1b
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 0x12
lea edx, [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x43fce5
mov ecx, dword [esp + 0x44]
mov edi, dword [ecx + 4]
test edi, edi
je 0x43fcbb
cmp esi, 0xffff86f3
jne 0x43fd13
lea edx, [esp + 0x38]
lea eax, [esp + 0x28]
push edx
push eax
call fcn.00473e00
add esp, 8
test eax, eax
je 0x43fd1b
lea ecx, [esp + 0x28]
push ecx
push ebp
call fcn.00440940
add esp, 8
mov esi, eax
test esi, esi
jne 0x440385
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x44]
push 0x1c
lea eax, [esp + 0x18]
push edx
push eax
push ecx
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440385
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x1c]
push edx
push eax
push ebx
push edi
push ebp
call fcn.00474430
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x440385
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push 1
push ecx
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0x20]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
push ebp
call fcn.004407f0
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x440385
test ebx, ebx
jne 0x43fdab
mov eax, dword [esp + 0x108]
test eax, eax
je 0x4400cd
test byte [ebp + 0x28], 2
je 0x43fdc9
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push str.Recovery_starting_from___lu___lu_
push ebp
call fcn.004161a0
add esp, 0x10
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 0x11
lea edx, [esp + 0x2c]
push ecx
push edx
push eax
mov edi, str.backward
call fcn.00434960
mov ebx, dword [esp + 0x44]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x43feba
lea ecx, [esp + 0x14]
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00473e00
add esp, 8
test eax, eax
jl 0x43feba
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x43fe4d
push 0
lea eax, [esp + 0x2c]
push ebx
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.004403f0
fdiv qword [esp + 0x34]
fmul qword [0x4b0af8]
call fcn.004a4374
mov ecx, 0x22
sub ecx, eax
push ecx
push 0x20
push ebp
call dword [ebp + 0x14]
add esp, 0x20
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
push edx
mov edx, dword [ebp + 0x108]
lea eax, [esp + 0x70]
push 3
lea ecx, [esp + 0x4c]
push eax
mov eax, dword [ebp + 0x104]
push ecx
push edx
push eax
push ebp
call fcn.004740b0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x43fe97
cmp esi, 0xffff8757
jne 0x44036c
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 0x19
lea edx, [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
je 0x43fdf5
cmp esi, 0xffff86f3
jne 0x43fee8
lea ecx, [esp + 0x14]
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00473e00
add esp, 8
test eax, eax
jle 0x43fef4
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.00440940
add esp, 8
mov esi, eax
test esi, esi
jne 0x440385
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov edi, str.forward
test eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
jne 0x43ff1e
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x43ff30
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push 0x12
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440016
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x43ff91
push 1
lea eax, [esp + 0x2c]
push ebx
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.004403f0
fdiv qword [esp + 0x34]
fmul qword [0x4b0af8]
call fcn.004a4374
mov ecx, 0x43
sub ecx, eax
push ecx
push 0x20
push ebp
call dword [ebp + 0x14]
add esp, 0x20
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
push edx
mov edx, dword [ebp + 0x108]
lea eax, [esp + 0x70]
push 4
lea ecx, [esp + 0x4c]
push eax
mov eax, dword [ebp + 0x104]
push ecx
push edx
push eax
push ebp
call fcn.004740b0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x43ffdd
cmp esi, 0xffff8757
jne 0x44036c
xor esi, esi
lea ecx, [esp + 0x78]
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00473e00
add esp, 8
test eax, eax
jge 0x440016
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push 0x12
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
je 0x43ff53
cmp esi, 0xffff86f3
jne 0x44002e
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.00440940
add esp, 8
mov esi, eax
test esi, esi
jne 0x440385
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x44004e
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x4400cd
mov eax, dword [esp + 0x10]
test eax, eax
je 0x440073
push eax
call fcn.004347c0
mov esi, eax
add esp, 4
test esi, esi
jne 0x440385
push 0
push ebp
mov dword [esp + 0x18], 0
call fcn.0042f150
mov esi, eax
add esp, 8
test esi, esi
jne 0x440385
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
add ecx, 0xc
mov edx, dword [ecx]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x10c]
mov ecx, dword [ecx + 4]
push edx
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0xc]
add eax, 4
push ecx
push eax
push ebp
call fcn.0044f760
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440385
push 4
push 0
push 0
push ebp
call fcn.00425670
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440385
push ebp
call fcn.00474f00
mov esi, eax
add esp, 4
test esi, esi
jne 0x440385
mov ebx, dword [esp + 0x108]
test ebx, ebx
je 0x4402c2
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xc]
lea eax, [ecx + 0xc]
test edx, edx
jne 0x44013a
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x44013a
mov edx, dword [esp + 0x30]
push ebx
add edx, 0x14
push edx
push ebp
call fcn.0044dd00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x440149
jmp 0x440385
mov ecx, dword [esp + 0x30]
mov edx, dword [eax]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 4]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x44016b
push eax
call fcn.004347c0
mov esi, eax
add esp, 4
test esi, esi
jne 0x440385
mov ebx, dword [esp + 0x108]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10c]
add edx, 0xc
push ecx
push edx
push ebx
push ebp
call fcn.0044f760
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440385
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.00434630
mov esi, eax
add esp, 8
test esi, esi
jne 0x440385
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
push 9
lea edx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4401e8
cmp esi, 0xffff86f3
jne 0x4401d5
xor esi, esi
jmp 0x440385
push str.First_log_record_not_found
push ebp
call fcn.00415f80
add esp, 8
jmp 0x440385
lea ecx, [esp + 0x14]
push ecx
push ebp
call fcn.00425a60
add esp, 8
test eax, eax
jne 0x440269
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x44]
push 0x1c
lea eax, [esp + 0x18]
push edx
push eax
push ecx
call fcn.00434960
add esp, 0x10
test eax, eax
jne 0x440269
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x40]
push edx
push eax
push ebp
call fcn.00442080
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44024d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str.Invalid_checkpoint_record_at___ld___ld_
push ebp
call fcn.00415f80
add esp, 0x10
jmp 0x440385
mov eax, dword [esp + 0x40]
push eax
push ebp
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x20], edx
call fcn.00410cc0
add esp, 8
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push 0x1c
lea ecx, [esp + 0x18]
push eax
push ecx
push edx
call fcn.00434960
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x440385
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push 1
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push esi
lea eax, [esp + 0x54]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
push ebp
call fcn.004407f0
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x440385
jmp 0x440305
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x44]
test ecx, ecx
jne 0x4402e2
push ebp
call fcn.004279d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x440385
jmp 0x440305
mov eax, dword [ebp + 0x168]
test eax, eax
je 0x4402f2
mov edx, dword [eax + 4]
mov dword [edx + 0x54], ecx
push ebp
call fcn.00425f70
mov esi, eax
add esp, 4
test esi, esi
jne 0x440385
test byte [ebp + 0x28], 2
je 0x440385
lea eax, [esp + 0x80]
push eax
call fcn.004a318e
lea ecx, [esp + 0x84]
push ecx
call fcn.004a402f
push eax
push str.Recovery_complete_at__.24s
push ebp
call fcn.004161a0
mov eax, dword [esp + 0x30]
add esp, 0x14
test eax, eax
jne 0x440343
mov eax, 0x80000000
jmp 0x440345
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push edx
push ecx
push str.Recovery_checkpoint
push eax
push str.Maximum_transaction_ID
push str._s__lx__s___lu___lu_
push ebp
call fcn.004161a0
add esp, 0x1c
jmp 0x440385
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push edi
push edx
push eax
push str.Recovery_function_for_LSN__lu__lu_failed_on__s_pass
push ebp
call fcn.00415f80
add esp, 0x14
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4403a0
push eax
call fcn.004347c0
add esp, 4
test eax, eax
je 0x4403a0
test esi, esi
jne 0x4403a0
mov esi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4403b2
push eax
push ebp
call fcn.004746f0
add esp, 8
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0xa4], 0
mov ebp, dword [ebp + 0x158]
mov eax, 0xfffffffe
mov edi, dword [ebp + 0x4c]
and edi, eax
mov dword [ebp + 0x4c], edi
mov edx, dword [ecx + 0x5c]
and edx, eax
mov eax, esi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x5c], edx
pop ebx
add esp, 0xf0
ret