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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3c]
push edi
mov eax, dword [esi + 0x80]
test eax, eax
je 0x1012a9ff
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x1012a9ff
test byte [eax + 0x31c], 8
je 0x1012a9ff
cmp dword [esi + 0x78], 0
je 0x1012ab3c
push 0
push 4
push esi
call fcn.10129990
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1012ab3c
push str.txn_checkpoint:_failed_to_flush_the_buffer_cache
push edi
push esi
call fcn.100d0600
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, dword [esi + 0x84]
mov ebp, dword [eax + 0x2c]
mov eax, dword [esi + 0x8c]
mov dword [esp + 0x40], ebp
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push esi
call fcn.10124120
add esp, 0x10
test eax, eax
jne 0x1012ae1f
test byte [esp + 0x4c], 1
jne 0x1012aaf8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test ecx, ecx
jne 0x1012aa5b
test eax, eax
je 0x1012ab3c
mov edx, dword [esp + 0x44]
test edx, edx
je 0x1012aa73
shl eax, 0xa
shr ecx, 0xa
add eax, ecx
cmp eax, edx
jae 0x1012aaf8
mov edi, dword [esp + 0x48]
test edi, edi
je 0x1012ab38
lea eax, [esp + 0x24]
push eax
call fcn.10231724
mov eax, dword [esi + 0x84]
add esp, 4
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012aaad
push eax
push esi
call fcn.100dbf50
add esp, 8
test eax, eax
jne 0x1012ad03
mov eax, dword [esi + 0x84]
mov ebx, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012aad4
push eax
push esi
call fcn.100dc5b0
add esp, 8
test eax, eax
jne 0x1012ad03
mov edx, dword [esp + 0x24]
mov ecx, edi
mov eax, dword [esp + 0x28]
sub edx, ebx
sbb eax, ebp
shl ecx, 4
sub ecx, edi
shl ecx, 2
test eax, eax
jg 0x1012aaf4
jl 0x1012ab3c
cmp edx, ecx
jb 0x1012ab3c
mov ebp, dword [esp + 0x40]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1012ab11
push eax
push esi
call fcn.100dbf50
add esp, 8
test eax, eax
jne 0x1012ad03
mov eax, dword [esi + 0x84]
mov edi, dword [eax + 0x2c]
mov eax, dword [edi]
test eax, eax
je 0x1012ab46
push eax
push esi
call fcn.100dbf50
add esp, 8
test eax, eax
je 0x1012ab46
mov edi, 0xffff8702
jmp 0x1012ae02
test edx, edx
je 0x1012aaf8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
mov eax, dword [edi + 0x94]
cmp eax, 0xffffffff
je 0x1012ab9c
lea ecx, [edi + 0x94]
add ecx, eax
je 0x1012ab9c
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x1012ab90
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x1012ab90
cmp edx, ebx
jne 0x1012ab79
cmp eax, edi
je 0x1012ab90
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jns 0x1012ab90
mov edi, dword [ecx + 0x18]
mov ebx, edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
mov eax, dword [ecx + 0x60]
cmp eax, 0xffffffff
je 0x1012ab9c
add ecx, eax
jne 0x1012ab63
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012abc3
push eax
push esi
call fcn.100dc5b0
add esp, 8
test eax, eax
je 0x1012abc3
mov edi, 0xffff8702
jmp 0x1012ae02
xor edi, edi
cmp dword [esi + 0x74], edi
je 0x1012ac37
mov eax, dword [esi + 0x80]
test eax, eax
je 0x1012ac37
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x1012ac37
test dword [ecx + 0x31c], 0x2000
je 0x1012ac37
cmp dword [eax + 0x54], edi
jne 0x1012ac13
test dword [esi + 0x9c], 0x400
je 0x1012ac13
cmp dword [ecx + 0x15c], edi
je 0x1012ac13
push esi
call fcn.10110b50
mov edi, eax
add esp, 4
test edi, edi
jne 0x1012ae02
mov ecx, dword [esi + 0x80]
cmp dword [ecx + 0x54], 0
je 0x1012ac37
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
push 0x18
push 0xffffffffffffffff
push esi
call fcn.1013b560
add esp, 0x1c
cmp dword [esi + 0x78], 0
je 0x1012ac6a
push 0
push 0
push 4
push 0
push 0
push esi
call fcn.10129eb0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x1012ac6a
push str.txn_checkpoint:_failed_to_flush_the_buffer_cache
push edi
push esi
call fcn.100d0600
add esp, 0xc
jmp 0x1012ae02
cmp dword [esi + 0x74], 0
je 0x1012ae02
mov eax, dword [esi + 0x80]
test eax, eax
je 0x1012acb1
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x1012acb1
test dword [ecx + 0x31c], 0x2000
je 0x1012acb1
cmp dword [eax + 0x54], 0
je 0x1012acb1
test byte [esp + 0x4c], 2
jne 0x1012acb1
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x1012acb1
push eax
push 0
push esi
call fcn.1015c310
add esp, 0xc
cmp dword [esi + 0x74], 0
je 0x1012ae02
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012acd8
push eax
push esi
call fcn.100dbf50
add esp, 8
test eax, eax
jne 0x1012ad03
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012ad10
push eax
push esi
call fcn.100dc5b0
add esp, 8
test eax, eax
je 0x1012ad10
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x2c
ret
mov eax, dword [esi + 0x74]
mov ebx, 2
lea ecx, [ebx - 1]
test eax, eax
je 0x1012ad30
test byte [eax + 0x58], 0x40
je 0x1012ad30
cmp dword [ebp + 0x28], 0
jne 0x1012ad35
lea ecx, [ebx + 3]
jmp 0x1012ad35
mov ebx, 3
push ecx
push esi
call fcn.1015ea40
mov edi, eax
add esp, 8
test edi, edi
jne 0x1012adeb
push eax
call fcn.10231724
push edi
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x30]
push eax
push ebx
push eax
push edi
push esi
call fcn.1015f4c0
mov edi, eax
add esp, 0x28
test edi, edi
jne 0x1012adeb
mov eax, dword [esi + 0x84]
mov edi, dword [eax + 0x2c]
mov eax, dword [edi]
test eax, eax
je 0x1012ad95
push eax
push esi
call fcn.100dbf50
add esp, 8
test eax, eax
je 0x1012ad95
mov edi, 0xffff8702
jmp 0x1012ae02
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp dword [edi + 0x14], edx
jne 0x1012ada7
cmp dword [edi + 0x18], ecx
je 0x1012adc3
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jns 0x1012adc3
lea eax, [edi + 0x20]
mov dword [edi + 0x14], edx
push eax
mov dword [edi + 0x18], ecx
call fcn.10231724
add esp, 4
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x1012ade7
push eax
push esi
call fcn.100dc5b0
add esp, 8
test eax, eax
je 0x1012ade7
mov edi, 0xffff8702
jmp 0x1012ae02
xor edi, edi
jmp 0x1012ae02
push dword [esp + 0x20]
push dword [esp + 0x20]
push str.txn_checkpoint:_log_failed_at_LSN___ld__ld_
push edi
push esi
call fcn.100d0600
add esp, 0x14
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1012ae1d
push eax
push esi
call fcn.100dc5b0
add esp, 8
mov ecx, 0xffff8702
test eax, eax
cmovne edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret