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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ecx + 0xc]
xor ebx, ebx
push edi
mov edi, dword [ecx + 0x30]
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], esi
mov eax, dword [eax + 0x24]
bswap eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], eax
cmp eax, edi
jb 0x100f7d70
push 0x10279dac
push 0x10d24
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
add esp, 0x14
lea eax, [ebx + 0xb]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x100f843f
mov eax, dword [ebp + 0xc]
xor dl, dl
cmp byte [ebp + 0x10], 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x3c], ebx
jne 0x100f7db7
cmp eax, edi
ja 0x100f7dca
lea edx, [esp + 0xf]
push 0
push edx
mov edx, eax
call fcn.100f2a60
add esp, 8
test eax, eax
jne 0x100f85e4
cmp byte [esp + 0xf], 2
jne 0x100f7dca
mov al, 1
mov dword [esp + 0x18], eax
jmp 0x100f7dca
cmp byte [ebp + 0x10], 2
mov eax, 1
movzx edx, dl
cmove edx, eax
mov dword [esp + 0x18], edx
mov ecx, dword [esi + 0x48]
call fcn.100eea50
test eax, eax
jne 0x100f85e4
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0x38]
lea ecx, [edx - 1]
bswap ecx
mov dword [eax + 0x24], ecx
nop dword [eax]
mov edi, ebx
mov dword [esp + 0x14], edi
test edi, edi
je 0x100f7e01
mov eax, dword [ebx + 0x38]
mov esi, dword [eax]
jmp 0x100f7e07
mov eax, dword [esi + 0x38]
mov esi, dword [eax + 0x20]
bswap esi
cmp esi, dword [esp + 0x38]
ja 0x100f83b5
mov ecx, dword [esp + 0x3c]
mov eax, ecx
inc ecx
mov dword [esp + 0x3c], ecx
cmp eax, edx
ja 0x100f83b5
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x10]
push 0
push eax
mov edx, esi
call fcn.100f3f60
mov ebx, eax
add esp, 8
mov dword [esp + 0x44], ebx
test ebx, ebx
jne 0x100f83d8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x1c], edi
mov edi, dword [edi + 4]
bswap edi
test edi, edi
jne 0x100f7ea0
test cl, cl
jne 0x100f7ea0
mov ecx, dword [eax + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f832c
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov dword [eax], esi
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + 0x38]
mov dword [edi], esi
mov eax, dword [esi + 0x38]
xor esi, esi
mov dword [esp + 0x10], esi
mov eax, dword [eax]
mov dword [ecx + 0x20], eax
jmp 0x100f823b
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x28]
shr eax, 2
sub eax, 2
cmp edi, eax
ja 0x100f8397
mov edx, dword [ebp + 0xc]
test cl, cl
je 0x100f8065
cmp edx, esi
je 0x100f7ed5
mov al, byte [ebp + 0x10]
jbe 0x100f8068
cmp al, 2
jne 0x100f8068
mov eax, dword [ebp + 8]
mov byte [esp + 0x18], 0
mov dword [eax], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x48]
mov dword [eax], esi
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f8330
test edi, edi
jne 0x100f7f44
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x100f7f1f
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x10], edi
mov ecx, dword [ecx + 0x38]
mov eax, dword [eax]
mov dword [ecx + 0x20], eax
jmp 0x100f823b
mov ecx, dword [edi + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f8334
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x10], ebx
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x100f823b
mov eax, dword [esi + 0x38]
mov esi, dword [eax + 8]
bswap esi
mov dword [esp + 0x34], esi
cmp esi, dword [esp + 0x38]
ja 0x100f8309
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x30]
push 0
push eax
mov edx, esi
call fcn.100f3f60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f832c
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f82b4
mov eax, dword [esp + 0x10]
lea edx, [edi - 1]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x30]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + 0x38]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, edx
mov eax, dword [edi + 0x38]
bswap ecx
mov dword [eax + 4], ecx
lea eax, [edx*4]
push eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
add eax, 0xc
push eax
mov eax, dword [edi + 0x38]
add eax, 8
push eax
call fcn.101ec960
mov edx, dword [edi + 0x48]
add esp, 0xc
test byte [edx + 0x1c], 0x20
je 0x100f801f
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 ebx
push ecx
call fcn.101d5d50
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov esi, dword [esp + 0x44]
add esp, 0x10
jmp 0x100f8026
mov ecx, edx
call fcn.100e8b70
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x100f8043
mov ecx, dword [esp + 0x2c]
bswap esi
mov dword [esp + 0x10], edi
mov eax, dword [ecx + 0x38]
mov dword [eax + 0x20], esi
jmp 0x100f823b
mov ecx, dword [edi + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f83a6
mov eax, dword [edi + 0x38]
bswap esi
mov dword [esp + 0x10], ebx
mov dword [eax], esi
jmp 0x100f823b
mov al, byte [ebp + 0x10]
test edi, edi
je 0x100f823b
xor esi, esi
mov dword [esp + 0x28], esi
test edx, edx
je 0x100f8118
cmp al, 2
jne 0x100f80aa
xor ecx, ecx
test edi, edi
je 0x100f8114
mov edx, dword [esp + 0x1c]
add edx, 8
mov eax, dword [edx]
bswap eax
cmp eax, dword [ebp + 0xc]
jbe 0x100f80a6
inc ecx
add edx, 4
cmp ecx, edi
jb 0x100f8093
jmp 0x100f8111
mov esi, ecx
jmp 0x100f810d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
bswap ecx
sub ecx, edx
call fcn.100e44d0
mov edx, 1
mov dword [esp + 0x34], eax
cmp edi, edx
jbe 0x100f8111
mov ebx, dword [esp + 0x1c]
nop dword [eax + eax]
mov ecx, dword [ebx + edx*4 + 8]
bswap ecx
sub ecx, dword [ebp + 0xc]
jns 0x100f80ec
cmp ecx, 0x80000000
jne 0x100f80ea
mov ecx, bind
jmp 0x100f80ec
neg ecx
cmp ecx, dword [esp + 0x34]
mov eax, edx
cmovge eax, esi
inc edx
cmp ecx, dword [esp + 0x34]
mov esi, eax
cmovge ecx, dword [esp + 0x34]
mov dword [esp + 0x34], ecx
cmp edx, edi
jb 0x100f80d0
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x28], esi
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
lea eax, [eax + esi*4]
add eax, 8
mov dword [esp + 0x44], eax
mov eax, dword [eax]
bswap eax
cmp eax, dword [esp + 0x38]
ja 0x100f8388
test cl, cl
je 0x100f814c
cmp eax, edx
je 0x100f814c
jae 0x100f823b
cmp byte [ebp + 0x10], 2
jne 0x100f823b
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov dword [ecx], eax
mov ecx, dword [esi + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
jne 0x100f8330
lea ecx, [edi - 1]
cmp dword [esp + 0x28], ecx
jae 0x100f817e
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + edi*4 + 4]
mov dword [edx], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
bswap ecx
mov dword [eax + 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x40]
mov esi, dword [eax]
test ecx, ecx
je 0x100f81aa
cmp esi, dword [ecx]
ja 0x100f81a6
mov edx, esi
call fcn.100e8410
test eax, eax
je 0x100f81aa
xor eax, eax
jmp 0x100f81af
mov eax, 1
mov edi, dword [esp + 0x24]
mov edx, esi
push eax
push edi
mov ecx, ebx
call fcn.100f3f60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f8236
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
je 0x100f8236
mov edx, dword [edi]
test edx, edx
je 0x100f8230
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f8229
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
mov edi, dword [esp + 0x34]
add esp, 0x10
jmp 0x100f8230
mov ecx, edx
call fcn.100e8b70
mov dword [edi], 0
mov byte [esp + 0x18], 0
mov edx, dword [esp + 0x14]
test edx, edx
je 0x100f8292
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f828b
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 0x100f8292
mov ecx, edx
call fcn.100e8b70
xor edi, edi
cmp byte [esp + 0x18], 0
mov dword [esp + 0x14], edi
je 0x100f83a6
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
jmp 0x100f7df0
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f8300
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 0x100f832c
mov ecx, edx
call fcn.100e8b70
jmp 0x100f832c
push 0x10279dac
push 0x10d9b
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
mov ebx, 0xb
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x100f83d8
mov edx, dword [esi + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f83ac
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
mov edi, dword [esp + 0x24]
add esp, 0x10
jmp 0x100f83d8
push 0x10279dac
push 0x10ddc
jmp 0x100f8313
push 0x10279dac
push 0x10d79
jmp 0x100f8313
mov esi, dword [esp + 0x10]
jmp 0x100f8334
mov ecx, edx
call fcn.100e8b70
jmp 0x100f83d8
push 0x10279dac
push 0x10d5c
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100e2740
add esp, 0x14
mov ebx, 0xb
test edi, edi
je 0x100f85e2
mov edx, dword [edi + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f842f
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
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, ecx
xor eax, eax
mov ecx, dword [esi + 0x48]
cmp byte [ebx + 0x13], al
sete al
mov dword [esp + 0x3c], eax
call fcn.100eea50
test eax, eax
jne 0x100f85e4
mov eax, dword [0x1029d2a4]
xor edx, edx
div dword [ebx + 0x24]
inc dword [ebx + 0x30]
mov esi, dword [ebx + 0x30]
inc eax
cmp esi, eax
jne 0x100f8476
inc esi
mov dword [ebx + 0x30], esi
cmp byte [ebx + 0x11], 0
mov edi, esi
je 0x100f853c
mov edx, esi
mov ecx, ebx
call fcn.100f28e0
cmp eax, esi
jne 0x100f853c
push dword [esp + 0x3c]
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0
push eax
mov edx, esi
mov ecx, ebx
call fcn.100f3f60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f85e2
mov esi, dword [esp + 0x40]
mov ecx, dword [esi + 0x48]
call fcn.100eea50
mov edx, dword [esi + 0x48]
mov ebx, eax
test byte [edx + 0x1c], 0x20
je 0x100f8510
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 0x100f8517
mov ecx, edx
call fcn.100e8b70
test ebx, ebx
jne 0x100f85e2
mov ebx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [0x1029d2a4]
div dword [ebx + 0x24]
inc dword [ebx + 0x30]
mov edi, dword [ebx + 0x30]
inc eax
cmp edi, eax
jne 0x100f853c
inc edi
mov dword [ebx + 0x30], edi
mov eax, dword [ebx + 0xc]
mov ecx, ebx
push dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
bswap edi
mov eax, dword [eax + 0x38]
push esi
mov dword [eax + 0x1c], edi
mov eax, dword [ebp + 8]
mov edx, dword [ebx + 0x30]
mov dword [eax], edx
call fcn.100f3f60
add esp, 8
test eax, eax
jne 0x100f85e4
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x48]
call fcn.100eea50
mov ebx, eax
test ebx, ebx
je 0x100f85e2
mov edx, dword [esi]
test edx, edx
je 0x100f85dc
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100f85d5
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
mov esi, dword [esp + 0x34]
add esp, 0x10
mov eax, ebx
mov dword [esi], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edx
call fcn.100e8b70
mov dword [esi], 0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret