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

Disassembly:
sub esp, 0x48
mov eax, dword [esp + 0x4c]
push ebx
mov ebx, dword [esp + 0x64]
push esi
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov esi, dword [esp + 0x58]
push edi
xor edi, edi
mov dword [esp + 0x14], ecx
test bl, 0x40
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0xf], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edi
jne 0x45bc8e
push esi
push eax
call fcn.00418f70
add esp, 8
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x18]
push eax
push ecx
push esi
call fcn.004581a0
add esp, 0xc
cmp eax, edi
jne 0x45c890
mov eax, ebx
push ebp
mov ebp, dword [esp + 0x1c]
xor edx, edx
shr eax, 0x17
mov dword [esp + 0x20], edi
mov dl, byte [ebp + 1]
and eax, 1
and ebx, 0xff7fffff
cmp eax, edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x70], ebx
je 0x45bcf4
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dl, byte [esi + 0x2c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x13], dl
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov byte [esi + 0x2c], 0
mov dl, byte [ebp]
mov ecx, edx
and ecx, 0xff
lea eax, [ecx - 3]
cmp eax, 9
ja case.default.0x45bd13
xor ebx, ebx
mov bl, byte [eax + 0x45c8a4]
jmp dword [ebx*4 + 0x45c898]
mov ebp, dword [esp + 0x60]
mov al, byte [ebp + 0x2c]
test al, al
jne 0x45bd40
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov byte [ebp + 0x2c], dl
mov eax, dword [eax + 8]
test eax, eax
jne 0x45bdc3
jmp 0x45bdef
cmp dl, al
je 0x45bd78
mov dl, byte [esp + 0x70]
mov dword [esp + 0x14], 1
test dl, 0x40
jne 0x45bd78
and eax, 0xff
mov edi, dword [esp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
push edx
push str.Page__lu:_unexpected_page_type__lu_found_in_leaf_chain__expected__lu_
push edi
call fcn.00415f80
add esp, 0x14
jmp 0x45bd7c
mov edi, dword [esp + 0x18]
test byte [ebp + 0x50], 8
jne 0x45bdef
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x28]
mov eax, dword [eax + 4]
cmp eax, ecx
je 0x45bdb5
mov dl, byte [esp + 0x70]
mov dword [esp + 0x14], 1
test dl, 0x40
jne 0x45bdb5
push eax
push ecx
mov ecx, dword [ebp + 0x24]
push ecx
push str.Page__lu:_incorrect_next_pgno__lu_found_in_leaf_chain__should_be__lu_
push edi
call fcn.00415f80
add esp, 0x14
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x24]
mov eax, dword [edx + 8]
cmp eax, ecx
je 0x45bdef
mov cl, byte [esp + 0x70]
mov dword [esp + 0x14], 1
test cl, 0x40
jne 0x45bdef
mov ecx, dword [ebp + 0x24]
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [edx + 4]
push eax
push str.Page__lu:_incorrect_prev_pgno__lu_found_in_leaf_chain__should_be__lu_
push edi
call fcn.00415f80
add esp, 0x14
mov eax, dword [esp + 0x1c]
mov ebx, dword [ebp + 0x50]
and ebx, 0xfffffff7
mov ecx, dword [eax + 4]
mov dword [ebp + 0x24], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x20]
mov dword [ebp + 0x28], edx
push eax
push ebp
mov dword [ebp + 0x50], ebx
call fcn.00458580
mov esi, eax
add esp, 8
test esi, esi
jne 0x45c7fc
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
call fcn.00458730
mov ebx, dword [esp + 0x68]
add esp, 0xc
test eax, eax
jne 0x45be95
mov eax, dword [esp + 0x28]
cmp dword [eax + 4], 2
jne 0x45be7f
mov ecx, dword [esp + 0x70]
mov edx, dword [eax + 0xc]
mov eax, dword [eax]
or ecx, 0x100000
push ecx
push edx
push eax
push ebp
push ebx
call fcn.0045ed10
mov esi, eax
add esp, 0x14
test esi, esi
je 0x45be7f
cmp esi, 0xffff8704
jne 0x45bf30
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.00458790
add esp, 8
test eax, eax
je 0x45be3f
mov eax, dword [esp + 0x20]
push eax
call fcn.004587e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x45c7fc
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov al, byte [edx]
cmp al, 6
jne 0x45bf00
mov ebx, dword [esp + 0x70]
test ebx, 0x80000
jne 0x45bff4
test ebx, 0x10000
je 0x45bede
test ebx, 0x40000
je 0x45bff4
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45bf34
mov ecx, dword [esp + 0x64]
push ecx
push str.Page__lu:_recno_leaf_page_non_recno_tree
push edi
call fcn.00415f80
add esp, 0xc
jmp 0x45bf34
mov ecx, dword [esp + 0x70]
test ecx, 0x80000
je 0x45bfbc
test cl, 0x40
mov dword [esp + 0x14], 1
jne 0x45bf30
mov edx, dword [esp + 0x64]
push edx
push str.Page__lu:_non_recno_leaf_page_in_recno_tree
push edi
call fcn.00415f80
add esp, 0xc
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x3c]
mov eax, dword [esp + 0x14]
test cl, 0x40
je 0x45c563
test eax, eax
jne 0x45c678
test esi, esi
jne 0x45c678
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x45bf82
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x68]
push esi
push edx
push eax
call fcn.00453820
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45c7fc
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
push ebx
push 0
push 1
push 0
push ecx
push edx
push eax
push ebp
call fcn.0045b510
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x45c7fc
mov eax, dword [esp + 0x1c]
and dword [eax + 0x3c], 0xffffffbf
jmp 0x45c577
cmp al, 0xc
je 0x45bff0
test byte [edx + 0x3c], 4
je 0x45bff0
mov eax, dword [esp + 0x70]
test eax, 0x10000
jne 0x45c035
test al, 0x40
mov dword [esp + 0x14], 1
jne 0x45bff0
mov eax, dword [esp + 0x64]
push eax
push str.Page__lu:_duplicates_in_non_dup_btree
push edi
call fcn.00415f80
add esp, 0xc
mov ebx, dword [esp + 0x70]
test ebx, 0x200000
mov dword [esp + 0x30], 1
je 0x45c00f
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x2c], eax
test ebx, 0x400000
je 0x45bf34
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x45bf34
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x24]
mov dword [eax], edx
jmp 0x45bf34
lea ecx, [esp + 0x20]
push ecx
push ebp
call fcn.00458580
mov esi, eax
add esp, 8
test esi, esi
jne 0x45c7fc
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.00458730
add esp, 0xc
test eax, eax
jne 0x45c0ef
mov edi, dword [esp + 0x70]
or edi, 0x220000
mov eax, dword [esp + 0x28]
mov esi, 1
cmp dword [eax + 4], esi
jne 0x45c0d9
mov edx, dword [eax]
push edi
push edx
push ebp
push ebx
call fcn.00419b00
add esp, 0x10
test eax, eax
je 0x45c09c
mov dword [esp + 0x14], esi
jmp 0x45c0d9
mov ecx, dword [esp + 0x28]
mov eax, edi
push 0
push 0
mov edx, dword [ecx]
or eax, 0x800000
push 0
push eax
push 0
push 0
push edx
push ebp
push ebx
call fcn.0045bc40
mov esi, eax
add esp, 0x24
test esi, esi
je 0x45c0d9
cmp esi, 0xffff8704
jne 0x45c7fc
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.00458790
add esp, 8
test eax, eax
je 0x45c076
mov edx, dword [esp + 0x20]
push edx
call fcn.004587e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x45c7fc
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
test byte [eax + 0x3c], 1
je 0x45bff0
mov eax, dword [esp + 0x70]
test eax, 0x40000
je 0x45bff0
test al, 0x40
mov dword [esp + 0x14], 1
jne 0x45bff0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
push ecx
push str.Page__lu:_unsorted_duplicate_set_in_sorted_dup_database
push edx
jmp 0x45bfe8
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.00458580
mov esi, eax
add esp, 8
test esi, esi
jne 0x45c7fc
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.00458730
add esp, 0xc
test eax, eax
jne 0x45c362
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
cmp ecx, 3
jne 0x45c2ca
mov ecx, dword [esp + 0x1c]
cmp byte [ecx], 4
jne 0x45c3e6
mov ebx, dword [esp + 0x70]
mov eax, dword [eax]
lea edx, [esp + 0x48]
lea ecx, [esp + 0x38]
push edx
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push ebx
push 0
push 0
push eax
push ecx
push edx
call fcn.0045bc40
mov esi, eax
add esp, 0x24
test esi, esi
je 0x45c1f1
cmp esi, 0xffff8704
jne 0x45bf30
mov edi, 1
mov dword [esp + 0x14], edi
jmp 0x45c1f6
mov edi, 1
test ebx, 0x400000
je 0x45c245
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x45c210
mov esi, dword [esp + 0x48]
mov dword [esp + 0x44], esi
jmp 0x45c23b
mov eax, dword [esp + 0x48]
test eax, eax
jbe 0x45c23b
cmp esi, eax
je 0x45c23b
test bl, 0x40
mov dword [esp + 0x14], edi
jne 0x45c23b
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push ecx
push str.Page__lu:_recno_page_returned_bad_re_len__lu
push ebp
call fcn.00415f80
add esp, 0x10
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x45c245
mov dword [eax], esi
test ebx, 0x200000
je 0x45c280
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov eax, dword [edx + 8]
cmp eax, ecx
je 0x45c27c
test bl, 0x40
mov dword [esp + 0x14], edi
jne 0x45c27c
mov edx, dword [edx]
push eax
push ecx
push edx
push str.Page__lu:_record_count_incorrect:_actual__lu__in_record__lu
push ebp
call fcn.00415f80
mov ecx, dword [esp + 0x4c]
add esp, 0x14
add dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x45c348
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
lea ecx, [eax + 1]
cmp edx, ecx
je 0x45c348
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c348
dec edx
push edx
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
push str.Page__lu:_recno_level_incorrect:_got__lu__expected__lu
push ebp
call fcn.00415f80
add esp, 0x14
jmp 0x45c348
cmp ecx, 2
jne 0x45c348
mov ecx, dword [eax + 0x10]
cmp ecx, 2
jbe 0x45c300
mov cl, byte [esp + 0x70]
mov dword [esp + 0x14], 1
test cl, 0x40
jne 0x45c348
mov edx, dword [eax]
mov eax, dword [esp + 0x64]
push edx
push eax
push str.Page__lu:_overflow_page__lu_referenced_more_than_twice_from_internal_page
push ebp
call fcn.00415f80
add esp, 0x10
jmp 0x45c348
xor edi, edi
test ecx, ecx
jbe 0x45c348
mov ecx, dword [esp + 0x70]
mov edx, dword [eax + 0xc]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push eax
push ecx
push edx
call fcn.0045ed10
mov esi, eax
add esp, 0x14
test esi, esi
je 0x45c33e
cmp esi, 0xffff8704
jne 0x45bf30
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x28]
inc edi
cmp edi, dword [eax + 0x10]
jb 0x45c306
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.00458790
add esp, 8
test eax, eax
je 0x45c18a
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004587e0
mov esi, eax
add esp, 4
test esi, esi
jne 0x45c7fc
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
cmp byte [edx], 4
je 0x45bf30
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x45c3b4
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x68]
push esi
push ecx
push edx
call fcn.00453820
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45c7fc
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov ax, word [eax + 0x18]
test ax, ax
jbe 0x45bf30
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x250]
mov esi, edx
and esi, 0x400
je 0x45c414
mov ecx, 0x26
jmp 0x45c420
test byte [esp + 0x70], 0x40
jne 0x45c40a
mov eax, dword [esp + 0x64]
xor edx, edx
mov dl, byte [ecx]
push edx
push str.__bam_vrfy_subtree
push eax
push str.Page__lu:__s_called_on_nonsensical_page_of_type__lu
push ebp
call fcn.00415f80
add esp, 0x14
mov esi, 0x16
jmp 0x45c800
mov ecx, edx
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
mov ebp, ebx
mov ebx, dword [esp + 0x24]
and ebp, 0xffff
xor edi, edi
and eax, 0xffff
lea ecx, [ecx + ebp*2 + 0x1a]
mov di, word [ecx + ebx]
mov ecx, ebx
add edi, ecx
lea ecx, [ebp + 1]
cmp ecx, eax
jge 0x45c46f
test esi, esi
je 0x45c451
mov eax, 0x26
jmp 0x45c45d
and dl, 1
neg dl
sbb edx, edx
and edx, 6
mov eax, edx
mov ecx, dword [esp + 0x24]
lea edx, [eax + ebp*2 + 0x1c]
xor eax, eax
mov ax, word [edx + ecx]
add eax, ecx
jmp 0x45c473
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
lea ecx, [esp + 0x38]
push 0
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov dx, bx
neg dx
sbb edx, edx
push ecx
mov ecx, dword [esp + 0x70]
push eax
mov eax, dword [edi + 4]
and edx, edi
push edx
mov edx, dword [esp + 0x74]
push eax
push ecx
push edx
call fcn.0045bc40
mov esi, eax
add esp, 0x24
test esi, esi
je 0x45c4c4
cmp esi, 0xffff8704
jne 0x45bf30
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x70]
test edx, 0x200000
je 0x45c513
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 8]
cmp ecx, eax
je 0x45c513
test dl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c513
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x20]
push ebp
push eax
push str.Page__lu:_item__lu_has_incorrect_record_count_of__lu__should_be__lu
push ecx
call fcn.00415f80
mov edx, dword [esp + 0x88]
add esp, 0x18
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
lea ebp, [eax + 1]
cmp ecx, ebp
je 0x45c548
test dl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c548
mov edx, dword [edi + 4]
dec ecx
push ecx
push eax
mov eax, dword [esp + 0x20]
push edx
push str.Page__lu:_Btree_level_incorrect:_got__lu__expected__lu
push eax
call fcn.00415f80
add esp, 0x14
mov ecx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x7c], ebx
mov ax, word [ecx + 0x18]
cmp bx, ax
jb 0x45c3cb
jmp 0x45bf30
test eax, eax
jne 0x45c678
test esi, esi
jne 0x45c678
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x45c5a2
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x68]
push 0
push edx
push eax
call fcn.00453820
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45c7fc
mov ecx, dword [esp + 0x24]
cmp word [ecx + 0x14], 0
jne 0x45c5e5
mov al, byte [ecx + 0x19]
cmp al, 3
je 0x45c5b8
cmp al, 4
jne 0x45c5e5
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c7fc
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x18]
push ecx
push str.Page__lu:_internal_page_is_empty_and_should_not_be
push ebp
call fcn.00415f80
add esp, 0xc
jmp 0x45c800
test esi, esi
jne 0x45c678
test bl, 2
jne 0x45c678
mov edi, dword [esp + 0x68]
test edi, edi
je 0x45c678
test ecx, ecx
jne 0x45c624
lea edx, [esp + 0x24]
lea eax, [esp + 0x64]
push edx
push ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.00453820
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45c7fc
test ebx, 0x20000
je 0x45c631
mov eax, dword [ebp + 0xc]
jmp 0x45c63a
mov edx, dword [ebp + 0x104]
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x45c643
mov eax, fcn.00457e90
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x64]
push ebx
push eax
mov eax, dword [esp + 0x74]
push eax
push edi
push ecx
push edx
push ebp
call fcn.0045c8b0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x45c678
cmp esi, 0xffff8704
jne 0x45c7fc
mov dword [esp + 0x14], 1
test ebx, 0x200000
je 0x45c6bf
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
cmp esi, eax
je 0x45c6c3
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x45c6c3
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c6c3
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
push eax
push esi
push ecx
push str.Page__lu:_bad_record_count:_has__lu_records__claims__lu
push edx
call fcn.00415f80
add esp, 0x14
jmp 0x45c6c3
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x45c6d1
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45c6db
mov dword [eax], esi
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x54]
mov edi, dword [edx + 0x14]
push eax
push ecx
push edi
call fcn.004583e0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45c7fc
mov eax, dword [esp + 0x54]
test eax, eax
je 0x45c72d
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c745
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x18]
push edx
push str.Page__lu:_linked_twice
push ebp
call fcn.00415f80
add esp, 0xc
jmp 0x45c749
mov eax, dword [esp + 0x64]
push eax
push edi
call fcn.00458470
mov esi, eax
add esp, 8
test esi, esi
jne 0x45c7fc
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x45c821
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x45c7fc
test bl, 0x40
mov dword [esp + 0x14], 1
jne 0x45c7fc
mov ebp, dword [esp + 0x18]
mov edx, ecx
mov eax, dword [edx + 0x24]
push eax
push str.Page__lu:_unterminated_leaf_chain
push ebp
call fcn.00415f80
add esp, 0xc
jmp 0x45c800
mov ebx, dword [esp + 0x70]
mov al, byte [ebp + 0x3c]
mov esi, dword [esp + 0x18]
test al, 0x80
je 0x45c7d6
and ebx, 0x40
jne 0x45c7bd
mov ecx, dword [esp + 0x64]
push 0
push str.btree_or_recno_page
push ecx
push str.Page__lu:__s_is_of_inappropriate_type__lu
push esi
call fcn.00415f80
add esp, 0x14
test ebx, ebx
jne 0x45c7ef
mov edx, dword [esp + 0x64]
push edx
push str.Page__lu:_totally_zeroed_page
push esi
call fcn.00415f80
add esp, 0xc
jmp 0x45c7ef
test bl, 0x40
jne 0x45c7ef
mov eax, dword [esp + 0x64]
push ecx
push eax
push str.Page__lu:_btree_or_recno_page_is_of_inappropriate_type__lu
push esi
call fcn.00415f80
add esp, 0x10
mov eax, dword [esp + 0x60]
mov esi, 0xffff8704
or dword [eax + 0x50], 8
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x45c821
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [eax + 0x28], ecx
mov cl, byte [esp + 0x13]
mov dword [eax + 0x24], edx
mov byte [eax + 0x2c], cl
mov eax, dword [esp + 0x24]
test eax, eax
je 0x45c843
mov edx, dword [esp + 0x34]
push 0
push eax
push edx
call fcn.00453170
add esp, 0xc
test eax, eax
je 0x45c843
test esi, esi
jne 0x45c843
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
push eax
push ecx
push ebp
call fcn.004582b0
add esp, 0xc
test eax, eax
pop ebp
je 0x45c861
test esi, esi
jne 0x45c861
mov esi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x45c87c
push eax
call fcn.004587e0
add esp, 4
test eax, eax
je 0x45c87c
test esi, esi
jne 0x45c88e
mov esi, eax
test esi, esi
jne 0x45c88e
mov eax, dword [esp + 0x10]
cmp eax, 1
mov eax, 0xffff8704
je 0x45c890
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x48
ret