Function at 0x79c250
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x6c], ebx
test edx, edx
jne 0x79c293
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, eax
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x20], ecx
mov edi, edx
mov esi, dword [ebp]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x10], eax
mov eax, ebp
call fcn.0079bef0
mov dword [esp + 8], eax
test eax, eax
jne 0x79c27c
sub esp, 0xc
mov dword [ebp + 0x1c], str.Page__d:
mov edx, edi
mov eax, esi
mov dword [ebp + 0x20], edi
push 0
lea ecx, [esp + 0x84]
call fcn.00761a10
add esp, 0x10
test eax, eax
jne 0x79c5d0
mov eax, dword [esp + 0x74]
movzx ecx, byte [eax]
mov byte [eax], 0
mov byte [esp + 0x4b], cl
call fcn.00788560
mov dword [esp + 8], eax
test eax, eax
jne 0x79c610
mov eax, dword [esp + 0x74]
call fcn.00788ff0
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x79c960
mov ecx, dword [esp + 0x74]
mov ebx, dword [ecx + 0x38]
movzx edi, byte [ecx + 9]
mov dword [ebp + 0x1c], str.On_tree_page__d_cell__d:
movzx eax, byte [ebx + edi + 5]
movzx edx, byte [ebx + edi + 6]
mov dword [esp + 0x58], edi
movzx esi, byte [ebx + edi + 3]
mov dword [esp + 0x34], ebx
shl eax, 8
or eax, edx
shl esi, 8
sub eax, 1
movzx eax, ax
mov dword [esp + 0x5c], eax
add eax, 1
mov dword [esp + 8], eax
movzx eax, byte [ebx + edi + 4]
or esi, eax
movzx eax, byte [ecx + 8]
mov ecx, edi
lea edi, [edi + 0xc]
mov edx, eax
shl eax, 2
sub edi, eax
lea eax, [esi - 1]
mov dword [esp + 0x4c], eax
add eax, eax
mov dword [esp + 0x60], eax
add eax, edi
mov dword [esp + 0x64], edi
mov ebx, eax
test dl, dl
je 0x79c633
mov edi, dword [ebp + 0x40]
mov dword [esp + 0x40], 1
mov dword [esp + 0x30], 0xffffffff
mov dword [edi], 0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 0x10]
cmp ecx, 0xffffffff
je 0x79c9e0
test edx, edx
je 0x79ca0f
mov eax, dword [esp + 0x10]
add esi, esi
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], edi
sub eax, 4
mov dword [esp + 0x24], eax
mov eax, ebx
sub eax, esi
add eax, dword [esp + 0x34]
mov esi, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x24], esi
movzx ebx, word [eax + esi*2 + 2]
rol bx, 8
movzx ebx, bx
cmp dword [esp + 8], ebx
ja 0x79c680
cmp ebx, dword [esp + 0x24]
ja 0x79c680
mov eax, dword [esp + 0x34]
sub esp, 4
add eax, ebx
mov dword [esp + 0x40], eax
mov ecx, eax
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x7c]
push edx
push ecx
push eax
call dword [eax + 0x50]
movzx eax, word [esp + 0x9a]
add esp, 0x10
add eax, ebx
cmp eax, dword [esp + 0x10]
ja 0x79c901
mov eax, dword [esp + 0x74]
cmp byte [eax + 2], 0
je 0x79c4b3
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
mov edi, eax
mov eax, dword [esp + 0x78]
je 0x79c8f0
cmp edi, eax
sbb ecx, edx
jge 0x79c4a3
push edx
push eax
push str.Rowid__lld_out_of_order
push ebp
call fcn.0079be70
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
add esp, 0x10
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x84]
movzx edx, word [esp + 0x88]
cmp eax, edx
jbe 0x79c511
mov ecx, dword [esp + 0x10]
sub eax, edx
xor edx, edx
lea eax, [eax + ecx - 5]
mov ecx, dword [esp + 0x3c]
div dword [esp + 0x24]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x8a]
mov eax, dword [ecx + eax - 4]
bswap eax
mov edi, eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x11], 0
jne 0x79c940
sub esp, 0xc
mov ecx, edi
xor edx, edx
mov eax, ebp
push dword [esp + 0x60]
call fcn.0079c020
add esp, 0x10
mov eax, dword [esp + 0x74]
cmp byte [eax + 8], 0
jne 0x79c6b0
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x11], 0
bswap ebx
jne 0x79c920
sub esp, 8
mov edx, ebx
mov eax, ebp
push dword [esp + 0x74]
push dword [esp + 0x74]
lea ecx, [esp + 0x78]
call fcn.0079c250
add esp, 0x10
mov ebx, eax
mov dword [esp + 0x40], 0
cmp eax, dword [esp + 0x30]
je 0x79c571
sub esp, 8
push str.Child_page_depth_differs
push ebp
call fcn.0079be70
add esp, 0x10
mov dword [esp + 0x30], ebx
sub esi, 1
cmp esi, 0xffffffff
je 0x79c6d3
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jne 0x79c3fd
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [edi], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 4], edx
add eax, 1
mov dword [ebp + 0x1c], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x79c8e0
mov ecx, dword [esp + 0x74]
movzx eax, byte [esp + 0x4b]
mov byte [ecx], al
mov eax, dword [ecx + 0x48]
call fcn.00761530
jmp 0x79c5ea
sub esp, 4
push eax
push str.unable_to_get_the_page._error_code_d
push ebp
call fcn.0079be70
add esp, 0x10
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x79c5c6
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 8]
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 4
push dword [esp + 0xc]
push str.btreeInitPage___returns_error_code__d
push ebp
call fcn.0079be70
add esp, 0x10
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], 0
jmp 0x79c5e6
mov eax, dword [esp + 0x34]
mov eax, dword [eax + ecx + 8]
bswap eax
mov edi, eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x11], 0
jne 0x79c980
sub esp, 8
mov edx, edi
mov eax, ebp
xor edi, edi
push dword [esp + 0x74]
push dword [esp + 0x74]
lea ecx, [esp + 0x78]
call fcn.0079c250
mov dword [esp + 0x40], eax
add esp, 0x10
mov dword [esp + 0x40], 0
jmp 0x79c3be
sub esp, 0xc
push dword [esp + 0x30]
push dword [esp + 0x18]
push ebx
push str.Offset__d_out_of_range__d.._d
push ebp
call fcn.0079be70
add esp, 0x20
mov dword [esp + 0x44], 0
jmp 0x79c575
movzx eax, word [esp + 0x8a]
lea edx, [ebx + eax - 1]
shl ebx, 0x10
mov eax, dword [esp + 0x50]
or edx, ebx
call fcn.00761c40
mov ebx, dword [esp + 0x30]
jmp 0x79c571
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x44]
add eax, 1
mov dword [ebp + 0x1c], 0
mov dword [esp + 8], eax
test ecx, ecx
je 0x79c5bb
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x74]
mov ecx, eax
test edx, edx
jle 0x79c5e6
cmp byte [eax + 8], 0
jne 0x79c790
mov edi, dword [ebp + 0x40]
cmp dword [esp + 0x4c], 0xffffffff
mov dword [edi], 0
je 0x79c790
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x20], ebp
lea esi, [edx + ecx + 2]
mov edx, dword [esp + 0x34]
add ecx, edx
add esi, edx
mov ebp, edx
mov dword [esp + 0xc], ecx
jmp 0x79c754
mov eax, dword [esp + 0x74]
movzx ebx, byte [esi - 2]
movzx edx, byte [esi - 1]
sub esp, 8
sub esi, 2
shl ebx, 8
or ebx, edx
lea edx, [ebp + ebx]
push edx
push eax
call dword [eax + 0x4c]
movzx eax, ax
lea edx, [ebx + eax - 1]
shl ebx, 0x10
mov eax, edi
or edx, ebx
call fcn.00761c40
add esp, 0x10
cmp dword [esp + 0xc], esi
jne 0x79c750
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
movzx ebx, byte [eax + ecx + 1]
movzx eax, byte [eax + ecx + 2]
shl ebx, 8
or ebx, eax
je 0x79c7e1
lea esi, [esi]
movzx eax, byte [esi + ebx + 2]
movzx edx, byte [esi + ebx + 3]
shl eax, 8
or eax, edx
lea edx, [ebx + eax - 1]
mov eax, ebx
shl eax, 0x10
or edx, eax
mov eax, edi
call fcn.00761c40
movzx eax, byte [esi + ebx]
movzx ebx, byte [esi + ebx + 1]
shl eax, 8
or ebx, eax
jne 0x79c7b0
mov eax, dword [esp + 0x5c]
mov edx, dword [edi]
mov dword [esp + 0x20], eax
test edx, edx
je 0x79ca08
mov dword [esp + 0x30], ebp
lea esi, [esi]
nop
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
lea eax, [edi + edx*4]
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], 0xffffffff
mov eax, dword [edi]
sub eax, 1
mov dword [edi], eax
cmp eax, 1
jbe 0x79c868
mov eax, dword [edi + 4]
mov ebx, 2
mov esi, 1
mov dword [esp + 0xc], eax
jmp 0x79c841
mov dword [ebx], edx
lea ebx, [eax + eax]
mov dword [ecx], esi
mov esi, eax
cmp ebx, dword [edi]
ja 0x79c868
lea eax, [ebx + 1]
lea ebp, [eax*4]
lea ecx, [edi + ebp]
mov edx, dword [ecx]
cmp dword [edi + esi*8], edx
ja 0x79c85d
lea ecx, [edi + ebp - 4]
mov eax, ebx
mov edx, dword [ecx]
lea ebx, [edi + esi*4]
mov esi, dword [esp + 0xc]
cmp esi, edx
jae 0x79c834
mov eax, dword [esp + 0x24]
movzx ebx, word [esp + 0x20]
shr eax, 0x10
cmp ebx, eax
jae 0x79c9a4
mov ecx, dword [esp + 0x2c]
mov edx, dword [edi]
lea eax, [eax + ecx - 1]
mov ecx, dword [esp + 0x24]
sub eax, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
test edx, edx
jne 0x79c800
movzx edi, word [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x10]
lea eax, [eax + edi - 1]
sub eax, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
movzx edx, byte [edi + ecx + 7]
cmp edx, eax
je 0x79c8e0
sub esp, 0xc
push dword [esp + 0x34]
push edx
push eax
push str.Fragmentation_of__d_bytes_reported_as__d_on_page__d
push ebp
call fcn.0079be70
add esp, 0x20
lea esi, [esi]
mov ecx, dword [esp + 0x74]
jmp 0x79c5e6
cmp eax, edi
mov edi, edx
sbb edi, ecx
jl 0x79c4a3
jmp 0x79c485
sub esp, 8
push str.Extends_off_end_of_page
push ebp
call fcn.0079be70
add esp, 0x10
jmp 0x79c69a
sub esp, 0xc
mov ecx, 5
mov edx, ebx
mov eax, ebp
push dword [esp + 0x34]
call fcn.0079bf90
add esp, 0x10
jmp 0x79c535
sub esp, 0xc
mov ecx, 3
mov edx, edi
mov eax, ebp
push dword [esp + 0x34]
call fcn.0079bf90
add esp, 0x10
jmp 0x79c4fc
sub esp, 4
push dword [esp + 0x30]
push str.free_space_corruption
push ebp
call fcn.0079be70
add esp, 0x10
mov ecx, dword [esp + 0x74]
jmp 0x79c5e6
sub esp, 0xc
mov dword [ebp + 0x1c], str.On_page__d_at_right_child:
mov edx, edi
mov eax, ebp
push dword [esp + 0x34]
mov ecx, 5
call fcn.0079bf90
add esp, 0x10
jmp 0x79c64d
mov ebp, dword [esp + 0x30]
push dword [esp + 0x28]
push eax
push str.Multiple_uses_for_byte__u_of_page__d
push ebp
call fcn.0079be70
mov edx, dword [edi]
add esp, 0x10
test edx, edx
jne 0x79c8e0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
lea eax, [eax + edi - 1]
sub eax, ebx
jmp 0x79c8b5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x1c], 0
add eax, 1
mov dword [esp + 8], eax
jmp 0x79c709
xor eax, eax
jmp 0x79c8a9
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
mov dword [edi], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 4], edx
add eax, 1
mov dword [ebp + 0x1c], 0
mov dword [esp + 8], eax
jmp 0x79c5e6