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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
push esi
mov esi, edx
push edi
mov edi, ecx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x18], eax
cmp ebx, 2
jae 0x100f8649
push 0x10279dac
push 0x10e5a
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x100f865c
mov eax, dword [esi + 0x48]
inc word [eax + 0x1e]
mov eax, dword [eax + 0xc]
inc dword [eax + 0xc]
jmp 0x100f8665
mov edx, ebx
call fcn.100f3d30
mov esi, eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], esi
mov ecx, dword [ecx + 0x48]
test byte [ecx + 0x1c], 4
mov edx, dword [ecx + 0x14]
je 0x100f8698
mov eax, dword [edx + 0x18]
cmp eax, dword [ecx + 0x18]
jb 0x100f8698
cmp dword [edx + 0x60], 0
je 0x100f868e
call fcn.100ecf70
jmp 0x100f86b9
mov dword [esp + 0x14], 0
jmp 0x100f86ca
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x100f86bb
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
jbe 0x100f86b4
call fcn.100ee7d0
jmp 0x100f86b9
call fcn.100ee5b0
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x100f88f8
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + 0x24]
bswap eax
mov dword [esp + 0x24], eax
inc eax
bswap eax
mov dword [ecx + 0x24], eax
test byte [edi + 0x18], 4
je 0x100f8732
test esi, esi
jne 0x100f870a
lea eax, [esp + 0x10]
mov edx, ebx
push esi
push eax
mov ecx, edi
call fcn.100f3cc0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f8947
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x48]
call fcn.100eea50
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x100f88f8
mov eax, dword [esi + 0x34]
push dword [eax + 0x24]
push ebx
push dword [esi + 0x38]
call fcn.101ee530
add esp, 0xc
cmp byte [edi + 0x11], 0
je 0x100f875a
mov edx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
push 0
push 2
mov ecx, edi
call fcn.100f2920
mov ebx, dword [esp + 0x20]
add esp, 0xc
test ebx, ebx
jne 0x100f88f8
cmp dword [esp + 0x24], 0
je 0x100f88a5
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x20]
bswap eax
mov edx, eax
mov dword [esp + 0x28], eax
call fcn.100f3cc0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f88f8
mov ecx, dword [esp + 0x1c]
mov ebx, dword [edi + 0x28]
shr ebx, 2
mov eax, dword [ecx + 0x38]
mov edx, dword [eax + 4]
lea eax, [ebx - 2]
bswap edx
mov dword [esp + 0x24], edx
cmp edx, eax
jbe 0x100f87d7
push 0x10279dac
push 0x10e8f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
add esp, 0x14
mov ebx, 0xb
jmp 0x100f88f8
lea eax, [ebx - 8]
cmp edx, eax
jae 0x100f88a5
mov ecx, dword [ecx + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f88f8
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov eax, dword [edx + 0x38]
lea ecx, [ebx + 1]
bswap ecx
mov dword [eax + 4], ecx
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp + 8]
bswap ecx
mov dword [eax + ebx*4 + 8], ecx
test esi, esi
je 0x100f8843
test byte [edi + 0x18], 4
jne 0x100f8843
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x14]
cmp byte [edx + 0xc], 0
jne 0x100f8843
movzx eax, word [ecx + 0x1c]
test al, 2
je 0x100f8843
cmp dword [edx + 0x60], 0
jne 0x100f8843
and eax, 0xfffb
or eax, 0x10
mov word [ecx + 0x1c], ax
mov eax, dword [edi + 0x40]
xor ebx, ebx
test eax, eax
jne 0x100f8891
mov eax, dword [edi + 0x30]
push ebx
push 0x200
mov dword [esp + 0x28], eax
call fcn.100dfb50
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x100f8885
push 0x1fc
lea ecx, [eax + 4]
push ebx
push ecx
call fcn.101ee530
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [edi + 0x40], eax
test eax, eax
jne 0x100f8891
lea ebx, [eax + 7]
jmp 0x100f88f8
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax]
ja 0x100f88f8
mov edx, ecx
mov ecx, eax
call fcn.100e84d0
mov ebx, eax
jmp 0x100f88f8
test esi, esi
jne 0x100f88ca
mov edx, dword [ebp + 8]
lea eax, [esp + 0x10]
push esi
push eax
mov ecx, edi
call fcn.100f3cc0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f8947
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f88f8
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x20]
bswap ecx
mov dword [eax], ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp + 8]
bswap ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov dword [eax + 0x20], ecx
test esi, esi
je 0x100f8954
mov byte [esi], 0
mov edx, dword [esi + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f894d
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.101d5d50
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
add esp, 0x10
jmp 0x100f8954
mov esi, dword [esp + 0x10]
jmp 0x100f88f8
mov ecx, edx
call fcn.100e8b70
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100f89b2
mov edx, dword [eax + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f89ab
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.101d5d50
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edx
call fcn.100e8b70
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret