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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30
cmp byte [ebx + 0x42], 1
push esi
push edi
jne 0x100b9793
mov cl, byte [ebx + 0x40]
test cl, 2
je 0x100b9793
cmp byte [ebx + 0x45], 0
je 0x100b9793
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp + 0xc]
cmp eax, edx
mov esi, dword [ebx + 0x14]
jne 0x100b9772
cmp esi, dword [ebp + 0x10]
jne 0x100b9772
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test cl, 8
je 0x100b9793
cmp esi, dword [ebp + 0x10]
jg 0x100b9793
jl 0x100b9782
cmp eax, edx
jae 0x100b9793
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 0xffffffff
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
test esi, esi
je 0x100b97ab
mov eax, esi
call fcn.100c5b20
mov dword [esp + 0x1c], eax
mov byte [esi + 0xb], 0
jmp 0x100b97b3
mov dword [esp + 0x1c], 0
mov esi, ebx
call fcn.100b94d0
test eax, eax
jne 0x100b9ba5
cmp byte [ebx + 0x42], al
jne 0x100b97d6
mov edx, dword [ebp + 0x18]
mov dword [edx], 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 1
sub ecx, dword [ebp + 0x14]
mov dword [esp + 0x2c], ecx
movsx eax, byte [ebx + 0x44]
mov edi, dword [ebx + eax*4 + 0x78]
movzx esi, word [edi + 0x12]
sub esi, 1
mov dword [esp + 0x20], esi
sar esi, cl
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0
mov word [ebx + eax*2 + 0x50], si
jne 0x100b9940
mov eax, dword [edi + 0x40]
movzx ecx, word [edi + 0x14]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x18], eax
mov al, byte [edi + 3]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0x18]
mov dx, word [ecx + esi*2]
mov ah, dl
mov al, dh
movzx eax, ax
and eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
cmp byte [esp + 0xf], 0
je 0x100b9873
cmp byte [eax], 0x80
jb 0x100b9870
mov edi, dword [edi + 0x3c]
jmp 0x100b9860
add eax, 1
cmp eax, edi
jae 0x100b9ab6
cmp byte [eax], 0x80
jae 0x100b9860
add eax, 1
lea edi, [esp + 0x30]
call fcn.100a77b0
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x10]
cmp eax, edx
mov ecx, dword [esp + 0x30]
jg 0x100b98e0
jl 0x100b9892
cmp ecx, dword [ebp + 0xc]
jae 0x100b98d5
lea eax, [esi + 1]
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jle 0x100b98f1
mov dword [esp + 0x18], 0xffffffff
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp byte [edi + 4], 0
jne 0x100b9b53
movzx eax, word [edi + 0x12]
cmp ecx, eax
jl 0x100b9a73
movzx edx, byte [edi + 5]
mov eax, dword [edi + 0x38]
mov eax, dword [edx + eax + 8]
jmp 0x100b9a8d
cmp eax, edx
jl 0x100b990d
jg 0x100b98e0
cmp ecx, dword [ebp + 0xc]
jbe 0x100b990d
lea eax, [esi - 1]
cmp dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
jg 0x100b9903
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
lea esi, [ecx + eax]
sar esi, 1
jmp 0x100b9830
mov dword [esp + 0x18], 1
jmp 0x100b98a7
movsx edx, byte [ebx + 0x44]
or byte [ebx + 0x40], 2
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], ecx
mov word [ebx + edx*2 + 0x50], si
cmp byte [eax + 4], 0
jne 0x100b9adf
mov dword [esp + 0x14], esi
mov edi, eax
mov ecx, esi
jmp 0x100b98b9
mov ecx, dword [edi + 0x40]
mov dx, word [ecx + esi*2]
movzx ecx, word [edi + 0x14]
mov ah, dl
mov al, dh
movzx edx, byte [edi + 7]
movzx eax, ax
and eax, ecx
add eax, dword [edi + 0x44]
movzx ecx, byte [eax]
cmp ecx, edx
jg 0x100b997a
push dword [ebp + 8]
add eax, 1
push eax
push ecx
call dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100b9a3b
mov dl, byte [eax + 1]
test dl, dl
js 0x100b99b1
and ecx, 0x7f
movzx edx, dl
shl ecx, 7
add ecx, edx
mov edx, dword [esp + 0x10]
movzx edi, word [edx + 0xa]
cmp ecx, edi
jg 0x100b99b5
mov edx, dword [ebp + 8]
push edx
add eax, 2
push eax
push ecx
call dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100b9a37
mov edx, dword [esp + 0x10]
movzx ecx, byte [edx + 6]
lea edi, [ebx + 0x10]
push edi
sub eax, ecx
push eax
push edx
mov edx, dword [edx + 0x50]
call edx
mov edi, dword [edi]
add esp, 0xc
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x100b9afa
lea eax, [edi + 0x12]
cdq
push edx
push eax
call fcn.100a3d30
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
je 0x100b9b1d
movsx ecx, byte [ebx + 0x44]
push 2
push eax
push edi
push 0
mov edi, ebx
mov word [ebx + ecx*2 + 0x50], si
call fcn.100b90d0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100b9b34
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push edx
push edi
push eax
call dword [esp + 0x28]
add esp, 0xc
push edi
mov dword [esp + 0x1c], eax
call fcn.100a4030
add esp, 4
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x100b9a4c
lea ecx, [esi + 1]
mov dword [esp + 0x14], ecx
jmp 0x100b9a59
jle 0x100b9b77
lea edx, [esi - 1]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jg 0x100b98af
lea esi, [eax + ecx]
sar esi, 1
jmp 0x100b9940
mov edx, dword [edi + 0x40]
mov ax, word [edx + ecx*2]
mov dh, al
mov dl, ah
movzx eax, dx
movzx edx, word [edi + 0x14]
and eax, edx
mov edx, dword [edi + 0x38]
mov eax, dword [eax + edx]
movsx edx, byte [ebx + 0x44]
bswap eax
push eax
mov eax, ebx
mov word [ebx + edx*2 + 0x50], cx
call fcn.100b9450
mov edi, eax
add esp, 4
test edi, edi
jne 0x100b9b99
mov ecx, dword [esp + 0x2c]
jmp 0x100b97e2
push 0x10160fd8
push 0xf59a
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100a5f10
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
xor edi, edi
mov dword [eax], 0
and byte [ebx + 0x40], 0xf9
mov word [ebx + 0x22], di
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x10160fd8
push 0xf5e3
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.100a5f10
add esp, 0x14
jmp 0x100b9b94
and byte [ebx + 0x40], 0xf9
mov edi, 7
mov word [ebx + 0x22], 0
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
call fcn.100a4030
add esp, 4
and byte [ebx + 0x40], 0xf9
mov word [ebx + 0x22], 0
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsx edx, byte [ebx + 0x44]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
mov word [ebx + edx*2 + 0x50], si
xor edi, edi
mov dword [eax], ecx
and byte [ebx + 0x40], 0xf9
mov word [ebx + 0x22], di
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [edx], 0
movsx eax, byte [ebx + 0x44]
xor edi, edi
mov word [ebx + eax*2 + 0x50], si
cmp byte [ecx + 0xb], 0
je 0x100b9b99
mov edi, 0xb
and byte [ebx + 0x40], 0xf9
mov word [ebx + 0x22], 0
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret